Création de noms de clés d'objet - 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.

Création de noms de clés d'objet

La clé d'objet (ou nom de clé) identifie de façon unique l'objet dans un compartiment Amazon S3. Les métadonnées d'objet sont un ensemble de paires de noms-valeurs. Pour plus d’informations sur les métadonnées d’objet, consultez Utilisation des métadonnées d'objet.

Lorsque vous créez un objet, vous spécifiez le nom de clé, qui identifie de façon unique l'objet dans le compartiment. Par exemple, dans la console Amazon S3, lorsque vous mettez en évidence un compartiment, la liste des objets du compartiment s'affiche. Ces noms sont les clés d'objet. Le nom de la clé de l'objet est une séquence de caractères Unicode encodée en UTF -8 d'une longueur maximale de 1 024 octets. Les noms de clés d'objet ne sont pas sensibles à la casse.

Note

Les noms de clé d'objet avec la valeur « soap » ne sont pas pris en charge pour les virtual-hosted-style requêtes. Pour les valeurs de nom de clé d'objet où « soap » est utilisé, un style de chemin URL doit être utilisé à la place.

Le modèle de données Amazon S3 est une structure horizontale : vous créez un compartiment et ce compartiment stocke des objets. Il n'existe aucune hiérarchie de sous-compartiments ou de sous-dossiers. Toutefois, vous pouvez déduire une hiérarchie logique grâce aux préfixes et délimiteurs de nom de clé à l'image de la console Amazon S3. La console Amazon S3 prend en charge un concept de dossiers. Pour en savoir plus sur la modification des métadonnées à partir de la console Amazon S3, veuillez consulter Modification des métadonnées d'objet dans la console Amazon S3.

Imaginons que le compartiment (admin-created) comporte quatre objets avec les clés d'objet suivantes :

Development/Projects.xls

Finance/statement1.pdf

Private/taxdocument.pdf

s3-dg.pdf

La console utilise les préfixes de nom de clé (Development/, Finance/ et Private/) ainsi que le délimiteur (« / ») pour présenter une structure de dossiers. La clé s3-dg.pdf ne possède pas de préfixe, son objet apparaît donc directement à la racine du compartiment. Si vous ouvrez le dossier Development/, vous voyez qu'il contient l'objet Projects.xlsx.

  • Amazon S3 prend en charge les compartiments et les objets. Il n'y a aucune hiérarchie. Toutefois, en utilisant des préfixes et des délimiteurs dans le nom d'une clé d'objet, la console Amazon S3 et le AWS SDKspeut déduire une hiérarchie et introduire le concept de dossiers.

  • La console Amazon S3 implémente la création d'objets de dossier en créant un objet de type zéro octet avec la valeur préfixe et délimiteur du dossier comme clé. Ces objets de dossier n'apparaissent pas dans la console. Sinon, ils se comportent comme n'importe quel autre objet et peuvent être visualisés et manipulés par le biais du REST API AWS CLI, et AWS SDKs.

Directives de dénomination de la clé d'objet

Vous pouvez utiliser n'importe quel caractère UTF -8 dans le nom d'une clé d'objet. L'utilisation de certains caractères dans les noms de clé peut toutefois générer des problèmes avec certaines applications et certains protocoles. Les directives suivantes vous aident à optimiser la conformité aux caractères sécurisés sur le WebDNS, aux XML analyseurs syntaxiques, etc. APIs

Caractères adaptés

Les caractères configurés suivants sont généralement adaptés à une utilisation dans les noms de clés.

Caractères alphanumériques
  • 0-9

  • a-z

  • A-Z

