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 un ordre binaire UTF-8.

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

Note

La prise en charge de SOAP sur HTTP est obsolète, mais SOAP continue d'être disponible sur HTTP. Les nouvelles fonctions Amazon S3 ne sont pas prises en charge pour SOAP. Au lieu d'utiliser SOAP, nous vous recommandons d'utiliser l'API REST ou les AWS SDK.

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.

API REST

Si l'application l'exige, vous pouvez envoyer les demandes REST directement. Vous pouvez envoyer une demande GET pour renvoyer tout ou partie des objets d'un compartiment. Vous pouvez aussi utiliser des critères de sélection pour renvoyer un sous-ensemble d'objets d'un compartiment. Pour plus d’informations, consultez GET Bucket (List Objects) version 2 dans la Référence d’API Amazon Simple Storage Service..

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 d'importants ensembles de résultats, l'API Amazon S3 prend en charge la pagination afin de les scinder 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 Les bibliothèques wrapper du SDK fournissent la même pagination.

Exemples

Les exemples de code suivants montrent comment utiliserListObjects.

CLI
AWS CLI

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 plus de détails sur l'API, reportez-vous ListObjectsà la section Référence des AWS CLI commandes.

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 test-files

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

Get-S3Object -BucketName test-files -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 test-files -KeyPrefix sample
  • Pour plus de détails sur l'API, reportez-vous ListObjectsà la section Référence des AWS Tools for PowerShell applets de commande.