Comment récupérer ou copier des objets en fonction des métadonnées avec des lectures conditionnelles - Amazon Simple Storage Service

Comment récupérer ou copier des objets en fonction des métadonnées avec des lectures conditionnelles

Avec les lectures conditionnelles, vous pouvez inclure un en-tête supplémentaire à votre demande de lecture afin d’ajouter des conditions préalables à votre opération S3. Si ces conditions préalables ne sont pas remplies, la demande de lecture échouera.

Vous pouvez utiliser des lectures conditionnelles au niveau des demandes GET, HEAD ou COPY pour ne renvoyer un objet qu’en fonction de ses métadonnées.

Lorsque vous chargez un objet, Amazon S3 crée des métadonnées contrôlées par le système qui ne peuvent être modifiées que par S3. Les balises d’entité et la date de la dernière modification sont des exemples de métadonnées contrôlées par le système. La balise d’entité d’un objet est une chaîne représentant une version spécifique d’un objet. La date de dernière modification fait partie des métadonnées représentant la date de création ou la date de la dernière modification de l’objet, la date la plus récente étant retenue.

Avec les lectures conditionnelles, vous pouvez renvoyer un objet en fonction de sa balise d’entité ou de sa date de dernière modification. Vous pouvez spécifier une valeur de balise d’entité avec votre demande et renvoyer l’objet uniquement si cette valeur correspond. Cela vous permet de ne renvoyer ou ne copier qu’une version spécifique d’un objet. Vous pouvez spécifier une valeur de dernière modification dans votre demande de lecture et ne renvoyer que les objets modifiés depuis une date que vous avez indiquée.

API prises en charge

Les API S3 suivantes prennent en charge l’utilisation de lectures conditionnelles :

Vous pouvez utiliser les en-têtes suivants pour renvoyer un objet en fonction de la balise d’entité ou de sa date de dernière modification. Pour plus d’informations sur les métadonnées d’objet telles que les balises d’entité et la date de dernière modification (Last-Modified), consultez Métadonnées d’objet définies par le système.

GetObject

  • If-Match : renvoie l’objet uniquement si sa balise d’entité correspond à celle fournie.

  • If-Modified-Since : renvoie l’objet uniquement s’il a été modifié depuis l’heure spécifiée.

  • If-None-Match : renvoie l’objet uniquement si sa balise d’entité ne correspond pas à celle fournie.

  • If-Unmodified-Since : renvoie l’objet uniquement s’il n’a pas été modifié depuis l’heure spécifiée.

Pour plus d’informations sur ces en-têtes, les erreurs renvoyées et l’ordre dans lequel S3 gère plusieurs en-têtes conditionnels dans une seule demande, consultez GetObject dans la Référence des API Amazon Simple Storage Service.

HeadObject

  • If-Match : renvoie l’objet uniquement si sa balise d’entité correspond à celle fournie.

  • If-Modified-Since : renvoie l’objet uniquement s’il a été modifié depuis l’heure spécifiée.

  • If-None-Match : renvoie l’objet uniquement si sa balise d’entité ne correspond pas à celle fournie.

  • If-Unmodified-Since : renvoie l’objet uniquement s’il n’a pas été modifié depuis l’heure spécifiée.

Pour plus d’informations sur ces en-têtes, les erreurs renvoyées et l’ordre dans lequel S3 gère plusieurs en-têtes conditionnels dans une seule demande, consultez HeadObject dans la Référence des API Amazon Simple Storage Service.

CopyObject

  • x-amz-copy-source-if-match : copie l’objet source uniquement si sa balise d’entité correspond à celle fournie.

  • x-amz-copy-source-if-modified-since : copie l’objet source uniquement s’il a été modifié depuis l’heure spécifiée.

  • x-amz-copy-source-if-none-match : copie l’objet source uniquement si sa balise d’entité ne correspond pas à celle fournie.

  • x-amz-copy-source-if-unmodified-since : copie l’objet source uniquement s’il n’a pas été modifié depuis l’heure spécifiée.

Pour plus d’informations sur ces en-têtes, les erreurs renvoyées et l’ordre dans lequel S3 gère plusieurs en-têtes conditionnels dans une seule demande, consultez CopyObject dans la Référence des API Amazon Simple Storage Service.