Utilisation des métadonnées 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.

Utilisation des métadonnées d'objet

Vous pouvez définir des métadonnées d'objet dans Amazon S3 au moment du chargement de l'objet. Les métadonnées d'objet sont un ensemble de paires de noms-valeurs. Une fois l'objet chargé, vous ne pouvez pas modifier ses métadonnées. Le seul moyen de modifier les métadonnées d'objet est de faire une copie de l'objet et de configurer les métadonnées.

Lorsque vous créez un objet, vous spécifiez également le nom de clé, qui identifie de façon unique l'objet dans le compartiment. La clé d'objet (ou nom de clé) identifie de façon unique l'objet dans un compartiment Amazon S3. Pour plus d’informations, consultez Création de noms de clés d'objet.

Il existe deux types de métadonnées dans Amazon S3 : les métadonnées définies par le système et les métadonnées définies par l'utilisateur. Les sections ci-dessous fournissent plus d'informations sur les métadonnées définies par le système et celles définies par l'utilisateur. Pour en savoir plus sur la modification des métadonnées à l'aide de la console Amazon S3, veuillez consulter Modification des métadonnées d'objet dans la console Amazon S3.

Métadonnées d'objet définies par le système

Pour chaque objet stocké dans un compartiment, Amazon S3 gère un ensemble de métadonnées système. Amazon S3 traite ces métadonnées système selon les besoins. Par exemple, Amazon S3 gère les métadonnées de date et de taille de création de l'objet et utilise ces informations dans le cadre de la gestion de l'objet.

Il existe deux classes de métadonnées système :

  • Contrôlées par le système : les métadonnées comme la date de création de l'objet sont contrôlées par le système et seul Amazon S3 peut modifier la valeur.

  • Contrôlées par l'utilisateur : les autres métadonnées système, comme la classe de stockage configurée pour l'objet et l'activation du chiffrement côté serveur dans l'objet, sont des exemples de métadonnées système dont vous contrôlez la valeur. Si le compartiment est configuré en tant que site web, il se peut que vous souhaitiez rediriger une demande de page vers une autre page ou une URL externe. Dans ce cas, une page Web est un objet dans le compartiment. Amazon S3 stocke la valeur de redirection de la page comme des métadonnées système dont vous contrôlez la valeur.

    Lorsque vous créez des objets, vous pouvez configurer les valeurs de ces éléments de métadonnées système ou mettre à jour les valeurs le cas échéant. Pour plus d'informations sur les classes de stockage, consultez Utilisation des classes de stockage Simple Storage Service (Amazon S3).

    Amazon S3 utilise des AWS KMS clés pour chiffrer vos objets Amazon S3. AWS KMS chiffre uniquement les données de l'objet. Le total de contrôle, ainsi que l'algorithme spécifié, sont stockés dans le cadre des métadonnées de l'objet. Si un chiffrement côté serveur est demandé pour l'objet, le total de contrôle est stocké sous forme chiffrée. Pour plus d’informations sur le chiffrement côté serveur, consultez Protection des données à l'aide du chiffrement.

Note

L'en-tête de la demande PUT est limité à une taille de 8 Ko. Dans l'en-tête de la demande PUT, les métadonnées définies par le système sont limitées à une taille de 2 Ko. La taille des métadonnées définies par le système est mesurée grâce à la somme des octets dans l'encodage US-ASCII de chaque clé et valeur.

Le tableau suivant fournit une liste des métadonnées définies par le système et indique si elles peuvent être mises à jour.

Nom Description L'utilisateur peut-il modifier la valeur ?
Date Les date et heure actuelles. Non
Cache-Control Champ d'en-tête général utilisé pour spécifier les stratégies de mise en cache. Oui
Content-Disposition Informations de présentation des objets. Oui
Content-Length La taille des objets en octets. Non
Content-Type Le type d’objet. Oui
Last-Modified

La date de création ou de dernière modification, la plus récente des deux. Pour les chargements partitionnés, la date de création de l'objet correspond à la date de lancement du chargement partitionné.

Non
ETag Une balise d'entité (ETag) représente une version spécifique de cet objet. Pour les objets qui ne sont pas chargés en tant que chargement partitionné et qui sont non chiffrés ou chiffrés par chiffrement côté serveur avec des clés gérées par Simple Storage Service (Amazon S3) (SSE-S3), l'ETag est une valeur de hachage MD5 des données. Non
x-amz-server-side-encryption En-tête qui indique si le chiffrement côté serveur est activé pour l'objet et si ce chiffrement utilise les clés AWS Key Management Service (AWS KMS) (SSE-KMS) ou les clés de chiffrement gérées par Amazon S3 (SSE-S3). Pour plus d’informations, consultez Protection des données avec le chiffrement côté serveur. Oui
x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-sha1, x-amz-checksum-sha256 Des en-têtes qui contiennent le total de contrôle ou le récapitulatif de l'objet. Au maximum, un de ces en-têtes sera défini à la fois, en fonction de l'algorithme de total de contrôle que vous demandez à Amazon S3 d'utiliser. Pour plus d'informations sur la façon de sélectionner l'algorithme de total de contrôle,, consultez Vérification de l'intégrité des objets. Non
x-amz-version-id La version d'un objet. Lorsque vous activez la gestion des versions sur un compartiment, Amazon S3 attribue un ID de version aux objets ajoutés au compartiment. Pour plus d’informations, consultez Utilisation de la gestion des versions dans les compartiments S3. Non
x-amz-delete-marker Un marqueur booléen qui indique si l'objet est un marqueur de suppression. Ce marqueur n'est utilisé que dans les compartiments pour lesquels la gestion des versions est activée. Non
x-amz-storage-class La classe de stockage utilisée pour stocker l'objet. Pour plus d’informations, consultez Utilisation des classes de stockage Simple Storage Service (Amazon S3). Oui
x-amz-website-redirect-location Un en-tête qui redirige les demandes pour l'objet associé vers un autre objet dans le même compartiment ou une URL externe. Pour plus d’informations, consultez (Facultatif) Configuration de la redirection de pages web. Oui
x-amz-server-side-encryption-aws-kms-key-id En-tête qui indique l'ID de la clé KMS de chiffrement AWS KMS symétrique utilisée pour chiffrer l'objet. Cet en-tête est utilisé uniquement lorsque l'en-tête x-amz-server-side-encryption est présent et a la valeur de aws:kms. Oui
x-amz-server-side-encryption-customer-algorithm Un en-tête qui indique si le chiffrement côté serveur à l'aide des clés de chiffrement fournies par le client (SSE-C) est activé. Pour plus d’informations, consultez Utilisation du chiffrement côté serveur avec les clés fournies par le client (SSE-C). Oui
x-amz-tagging Ensemble de balises de l'objet. L'ensemble de balises doit être codé en tant que paramètres de requête URL. Oui

