Organisation des objets à l'aide de préfixes - 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.

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

  • Amérique du Nord/Canada/Québec/Montréal

  • Amérique du Nord/États-Unis/Washington/Bellevue

  • Amérique du Nord/États-Unis/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 lister tous les États des États-Unis, configurez Delimiter='/' et Prefix='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 (Différence entre les préfixes et les dossiers imbriqués).

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. Par exemple, supposons que vous avez un compartiment (DOC-EXAMPLE-BUCKET) avec les clés 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 lister uniquement les objets au niveau racine du compartiment, vous envoyez une demande GET sur le compartiment avec la barre oblique (/) comme délimiteur. 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>DOC-EXAMPLE-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>&quot;d1a7fb5eab1c16cb4f7cf341cf188c3d&quot;</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.