Caractères spéciaux
  • Point d'exclamation (!)

  • Trait d'union (-)

  • Trait de soulignement (_)

  • Point (.)

  • Astérisque (*)

  • Guillemet simple (')

  • Parenthèse ouvrante (()

  • Parenthèse fermante ())

Voici des exemples de noms de clés d'objet valides :

  • 4my-organization

  • my.great_photos-2014/jan/myvacation.jpg

  • videos/2014/birthday/video1.wmv

Note

Pour les objets téléchargés à l'aide de la console Amazon S3, dont le nom de clé se termine par un ou plusieurs points « . », ceux-ci sont supprimés du nom de clé de l'objet téléchargé. Pour télécharger un objet dont le nom de clé se termine par un ou plusieurs points «. » conservé dans l'objet téléchargé, vous devez utiliser AWS Command Line Interface (AWS CLI), AWS SDKs, ou RESTAPI.

En outre, vous devez connaître les limitations suivantes en ce qui concerne les préfixes :

  • Les objets avec le préfixe « ./ » doivent être chargés ou téléchargés à l'aide du AWS Command Line Interface (AWS CLI), AWS SDKs, ou RESTAPI. Vous ne pouvez pas utiliser la console Amazon S3.

  • Les objets dont le préfixe est «../» ne peuvent pas être chargés à l'aide du AWS Command Line Interface (AWS CLI) ou console Amazon S3.

Caractères pouvant exiger une manipulation spéciale

Les caractères suivants d'un nom de clé peuvent nécessiter une gestion de code supplémentaire et doivent probablement être URL codés ou référencés en tant queHEX. Certains de ces caractères ne sont pas imprimables et le navigateur peut ne pas réussir à les traiter, ce qui exige également une manipulation spéciale :

  • Esperluette (« & »)

  • Dollar (« $ »)

  • ASCIIplages de caractères 00—1F hexadécimal (0—31 décimal) et 7F (127 décimales)

  • Arobase (« @ »)

  • Egal (« = »)

  • Point-virgule (« ; »)

  • Barre oblique (« / »)

  • Deux-points (« : »)

  • Plus (« + »)

  • Espace – Des séquences d'espaces significatives peuvent être perdues dans certaines utilisations (notamment les espaces multiples)

  • Virgule (« , »)

  • Point d'interrogation (« ? »)

Caractères à éviter

Nous vous recommandons de ne pas utiliser les caractères suivants dans le nom d'une clé en raison de la gestion importante des caractères spéciaux, qui n'est pas uniforme dans toutes les applications.

  • Barre oblique inverse (« \ »)

  • Accolade gauche (« { »)

  • Caractères non imprimables (128 à 255 ASCII caractères décimaux)

  • Lambda (« ^ »)

  • Accolade droite (« } »)

  • Pourcentage (« % »)

  • Accent grave/guillemet inversé (« ` »)

  • Crochet droit (« ] »)

  • Guillemets

  • Supérieur à (« > »)

  • Crochet gauche (« [ »)

  • Tilde (« ~ »)

  • Symbole « inférieur à » (« < »)

  • Dièse (« # »)

  • Barre verticale/pipe (« | »)

Comme spécifié par la XMLnorme sur la end-of-line manutention, tout le XML texte est normalisé de telle sorte que les retours d'un seul chariot (ASCIIcode 13) et les retours de chariot immédiatement suivis d'un fil (ASCIIcode 10) sont remplacés par un caractère d'alimentation d'une seule ligne. Pour garantir l'analyse correcte des clés d'objet dans les XML demandes, les retours de transport et les autres caractères spéciaux doivent être remplacés par leur code d'XMLentité équivalent lorsqu'ils sont insérés dans les XML balises. Voici la liste de ces caractères spéciaux et de leurs codes d'entité équivalents :

  • ' comme &apos;

  • ” comme &quot;

  • & comme &amp;

  • < comme &lt;

  • > comme &gt;

  • \ r comme &#13; ou &#x0D;

  • \ n comme &#10; ou &#x0A;

L'exemple suivant illustre l'utilisation d'un code d'XMLentité en remplacement d'un retour de transport. Cette demande DeleteObjects supprime un objet avec le paramètre key : /some/prefix/objectwith\rcarriagereturn (où \ r est le retour chariot).

<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Object> <Key>/some/prefix/objectwith&#13;carriagereturn</Key> </Object> </Delete>