Utilisation des marqueurs de suppression - 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 marqueurs de suppression

Dans Amazon S3, un marqueur de suppression désigne un espace réservé (ou marqueur) pour un objet soumis à la gestion des versions qui a été spécifié dans une demande DELETE simple. Une demande DELETE simple est une demande qui ne spécifie pas d'ID de version. Étant donné que l'objet était dans un compartiment activé pour la gestion des versions, il n'a pas été supprimé. Toutefois, à cause du marqueur de suppression, Amazon S3 se comporte comme si l'objet est supprimé. Vous pouvez utiliser un appel DELETE d'API Amazon S3 sur un marqueur de suppression. Pour ce faire, vous devez effectuer la DELETE demande en utilisant un utilisateur ou un rôle AWS Identity and Access Management (IAM) doté des autorisations appropriées.

Un marqueur de suppression possède un nom de clé (ou clé) et un ID de version comme tout autre objet. Toutefois, un marqueur de suppression diffère des autres objets des manières suivantes :

  • Un marqueur de suppression n'a pas de données qui lui sont associées.

  • Un marqueur de suppression n'est associé à aucune valeur de liste de contrôle d'accès (ACL).

  • Si vous émettez une demande GET pour un marqueur de suppression, la demande GET ne récupère rien, car le marqueur de suppression ne contient aucune donnée. Plus précisément, lorsque votre demande GET ne spécifie pas de versionId, vous obtenez une erreur 404 (Introuvable).

Les marqueurs de suppression accumulent une charge minimale pour le stockage dans Amazon S3. La taille de stockage d'un marqueur de suppression est égale à la taille du nom de clé du marqueur de suppression. Un nom de clé est une séquence de caractères Unicode. L'encodage UTF-8 du nom de clé ajoute 1 à 4 octets de stockage à votre compartiment pour chaque caractère dans le nom. Les marqueurs de suppression sont stockés dans la classe de stockage S3 standard.

Si vous souhaitez connaître le nombre de marqueurs de suppression dont vous disposez et la classe de stockage dans laquelle ils sont stockés, vous pouvez utiliser Amazon S3 Storage Lens. Pour plus d’informations, consultez Évaluer l'activité et l'utilisation de votre stockage avec Amazon S3 Storage Lens et Glossaire des métriques Amazon S3 Storage Lens.

Pour en savoir plus sur les noms de clé, consultez Création de noms de clés d'objet. Pour plus d'informations sur le marqueur de suppression, consultez Gestion des marqueurs de suppression.

Seul Simple Storage Service (Amazon S3) peut créer un marqueur de suppression, et il le fait dès que vous envoyez une demande DeleteObject sur un objet dans un compartiment activé ou désactivé pour la gestion des versions. L'objet spécifié dans la demande DELETE n'est pas réellement supprimé. A la place, le marqueur de suppression devient la version actuelle de l'objet. Le nom de clé de l'objet (ou clé) devient la clé du marqueur de suppression.

Quand vous obtenez un objet sans spécifier de versionId dans votre demande, si sa version actuelle est un marqueur de suppression, Amazon S3 fournit les réponses suivantes :

  • Une erreur 404 (Introuvable)

  • En-tête de réponse, x-amz-delete-marker: true

Quand vous obtenez un objet en spécifiant un versionId dans votre demande, si la version actuelle est un marqueur de suppression, Amazon S3 fournit les réponses suivantes :

  • Une erreur 405 (méthode non autorisée)

  • En-tête de réponse, x-amz-delete-marker: true

  • Un en-tête de réponse Last-Modified: timestamp (uniquement lors de l'utilisation des opérations HeadObjectou de GetObjectl'API)

L'en-tête de réponse x-amz-delete-marker: true vous indique que l'objet consulté était un marqueur de suppression. Cet en-tête de réponse ne renvoie jamais false, car lorsque la valeur est false, la version actuelle ou spécifiée de l'objet n'est pas un marqueur de suppression.

L'en-tête de réponse Last-Modified indique l'heure de création des marqueurs de suppression.

La figure suivante montre comment un appel d'API GetObject sur un objet dont la version actuelle est un marqueur de suppression répond avec une erreur 404 (Introuvable) et avec un en-tête de réponse incluant x-amz-delete-marker: true.


            Illustration qui montre un appel GetObject pour un marqueur de suppression renvoyant une erreur 404 (Introuvable).

Si vous effectuez un appel GetObject sur un objet en spécifiant un versionId dans votre demande, et si la version spécifiée est un marqueur de suppression, Amazon S3 répond avec une erreur 405 (Méthode non autorisée) et les en-têtes de réponse incluent x-amz-delete-marker: true et Last-Modified: timestamp.


            Illustration montrant un appel GetObject à un marqueur de suppression renvoyant une erreur 405 (Méthode non autorisée) si vous spécifiez l'ID de version du marqueur de suppression dans votre demande.

Le seul moyen de lister des marqueurs de suppression (et d'autres versions d'un objet) est d'utiliser la sous-ressource versions dans une demande ListObjectVersions. La figure suivante montre qu'une demande ListObjectsV2 ou ListObjects ne renvoie pas d'objets dont la version actuelle est un marqueur de suppression.


            Illustration qui montre comment un appel ListObjectsV2 ou ListObjects ne renvoie aucun marqueur de suppression dans la réponse.