Utilisation des métadonnées d'objet - Amazon Simple Storage Service

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 de plus amples informations, veuillez consulter 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 :

  1. Les métadonnées comme la date de création de l'objet sont contrôlées par le système où seul Amazon S3 peut modifier la valeur.

  2. 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 clés AWS KMS pour chiffrer vos objets Amazon S3. AWS KMS chiffre uniquement les données de l'objet. Les métadonnées d'objet ne sont pas chiffrées. Pour de plus amples informations sur le chiffrement côté serveur, veuillez consulter 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 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 Taille de l'objet en octets. Non
Content-Type Object type. Oui
Dernière modification

Date de création ou de dernière modification, la plus récente des deux.

Non
ETag Représente une version spécifique d'un 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 Indique si le chiffrement côté serveur est activé pour l'objet, et si ce chiffrement provient du AWS Key Management Service (AWS KMS) ou du chiffrement géré par Amazon S3 (SSE-S3). Pour de plus amples informations, veuillez consulter Protection des données à l'aide d'un chiffrement côté serveur. Oui
x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-sha1, x-amz-checksum-sha256 Contient 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 Version d'objet. Lorsque vous activez la gestion des versions sur un compartiment, Amazon S3 attribue un numéro de version aux objets ajoutés au compartiment. Pour de plus amples informations, veuillez consulter Utilisation de la gestion des versions dans les compartiments S3. Non
x-amz-delete-marker Dans un compartiment activé pour la gestion des versions, ce marqueur booléen indique si l'objet est un marqueur de suppression. Non
x-amz-storage-class La classe de stockage utilisée pour stocker l'objet. Pour de plus amples informations, veuillez consulter Utilisation des classes de stockage Simple Storage Service (Amazon S3). Oui
x-amz-website-redirect-location Redirige les demandes pour l'objet associé vers un autre objet dans le même compartiment ou une URL externe. Pour de plus amples informations, veuillez consulter (Facultatif) Configuration de la redirection de pages web. Oui
x-amz-server-side-encryption-aws-kms-key-id Si l'élément x-amz-server-side-encryption est présent et possède la valeur aws:kms, il indique l'ID de la clé KMS symétrique AWS KMS qui a été utilisée pour l'objet. Oui
x-amz-server-side-encryption-customer-algorithm Indique si le chiffrement côté serveur à l'aide des clés de chiffrement fournies par le client (SSE-C) est activé. Pour de plus amples informations, veuillez consulter Protection des données grâce au chiffrement côté serveur avec les clés de chiffrement 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 de 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 via HTTP est obsolète, mais continue d'être disponible sur HTTP. Les nouvelles fonctionnalités Amazon S3 ne sont pas prises en charge pour SOAP. Nous vous recommandons d'utiliser l'API REST ou les kits SDK AWS.

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 HeadObject dans la référence d'API Amazon Simple Storage Service.

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: awsexamplebucket1.s3.amazonaws.com x-amz-meta-nonascii: ÄMÄZÕÑ S3 HEAD /Key HTTP/1.1 Host: awsexamplebucket1.s3.amazonaws.com x-amz-meta-nonascii: =?UTF-8?B?w4PChE3Dg8KEWsODwpXDg8KRIFMz?= PUT /Key HTTP/1.1 Host: awsexamplebucket1.s3.amazonaws.com x-amz-meta-ascii: AMAZONS3 HEAD /Key HTTP/1.1 Host: awsexamplebucket1.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, veuillez consulter Modification des métadonnées d'objet dans la console Amazon S3.