Liste des clés d'objet par programme - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Liste des clés d'objet par programme

Dans Amazon S3, les clés peuvent être répertoriées par préfixe. Vous pouvez choisir un préfixe commun pour les noms des clés associées et marquer ces clés avec un caractère spécial délimitant la hiérarchie. Vous pouvez ensuite utiliser l'opération de liste pour sélectionner et parcourir les clés de manière hiérarchique. Cette méthode ressemble au stockage des fichiers dans les répertoires d'un système de fichiers.

Amazon S3 expose une opération de liste qui vous permet d'énumérer les clés contenues dans un compartiment. Les clés sont sélectionnées par compartiment et préfixe. Par exemple, prenez un compartiment appelé « dictionary » qui contient une clé pour chaque mot anglais. Vous devez faire un appel pour lister toutes les clés dans le compartiment qui commencent par la lettre « q ». Les résultats de la liste sont toujours renvoyés dans l'ordre binaire UTF -8.

Les opérations SOAP et les opérations de REST liste renvoient un XML document contenant les noms des clés correspondantes et des informations sur l'objet identifié par chaque clé.

Note

SOAPsupport over HTTP est obsolète, mais il SOAP est toujours disponible. HTTPS Les nouvelles fonctionnalités d'Amazon S3 ne sont pas prises en charge pourSOAP. Au lieu d'utiliserSOAP, nous vous recommandons d'utiliser le REST API ou le AWS SDKs.

Les groupes de clés qui partagent un préfixe se terminant par un délimiteur spécial peuvent être regroupés par ce préfixe commun pour les besoins de la liste. Cela permet aux applications d'organiser et de parcourir hiérarchiquement les clés, comme vous organiseriez des fichiers dans les répertoires d'un système de fichiers.

Par exemple, pour que le compartiment dictionnaire contienne plus que des mots anglais, vous devez former des clés en ajoutant un préfixe à chaque mot avec sa langue et un délimiteur, comme « French/logical ». Grâce à cette dénomination et à la fonction de liste hiérarchique, vous pouvez récupérer une liste de mots français. Vous pouvez également parcourir la liste de niveau supérieur des langues disponibles sans avoir à itérer sur toutes les clés d'intervention de manière lexicographique. Pour en savoir plus sur cet aspect de la liste, veuillez consulter Organisation des objets à l'aide de préfixes.

REST API

Si votre application l'exige, vous pouvez envoyer REST des demandes directement. Vous pouvez envoyer une GET demande pour renvoyer une partie ou la totalité des objets d'un bucket ou vous pouvez utiliser des critères de sélection pour renvoyer un sous-ensemble des objets d'un bucket. Pour plus d'informations, consultez GETBucket (List Objects) Version 2 dans le manuel Amazon Simple Storage Service API Reference.

Efficacité de l'implémentation d'une liste

Les performances de la liste ne sont pas significativement affectées par le nombre total de clés dans votre compartiment. Elles ne sont pas non plus affectées par la présence ou l'absence des arguments prefix, marker, maxkeys, ou delimiter.

Itération sur des résultats de plusieurs pages

Etant donné que les compartiments peuvent contenir un nombre presque illimité de clés, les résultats complets d'une requête de liste peuvent être très importants. Pour gérer de grands ensembles de résultats, Amazon S3 API prend en charge la pagination afin de les diviser en plusieurs réponses. Chaque réponse de clés de liste renvoie une page de 1 000 clés maximum avec un indicateur spécifiant si la réponse est tronquée. Vous envoyez une série de demandes de clés de liste jusqu'à ce que vous ayez reçu toutes les clés. AWS SDKles bibliothèques wrapper fournissent la même pagination.

Exemples

Lorsque vous répertoriez tous les objets de votre compartiment, notez que vous devez disposer de l'autorisation s3:ListBucket.

CLI
liste-objets

L'exemple suivant utilise la list-objects commande pour afficher les noms de tous les objets du compartiment spécifié :

aws s3api list-objects --bucket text-content --query 'Contents[].{Key: Key, Size: Size}'

L'exemple utilise l'--queryargument pour filtrer la sortie list-objects jusqu'à la valeur clé et à la taille de chaque objet.

Pour plus d'informations sur les objets, consultez la section Travailler avec des objets Amazon S3 dans le manuel Amazon S3 Developer Guide.

  • Pour API plus de détails, voir ListObjectsla section Référence des AWS CLI commandes.

ls

L'exemple suivant répertorie tous les objets et préfixes d'un compartiment à l'aide de la ls commande.

Pour utiliser cet exemple de commande, remplacez amzn-s3-demo-bucket avec le nom de votre compartiment.

$ aws s3 ls s3://amzn-s3-demo-bucket
PowerShell
Outils pour PowerShell

Exemple 1 : Cette commande récupère les informations relatives à tous les éléments du bucket « test-files ».

Get-S3Object -BucketName amzn-s3-demo-bucket

Exemple 2 : Cette commande récupère les informations relatives à l'élément « sample.txt » depuis le bucket « test-files ».

Get-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt

Exemple 3 : Cette commande récupère les informations relatives à tous les éléments portant le préfixe « sample » à partir du bucket « test-files ».

Get-S3Object -BucketName amzn-s3-demo-bucket -KeyPrefix sample
  • Pour API plus de détails, consultez la section ListObjectsRéférence des AWS Tools for PowerShell applets de commande.