Comment puis-je supprimer/compter les objets dans un compartiment s3?
Donc je sais que c'est une question commune mais il ne semble pas être la ou les bonnes réponses.
J'ai un seau avec des masses (je n'ai aucune idée de combien) nombre de fichiers en eux. Ils sont tous à moins de 2k un morceau.
1) Comment puis-je savoir combien de ces fichiers que j'ai SANS inscription?
J'ai utilisé le s3cmd.rb, aws/s3, et jets3t trucs et le mieux que je puisse trouver est une commande de compter les 1000 premiers enregistrements (très performant OBTIENT sur eux).
J'ai été en utilisant jets3t de l'applet ainsi parce que c'est vraiment agréable de travailler avec, mais même que je ne peux pas la liste de tous mes objets de cause je n'ai plus de mémoire dans l'espace. (sans doute parce qu'il est en présenteront les pièces OBTIENT sur chacun d'eux et les garder en mémoire)
2) Comment puis-je supprimer un seau?
La meilleure chose que j'ai vu, c'est un paralleized supprimer boucle et qui a des problèmes de provoquer parfois, il essaie de supprimer le fichier de même. C'est ce que tous les "deleteall" les commandes que j'ai couru à travers le faire.
Que pensez-vous des mecs qui n'ont vanté l'hébergement des millions d'images/txts?? Ce qui se passe quand vous voulez l'enlever?
3) Enfin, il y t-il d'autres réponses à cette question? L'ensemble de ces fichiers txt/xml fichiers donc je ne suis même pas sûr S3 est une telle préoccupation, peut-être que je devrais aller à une base de données de documents de toutes sortes??
Ce qui se résume, c'est que amazon S3 API est juste tout droit sorti manquant 2 très importante des opérations, le COMTE et DEL_BUCKET. (en fait, il y a une suppression seau de commande, mais il ne fonctionne que lorsque le seau est vide), Si quelqu'un arrive avec une méthode qui ne suce pas à faire ces deux opérations, je serais heureux de donner beaucoup de générosité.
Mise à JOUR
Juste pour répondre à quelques questions. La raison pour laquelle je demande c'est que j'ai été pour la dernière année ou ainsi de stocker des centaines de milliers, de plus en plus comme des millions de 2k txt et xml documents. La dernière fois, il y a quelques mois, j'ai voulu supprimer le seau il a littéralement pris JOURS pour le faire parce que le seau doit être vide avant de pouvoir le supprimer. C'était une douleur dans le cul, je suis craignant jamais avoir à le faire de nouveau, sans prise en charge des API pour elle.
Mise à JOUR
cette roches de la maison!
http://github.com/SFEley/s3nuke/
I rm avais un bon couple concerts valeur de 1-2k fichiers en quelques minutes.
OriginalL'auteur eyberg | 2009-03-31
Vous devez vous connecter pour publier un commentaire.
Je suis certainement pas un de ces gars qui n'ont vanté l'hébergement des millions d'images/txts', que je n'ai que quelques milliers, et cela peut ne pas être la réponse que vous cherchez, mais j'ai regardé ce dos pendant une.
De ce que je me souviens, il y a une commande de l'API appelée TÊTE qui obtient des informations sur un objet plutôt que de récupérer l'objet, qui est de ce qui n', ce qui peut aider à compter les objets.
Aussi loin que la suppression des Seaux, à l'époque, j'étais à la recherche, l'API clairement déclaré que le seau devait être vide, de sorte que vous devez supprimer tous les objets de première.
Mais, je n'ai jamais utilisé un de ces commandes, parce que j'ai été en utilisant S3 comme une sauvegarde et à la fin j'ai écrit quelques routines téléchargé les fichiers que je voulais S3 (de sorte que la pièce a été automatisé), mais jamais pris la peine avec la restaurer/supprimer/gestion de fichiers côté de l'équation. Pour que l'utilisation du Seau de l'Explorateur qui n'a tous j'ai besoin. Dans mon cas, c'était pas la peine de dépenser du temps où pour 50 $je peux obtenir un programme qui fait tout ce que je besoin. Il y a probablement d'autres qui font de même (par exemple, la Chicouté)
Dans votre cas, avec Seau Explorer, vous pouvez faire un clic droit sur un seau et sélectionnez supprimer ou faites un clic droit et sélectionnez propriétés, et il va compter le nombre d'objets et la taille. Il n'est certainement pas de télécharger l'ensemble de l'objet. (Par exemple, le dernier seau j'ai regardé c'était de 12 go et autour de 500 fichiers et il faudrait des heures pour télécharger 12 GO tandis que la taille et le nombre est retourné dans une seconde ou deux). Et si il y a une limite, alors il n'est certainement pas 1000.
Espère que cette aide.
OriginalL'auteur sgmoore
"Liste" de ne pas récupérer les données. J'utilise s3cmd (un script python) et j'aurais fait quelque chose comme ceci:
Mais d'abord vérifier combien de bucketfiles_ les fichiers que vous obtenez. Il y aura un s3cmd cours d'exécution par fichier.
Il va prendre un certain temps, mais pas de jours.
s3cmd del
s3cmd ls s3://Mybigbucket/somepattern | awk '{print $4}'
. Ouais c'est douloureuxOriginalL'auteur Thomas
1) Concernant votre première question, vous pouvez lister les éléments sur un seau sans réellement à les retrouver. Vous pouvez faire les deux avec la SAVON et la RESTE API. Comme vous pouvez le voir, vous pouvez définir le nombre maximal d'éléments de la liste et la position de début de la liste (le marqueur). Lire plus sur le sujet ici.
Je ne sais pas du tout de la mise en œuvre de la pagination, mais surtout pour le RESTE de l'interface, il serait très facile à mettre en œuvre dans n'importe quelle langue.
2) je crois que le seul moyen de supprimer un seau est de vider d'abord à partir de tous les éléments. Voir alse ce question.
3) je dirais que le S3 est très bien adapté pour le stockage d'un grand nombre de fichiers. Mais cela dépend de ce que vous voulez faire. Comptez-vous également de stocker des fichiers binaires? Avez-vous besoin pour effectuer toutes les questions ou tout simplement la liste des fichiers est-elle suffisante?
Je ne pense pas qu'il y est un appel API pour obtenir exactement le nombre d'éléments. Vous avez sans doute utilisé un outil qui obtient aussi le contenu de ces fichiers, c'est pourquoi il a fallu si longtemps. Juste utiliser Fiddler ou un autre outil pour envoyer l'OBTENIR seau demande (voir l'API REST lien dans ma réponse). Il ne devrait pas prendre longtemps pour obtenir la sauvegarde xml. Je crains que je n'ai pas un gros seau de tester par moi même.
OriginalL'auteur kgiannakakis
J'ai eu le même problème avec la suppression de centaines de milliers de fichiers à partir d'un seau. Il peut être intéressant de tirer jusqu'à une instance EC2 pour exécuter le parallèle supprimer parce que le temps de latence pour S3 est faible. Je pense qu'il y de l'argent à l'hébergement d'un groupe de serveurs EC2 et le chargement des gens pour supprimer les seaux rapidement. (Au moins jusqu'à ce que Amazon est à la modification de l'API)
OriginalL'auteur bertrandom
Vieux thread, mais toujours pertinentes, alors que je cherchais la réponse jusqu'à ce que je viens de comprendre cela. Je voulais un nombre de fichiers à l'aide d'un outil basé sur l'interface (pas de code). Il m'arrive d'utiliser un outil appelé 3Hub pour le drag & drop transferts vers et à partir de S3. Je voulais savoir combien de fichiers que j'avais dans un seau (je ne pense pas que la facturation, il tombe en panne en seaux).
J'avais 20521 fichiers dans le seau et fait le décompte de fichiers en moins d'une minute.
Je voudrais savoir si quelqu'un a trouvé une meilleure façon de car ce serait prendre un certain temps sur des centaines de milliers de fichiers.
OriginalL'auteur Darby
À compter les objets dans un compartiment S3:
Aller à la Facturation AWS, puis les rapports, puis AWS, les rapports d'Utilisation.
Sélectionnez Amazon Simple Storage Service, puis l'Opération StandardStorage.
Télécharger un fichier CSV qui comprend un UsageType de StorageObjectCount qui répertorie le nombre d'éléments pour chaque seau.
OriginalL'auteur Kenan