10
votes

Comment ne peut-il obtenir qu'un seul niveau d'objets dans un godet S3?

Je veux énumérer uniquement les objets dans un seau qui ne sont pas eux-mêmes des godets eux-mêmes. Existe-t-il un moyen de faire cela peu d'analgésiquer les résultats de ListBucket?


0 commentaires

3 Réponses :


24
votes

Objets dans un seau qui ne sont pas eux-mêmes des godets

Les godets ne peuvent pas contenir d'autres seaux. Voulez-vous dire des dossiers? S3 n'a pas de concept de dossiers non plus.

Vous pouvez avoir 100 godets par compte S3 et chaque godet peut contenir un nombre illimité d'objets / fichiers. Si vous nommez vos fichiers avec / S dans le nom de fichier, les outils AWS GUI (par exemple, la console AWS, BucketExplorer, etc.) interpréteront chaque section sous forme de dossier virtuel. par exemple

un fichier nommé dossier1 / dossier2 / myfile.jpg sera stocké dans S3 en tant que fichier "plat" avec ce nom, mais dans les outils de l'interface graphique, il apparaît comme si Un fichier nommé myfile.jpg est 2 sous-dossiers dans dossier1 / dossier2 .

Vous pouvez utiliser le préfixe et < Code> Délimiteur Paramètres pour analyser les résultats d'un Seau (liste d'objets) appel. Les mêmes options sont également disponibles dans l'un des SDKS aussi.

update pour répondre à un commentaire.

supposant que notre godet S3 ressemble à ceci: xxx

en utilisant préfixe = "dossier1 /" retournerait tous les 6 fichiers: file1.txt à < CODE> FILE6.TXT .

Utilisation d'un PREFIX = "Dossier1 /" ET A Délimiteur = " / " retournerait 2 fichiers: xxx

et le communprefixes Collection de la réponse avec contenir xxx


4 commentaires

Pour reformuler ma question alors, quel délimiteur j'utiliserais-je dans votre exemple de sorte que je ne vois que des celles au dossier2 profond, mais pas myfile.jpg?


@Graham - J'ai mis à jour ma réponse avec une explication plus détaillée.


Geoff Appleford, pourriez-vous répondre à mon problème? S'il vous plaît aider merci. On dirait que vous pouvez avoir 1000 godets si vous demandez joliment Docs.aws.amazon .com / Amazons3 / Dernières / dev / BuckeTestrictions.h tml



1
votes

Il existe une meilleure approche en utilisant la dernière version Boto3 (1.14 à partir de maintenant) et List_Objects_v2 Méthode. XXX


0 commentaires

0
votes

Je cherchais à résoudre le même problème " à répertorier le répertoire de niveau premier / racine / x uniquement " et finalement trébuché dans quelque chose appelé "paginator". xxx

Je l'ai testé et travaille exactement comme prévu! :)

HTTPS : //docs.aws.amazon.com/sdk-for-php/v3/developer-Guide/Guide_paginators.html


0 commentaires