Suppression des versions d'objet d'un compartiment activé pour la gestion des versions - 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.

Suppression des versions d'objet d'un compartiment activé pour la gestion des versions

Vous pouvez supprimer des versions d'objets des compartiments Amazon S3 quand vous le souhaitez. Vous pouvez également définir des règles de configuration du cycle de vie pour les objets qui possèdent un cycle de vie bien défini pour demander à Amazon S3 d'expirer les versions d'objet actuelles ou de supprimer définitivement les anciennes versions d'objet. Lorsque le compartiment est activé ou désactivé pour la gestion des versions, les actions de la configuration du cycle de vie fonctionnent comme suit :

  • L'action Expiration s'applique à la version actuelle de l'objet. Au lieu de supprimer la version actuelle de l'objet, Amazon S3 la conserve en tant que version ancienne en ajoutant un marqueur de suppression, qui devient ensuite la version actuelle.

  • L'action NoncurrentVersionExpiration s'applique aux anciennes versions d'objet, et Amazon S3 les supprime définitivement. Vous ne pouvez pas récupérer définitivement les objets supprimés.

Pour plus d'informations sur le cycle de vie S3, consultez Gestion du cycle de vie de votre stockage et Exemples de configuration de cycle de vie S3

Pour connaître le nombre de versions actuelles et anciennes des objets de vos compartiments, vous pouvez utiliser les métriques Amazon S3 Storage Lens. S3 Storage Lens est une fonction d'analyse du stockage dans le cloud que vous pouvez utiliser pour obtenir une visibilité à l'échelle de l'organisation sur l'utilisation et l'activité du stockage d'objets. Pour plus d'informations, consultez Using S3 Storage Lens to optimize your storage costs (Utilisation de S3 Storage Lens pour optimiser vos coûts de stockage). Pour obtenir la liste complète des métriques, consultez le Glossaire des métriques S3 Storage Lens.

Note

Les tarifs habituels d'Amazon S3 s'appliquent à chaque version d'un objet stockée et transférée, y compris les versions d'objet non actuelles. Pour plus d’informations, consultez Tarification Amazon S3.

Supprimer les cas d'utilisation de demandes

Une demande DELETE possède les cas d'utilisation suivants :

  • Lorsque la gestion des versions est activée, une simple demande DELETE ne peut pas supprimer définitivement un objet. (Une demande DELETE simple est une demande qui ne spécifie pas d'ID de version.) À la place, Amazon S3 insère un marqueur de suppression dans le compartiment qui devient la version actuelle de l'objet avec un nouvel ID.

    Lorsque vous essayez de faire une demande GET sur un objet dont la version actuelle est un marqueur de suppression, Amazon S3 se comporte comme si l'objet avait été supprimé (même si ce n'est pas le cas) et renvoie une erreur 404. Pour plus d’informations, consultez Utilisation des marqueurs de suppression.

    Le schéma suivant montre qu'une simple demande DELETE ne supprime pas réellement l'objet spécifié. Au lieu de cela, Amazon S3 insère un marqueur de suppression.

  • Pour supprimer définitivement les objets soumis à la gestion des versions, vous devez utiliser DELETE Object versionId.

    Le schéma suivant montre que la suppression d'un objet spécifié supprime définitivement cet objet.

Pour supprimer des versions d'un objet

Vous pouvez supprimer des versions d'objets dans Amazon S3 à l'aide de la console, AWS des SDK, de l'API REST ou du AWS Command Line Interface.

  1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans la liste Buckets (Compartiments), choisissez le nom du compartiment qui contient l'objet.

  3. Dans la liste Objets, choisissez le nom de l'objet.

  4. Choisissez Versions.

    Amazon S3 affiche toutes les versions de l'objet.

  5. Sélectionnez la case à cocher en regard de l'ID de version des versions que vous supprimer définitivement.

  6. Choisissez Supprimer.

  7. Dans Supprimer définitivement les objets ? , saisissez permanently delete.

    Avertissement

    Lorsque vous supprimez définitivement une version d'objet, l'action ne peut pas être annulée.

  8. Choisissez Delete objects (Supprimer les objets).

    Amazon S3 supprime la version de l'objet.

Pour des exemples de suppression d'objets à l'aide AWS des SDK pour Java, .NET et PHP, consultezSuppression d'objets Amazon S3. Les exemples de suppression d'objets dans des compartiments non versionnés et activés pour la gestion des versions sont les mêmes. Toutefois, pour les compartiments activés pour la gestion des versions, Simple Storage Service (Amazon S3) attribue un numéro de version. Sinon, le numéro de version est null.

Pour plus d'informations sur l'utilisation d'autres AWS SDK, consultez le AWS Developer Center.

Python

Pour obtenir des instructions sur la façon de créer et de tester un exemple pratique, consultez Utilisation de l AWS SDK for Python (Boto).

L'exemple de code Python suivant supprime définitivement un objet assorti d'une gestion des versions en supprimant toutes ses versions.

def permanently_delete_object(bucket, object_key): """ Permanently deletes a versioned object by deleting all of its versions. Usage is shown in the usage_demo_single_object function at the end of this module. :param bucket: The bucket that contains the object. :param object_key: The object to delete. """ try: bucket.object_versions.filter(Prefix=object_key).delete() logger.info("Permanently deleted all versions of object %s.", object_key) except ClientError: logger.exception("Couldn't delete all versions of %s.", object_key) raise
Pour supprimer une version spécifique d'un objet
  • Dans une demande DELETE, spécifiez un ID de version.

Exemple — Suppression d'une version spécifique

L'exemple suivant supprime la version UIORUnfnd89493jJFJ de photo.gif.

DELETE /photo.gif?versionId=UIORUnfnd89493jJFJ HTTP/1.1 Host: bucket.s3.amazonaws.com Date: Wed, 12 Oct 2009 17:50:00 GMT Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE= Content-Type: text/plain Content-Length: 0

La commande suivante supprime un objet nommé test.txt d'un compartiment nommé DOC-EXAMPLE-BUCKET1. Pour supprimer une version spécifique d'un objet, vous devez être le propriétaire du compartiment et vous devez utiliser la sous-ressource d'ID de version.

aws s3api delete-object --bucket DOC-EXAMPLE-BUCKET1 --key test.txt --version-id versionID

Pour plus d'informations sur delete-object, consultez delete-object dans la référence des commandes AWS CLI .

Pour plus d'informations sur la suppression des versions d'objet, veuillez consulter ces rubriques :