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.
Organisation des objets à l'aide de préfixes
Vous pouvez utiliser des préfixes pour organiser les données que vous stockez dans des compartiments Amazon S3. Un préfixe est une chaîne de caractères au début du nom de la clé d'objet. Il n'a pas de limite de longueur, mais ne peut pas dépasser la longueur du nom de la clé d'objet (1 024 octets). Vous pouvez voir les préfixes comme un moyen d'organiser vos données de la même manière que les répertoires. Toutefois, les préfixes ne sont pas des répertoires.
La recherche par préfixe limite les résultats aux seules clés qui commencent par le préfixe spécifié. Le délimiteur permet à la liste de regrouper toutes les clés qui partagent un préfixe commun dans une seule liste de résultats récapitulative.
L'objectif des paramètres de préfixe et de délimiteur est de vous aider à organiser et à parcourir hiérarchiquement les clés. Pour ce faire, choisissez tout d'abord un délimiteur pour le compartiment, comme une barre oblique (/), qui n'est présent dans aucun des noms de clés anticipés. Vous pouvez utiliser un autre caractère comme délimiteur. La barre oblique (/) n'est pas unique, mais elle est un délimiteur de préfixe très courant. Ensuite, créez les noms de clés en concaténant tous les niveaux de contenu de la hiérarchie, en séparant chaque niveau avec le délimiteur.
Par exemple, si vous stockez des informations sur des villes, vous devez naturellement les organiser par continent, puis par pays, puis par province ou état. Étant donné que ces noms ne contiennent généralement pas de ponctuation, vous devez utiliser une barre oblique (/) comme délimiteur. Les exemples suivants utilisent une barre oblique (/) comme délimiteur.
-
Europe/France/Nouvelle-Aquitaine/Bordeaux
-
Nord America/Canada/Quebec/Montreal
-
Nord America/USA/Washington/Bellevue
-
Nord America/USA/Washington/Seattle
Si vous stockez des données pour chaque ville du monde de cette façon, il apparaît curieux de gérer un espace de noms de clé horizontal. Grâce au Prefix
et au Delimiter
avec l'opération de la liste, vous pouvez utiliser la hiérarchie que vous avez créée pour lister les données. Par exemple, pour répertorier tous les états compris dansUSA, définir Delimiter='/'
etPrefix='North America/USA/'
. Pour lister toutes les provinces du Canada pour lesquelles vous avez des données, configurez Delimiter='/'
et Prefix='North
America/Canada/'
.
Pour plus d'informations sur les délimiteurs, les préfixes et les dossiers imbriqués, consultez Difference between prefixes and nested folders
Liste d'objets à l'aide de préfixes et de délimiteurs
Si vous demandez une liste avec un délimiteur, vous pouvez parcourir la hiérarchie sur un seul niveau en passant et en résumant les (éventuels millions de) clés qui se trouvent dans les niveaux suivants. Supposons, par exemple, que vous ayez un bucket (amzn-s3-demo-bucket
) avec les touches suivantes :
sample.jpg
photos/2006/January/sample.jpg
photos/2006/February/sample2.jpg
photos/2006/February/sample3.jpg
photos/2006/February/sample4.jpg
L'exemple de compartiment ne dispose que de l'objet sample.jpg
à la racine. Pour répertorier uniquement les objets de niveau racine du compartiment, vous devez envoyer une GET demande sur le compartiment avec le caractère séparateur slash (/
). En réponse, Simple Storage Service (Amazon S3) renvoie la clé de l'objet sample.jpg
car elle ne contient pas le délimiteur /
. Toutes les autres clés contiennent le délimiteur. Simple Storage Service (Amazon S3) regroupe ces clés et renvoie un seul élément CommonPrefixes
avec la valeur de préfixe photos/
, qui est une sous-chaîne du début de ces clés jusqu'à la première occurrence du délimiteur spécifié.
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Name>
amzn-s3-demo-bucket
</Name> <Prefix></Prefix> <Marker></Marker> <MaxKeys>1000</MaxKeys> <Delimiter>/</Delimiter> <IsTruncated>false</IsTruncated> <Contents> <Key>sample.jpg</Key> <LastModified>2011-07-24T19:39:30.000Z</LastModified> <ETag>"d1a7fb5eab1c16cb4f7cf341cf188c3d"</ETag> <Size>6</Size> <Owner> <ID>75cc57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID> <DisplayName>displayname</DisplayName> </Owner> <StorageClass>STANDARD</StorageClass> </Contents> <CommonPrefixes> <Prefix>photos/</Prefix> </CommonPrefixes> </ListBucketResult>
Pour plus d'informations sur la liste des clés d'objet par programme, veuillez consulter Liste des clés d'objet par programme.