Gestion des versions d'un objet - Amazon Simple Storage Service

Ce guide ne fait plus l'objet de mises à jour. Pour obtenir des informations et des instructions actuelles, reportez-vous au nouveau Guide de l'utilisateur Amazon S3.

Gestion des versions d'un objet

Utilisez la gestion des versions Amazon S3 pour conserver plusieurs versions d'un objet dans un même compartiment. Par exemple, vous pouvez stocker my-image.jpg (version 111111) et my-image.jpg (version 222222) dans un même compartiment. La gestion des versions S3 vous offre une protection contre les conséquences de suppressions et d'écrasements involontaires de fichiers. Vous pouvez également l’utiliser pour archiver les objets afin d'avoir accès aux versions précédentes.

Note

L'API SOAP ne prend pas en charge la gestion des versions S3. La prise en charge de SOAP via HTTP est obsolète, mais continue d'être disponible sur HTTP. Les nouvelles fonctions Amazon S3 ne sont pas prises en charge pour SOAP.

Pour personnaliser votre approche de la conservation des données et maîtriser les coûts de stockage, utilisez la gestion des versions des objets avec la Gestion du cycle de vie des objets. Pour obtenir des instructions sur la création de règles de cycle de vie S3 à l'aide d'AWS Management Console, veuillez consulter Comment créer la stratégie de cycle de vie d'un compartiment S3 ? dans le Guide de l'utilisateur de la console Amazon Simple Storage Service.

Si vous avez une stratégie de cycle de vie d'expiration des objets dans votre compartiment désactivé pour la gestion des versions et que vous souhaitez conserver le même comportement de suppression définitive lorsque vous activez la gestion des versions, vous devez ajouter une stratégie d'expiration des versions anciennes. La stratégie de cycle de vie d'expiration des versions anciennes gère les suppressions des versions anciennes d'objet dans le compartiment activé pour la gestion des versions. (Un compartiment activé pour la gestion des versions conserve une version d'objet actuelle et aucune ou plusieurs versions d'objet anciennes.)

Vous devez explicitement activer la gestion des versions S3 sur le compartiment. Par défaut, la gestion des versions S3 est désactivée. Que la gestion des versions soit activée ou non, chaque objet du compartiment possède un ID de version. Si vous n'avez pas activé la gestion des versions, Amazon S3 définit la valeur de l'ID de version sur null. Si la gestion des versions S3 est activée, Amazon S3 attribue une valeur d'ID de version à l'objet. Cette valeur le distingue des autres versions de la même clé.

L'activation et la désactivation de la gestion des versions se font au niveau des compartiments. Lorsque vous activez la gestion des versions dans un compartiment existant, les objets déjà stockés dans ce dernier ne changent pas. Les ID de version (null), le contenu et les autorisations restent les mêmes. Après avoir activé la gestion des versions S3 dans un compartiment, chaque objet ajouté à ce dernier obtient un ID de version, qui le distingue des autres versions de la même clé.

Seul Amazon S3 génère des ID de version, et ils ne peuvent pas être modifiés. Les ID de version sont des chaînes de caractères opaques Unicode, encodées UTF-8, prêtes pour l'URL, d’une longueur maximale de 1 024 octets. Voici un exemple : 3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo

Note

Pour plus de simplicité, tous les exemples utilisent des ID beaucoup plus courts.

Lorsque vous faites une demande PUT sur un objet dans un compartiment activé pour la gestion des versions, l'ancienne version n'est pas remplacée. Le schéma suivant montre que lorsqu'une nouvelle version de photo.gif est utilisée pour faire une demande PUT dans un compartiment qui contient déjà un objet avec le même nom, l'objet original (ID = 111111) reste dans le compartiment, Amazon S3 génère un nouvel ID de version (121212), et ajoute la toute nouvelle version au compartiment.

Cette fonctionnalité vous empêche de remplacer ou de supprimer par erreur des objets et vous permet de récupérer une version précédente d'un objet.

Lorsque vous faites une demande DELETE sur un objet, toutes les versions restent dans le compartiment et Amazon S3 insère un marqueur de suppression, comme illustré dans le schéma suivant.

Le marqueur de suppression devient la version actuelle de l'objet. Par défaut, les demandes GET récupèrent la version la plus récemment stockée. Le fait d'effectuer une simple demande GET Object lorsque la version actuelle est un marqueur de suppression renvoie une erreur 404 Not Found, comme illustré dans le schéma suivant.

Vous pouvez, toutefois, vous pouvez faire une demande GET sur une ancienne version d'un objet en spécifiant son ID de version. Dans le schéma suivant, vous faites une demande GET sur une version d'objet spécifique, 111111. Amazon S3 renvoie une version d'objet même s'il ne s'agit pas de la version actuelle.

Pour plus d'informations, consultez Récupération des versions d'objet.

Vous pouvez supprimer définitivement un objet en spécifiant la version que vous souhaitez supprimer. Seul le propriétaire d'un compartiment Amazon S3 peut supprimer une version de manière définitive. Le schéma suivant montre comment DELETE versionId supprime définitivement un objet d'un compartiment et montre qu'Amazon S3 n'insère pas de marqueur de suppression.

Vous pouvez ajouter une sécurité supplémentaire en configurant un compartiment pour activer la fonction Supprimer MFA (authentification multi-facteurs). Quand vous procédez ainsi, le propriétaire du compartiment doit inclure deux formes d'authentification dans toute demande pour supprimer une version ou changer l'état de la gestion des versions du compartiment. Pour de plus amples informations, veuillez consulter Fonction Supprimer MFA.

Important

Si vous remarquez une augmentation importante du nombre de réponses de ralentissement HTTP 503 reçues pour les demandes d'objet PUT ou DELETE Amazon S3 concernant un compartiment pour lequel la gestion des versions S3 est activée, il est possible qu'il y ait un ou plusieurs objets du compartiment avec des millions de versions. Pour plus d'informations, consultez Dépannage d'Amazon S3.

Pour plus d'informations, consultez Utilisation de la gestion des versions.