Métadonnées d'objet définies par l'utilisateur

Lorsque vous chargez un objet, vous pouvez également lui attribuer des métadonnées. Vous fournissez ces informations facultatives en tant que paire nom-valeur (clé-valeur) lorsque vous envoyez une demande PUT ou POST pour créer l'objet. Lors du chargement des objets grâce à l'API REST, les noms facultatifs des métadonnées définies par l'utilisateur doivent commencer par « x-amz-meta- » pour se différencier des autres en-têtes HTTP. Lorsque vous récupérez l'objet grâce à l'API REST, ce préfixe est renvoyé. Lors du chargement des objets grâce à l'API SOAP, le préfixe n'est pas requis. Lorsque vous récupérez l'objet grâce à l'API SOAP, le préfixe est supprimé, quelle que soit l'API utilisée pour charger l'objet.

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.

Lorsque des métadonnées sont récupérées via l'API REST, Amazon S3 associe les en-têtes avec le même nom (sans tenir compte de la casse) dans une liste séparée par des virgules. Si certaines métadonnées contiennent des caractères non imprimables, elles ne sont pas renvoyées. À la place, l'en-tête x-amz-missing-meta est renvoyé avec le nombre d'entrées de métadonnées non imprimables. L'action HeadObject récupère les métadonnées d'un objet sans retourner l'objet lui-même. Cette opération est pratique si vous êtes uniquement intéressé par les métadonnées d'un objet. Pour utiliser HEAD, vous devez disposer d'un accès READ sur l'objet. Pour plus d'informations, consultez HeadObjectle manuel Amazon Simple Storage Service API Reference.

Les métadonnées définies par l'utilisateur sont un ensemble de paires de clés-valeurs. Amazon S3 stocke les clés de métadonnées définies par l'utilisateur en minuscules.

Amazon S3 accepte les caractères Unicode arbitraires dans vos valeurs de métadonnées.

Pour éviter des problèmes liés à la présentation de ces valeurs de métadonnées, vous devez vous conformer à l'utilisation de caractères US-ASCII avec REST et UTF-8 lors de l'utilisation de SOAP ou de chargements basés sur un navigateur via POST.

Lorsque vous utilisez des caractères non US-ASCII dans vos valeurs de métadonnées, la chaîne Unicode fournie est examinée pour les caractères non US-ASCII. Les valeurs de ces en-têtes sont décodées en caractères selon la RFC 2047 avant d'être stockées, puis encodées selon la RFC 2047 pour qu'elles soient transmises de manière sécurisée par e-mail avant d'être renvoyées. Si la chaîne contient uniquement des caractères US-ASCII, elle est présentée telle qu'elle est.

Voici un exemple.

PUT /Key HTTP/1.1 Host: DOC-EXAMPLE-BUCKET1.s3.amazonaws.com x-amz-meta-nonascii: ÄMÄZÕÑ S3 HEAD /Key HTTP/1.1 Host: DOC-EXAMPLE-BUCKET1.s3.amazonaws.com x-amz-meta-nonascii: =?UTF-8?B?w4PChE3Dg8KEWsODwpXDg8KRIFMz?= PUT /Key HTTP/1.1 Host: DOC-EXAMPLE-BUCKET1.s3.amazonaws.com x-amz-meta-ascii: AMAZONS3 HEAD /Key HTTP/1.1 Host: DOC-EXAMPLE-BUCKET1.s3.amazonaws.com x-amz-meta-ascii: AMAZONS3
Note

L'en-tête de la demande PUT est limité à une taille de 8 Ko. Dans l'en-tête de la demande PUT, les métadonnées définies par l'utilisateur sont limitées à une taille de 2 Ko. La taille des métadonnées définies par l'utilisateur est mesurée grâce à la somme des octets dans l'encodage UTF-8 de chaque clé et valeur.

Pour plus d'informations sur la modification des métadonnées de votre objet après son téléchargement, en créant une copie de l'objet, en le modifiant et en remplaçant l'ancien objet, ou en créant une version, consultez Modification des métadonnées d'objet dans la console Amazon S3.