Gérer les versions et supprimer des objets

Le versionnement conserve plusieurs contenus sous une même clé. Un marqueur de suppression est une entrée d’historique sans contenu : lorsqu’il est courant, la clé paraît supprimée dans une vue normale. Supprimer une clé et supprimer une version précise ont donc des effets différents.

Afficher les versions

Ouvrez File > Accounts…, sélectionnez le compte, cliquez sur Edit…, puis ouvrez Capabilities > Data protection. Activez Object versions seulement si le service permet l’accès aux versions. Si Read bucket versioning est disponible, S3Client vérifie que le bucket est Enabled ou Suspended ; la lecture d’un état inconnu demande s3:GetBucketVersioning. Sans cette capacité de lecture, les versions restent accessibles directement. Le listing nécessite s3:ListBucketVersions, et la lecture du contenu s3:GetObjectVersion. Voir le versionnement du bucket.

  1. Dans le panneau S3, sélectionnez le bucket dans l’arborescence ou ouvrez-le en vue liste.
  2. Activez Show versions dans le menu contextuel du bucket ou, en vue liste ouverte sur ce bucket, dans la barre d’outils. Ses dossiers héritent de ce mode.
  3. Attendez le listing des versions et marqueurs.
  4. Sélectionnez la ligne voulue ; utilisez Properties > General pour copier Version ID: et vérifier Latest version:.

Si Show versions reste désactivé pendant la vérification, attendez. Si l’état de versionnement ne peut pas être lu, corrigez l’accès et actualisez le bucket avec Refresh. Suspendre le versionnement ne supprime pas l’historique.

Une version de contenu permet les opérations compatibles, notamment copie et téléchargement. Un marqueur de suppression ne peut pas être téléchargé ni prévisualisé et n’a ni ACL, ni tags, ni protection Object Lock. Une ancienne version de marqueur de dossier représente seulement ce marqueur, pas le contenu du dossier et de ses sous-dossiers.

Rendre un ancien contenu courant

Cette opération suit les conditions des copies S3. Une version immuable sélectionnée reste identifiée par son versionId, même si la condition ETag source est désactivée. La version null peut être remplacée et ne fournit pas cette garantie d’immuabilité.

Pour rendre une ancienne version courante, S3Client copie son contenu sous la même clé. Une version source à identifiant immuable reste inchangée. Si le versionnement est actif, la copie crée une nouvelle version courante. S’il est suspendu, elle peut remplacer la version null. Vos identifiants doivent autoriser la lecture de la source, notamment s3:GetObjectVersion, l’écriture de destination, notamment s3:PutObject, et les opérations de chiffrement nécessaires. Une archive doit d’abord être rendue lisible.

Make current… demande la conservation de l’ACL source lorsque les opérations ACL du compte sont activées. Si Enable ACL operations for this account est décoché, la copie utilise le défaut de destination sans requête ni en-tête ACL ; l’ACL de la version historique n’est pas garantie reproduite sur l’objet courant. Voir les effets de la désactivation locale.

  1. Activez Show versions et sélectionnez la version de contenu à récupérer.
  2. Ouvrez Properties > General et attendez le chargement.
  3. Cliquez sur Make current….
  4. Dans Make current, choisissez le chiffrement de destination : Reuse source settings, Use service settings, ou une méthode explicite disponible.
  5. Vérifiez les options de clé ou contexte et les avertissements de préservation des ACL.
  6. Cliquez sur OK pour lancer la copie.
  7. Actualisez et contrôlez la nouvelle version courante et son contenu.

Ce bouton est proposé pour une version de contenu précise, pas pour l’objet courant ouvert sans Show versions ni pour un marqueur de suppression. Lorsque la version sélectionnée était la dernière au listing, son nom devient Create new version… si le versionnement du bucket est connu comme activé, ou Copy as current… sinon. Le dialogue reprend ce nom sans les points de suspension. Ces commandes copient la version sélectionnée sous la même clé ; le libellé repose sur le dernier listing et l’état connu du bucket, qui peuvent avoir changé.

Le bouton lance sa propre opération. Annuler ensuite les propriétés n’annule pas la copie. Ses paramètres de chiffrement sont distincts des changements en attente dans les propriétés de la version. Voir le chiffrement.

Vous pouvez aussi copier une version vers un autre emplacement avec les commandes de copie et déplacement. Un marqueur ne contient rien à récupérer.

Vérifier la portée avant suppression

Vérifiez le mode d’affichage et les lignes sélectionnées. Les permissions usuelles sont s3:DeleteObject pour une clé et s3:DeleteObjectVersion pour une version. Object Lock peut interdire la suppression même avec ces droits.

Cible et commandeConséquence
Objet courant, sans Show versions, DeleteSupprime la clé courante. Avec versionnement actif, S3 crée normalement un marqueur et conserve les anciennes versions. Sans versionnement, le contenu n’est pas récupérable par S3Client. Avec versionnement suspendu, la version null peut être supprimée et un marqueur null créé.
Dossier logique, sans Show versions, DeleteSupprime les clés courantes sous le préfixe, sous-dossiers inclus, indépendamment des filtres d’affichage. Chaque clé suit les conséquences décrites pour l’objet courant ; l’historique n’est pas purgé.
Version précise, Delete Version ou Delete VersionsSupprime définitivement les versions choisies. Retirer la version courante peut révéler une version précédente ou un marqueur.
Marqueur, Remove Delete Marker ou Remove Delete MarkersSupprime définitivement les marqueurs choisis. Retirer un marqueur courant rend l’objet visible si l’entrée précédente contient des données.
Dossier logique en vue versions, Delete All Objects and Versions…Supprime définitivement les versions et marqueurs sous les préfixes choisis, sous-dossiers inclus. Il ne s’agit pas du seul marqueur de dossier. Les téléversements multipart incomplets ne sont pas annulés.

En vue versions, ne mélangez pas dossiers logiques et lignes de versions ou de marqueurs dans la même sélection : Delete est alors désactivé. Sélectionnez les dossiers seuls pour supprimer leur contenu complet, ou les lignes seules pour supprimer des versions précises. Une version de marqueur de dossier est une ligne d’objet ; sa suppression ne supprime pas les descendants du dossier.

Les capacités Delete multiple objects et Delete multiple object versions, dans File > Accounts… > Edit… > Capabilities > Listing & deletion, autorisent le regroupement des requêtes. Elles ne sont pas nécessaires pour supprimer plusieurs versions sélectionnées : S3Client peut les supprimer individuellement. Les permissions de suppression restent requises pour chaque cible.

Une suppression récursive peut réussir en partie avant une erreur ou une annulation. Les actions terminées ne sont pas annulées. Retirer un marqueur courant peut rendre un contenu de nouveau accessible ; vérifiez cette conséquence avant confirmation.

Supprimer une sélection

  1. Dans le panneau S3, choisissez le mode d’affichage correspondant à la portée voulue.
  2. Sélectionnez les objets, versions ou marqueurs concernés.
  3. Dans le menu contextuel, utilisez la commande de suppression affichée.
  4. Lisez la confirmation et les conséquences.
  5. Confirmez avec Yes, ou Delete permanently pour une suppression complète de dossiers.
  6. Attendez la fin, puis utilisez Refresh et éventuellement Show versions pour vérifier les éléments restants.

Pour plusieurs versions sélectionnées dans un compte compatible Object Lock, la confirmation peut proposer Also delete selected versions locked in Governance mode. L’option nécessite les capacités Read bucket Object Lock et Bypass Governance retention dans Data protection, un bucket dont Object Lock est vérifié comme activé et la permission s3:BypassGovernanceRetention. Si l’état du bucket est inconnu, sa vérification nécessite une lecture distante et la permission s3:GetBucketObjectLockConfiguration. Elle ne contourne ni Compliance ni une conservation légale. Voir Object Lock.

Cette case n’est pas proposée pour une seule version sélectionnée ni dans Delete All Objects and Versions…. La vérification du bucket peut nécessiter s3:GetBucketObjectLockConfiguration ; si elle échoue, la suppression sans contournement reste disponible.

Deletion partially completed, Deletion incomplete, Deletion canceled ou Deletion completed with warnings indique que certaines actions peuvent déjà avoir réussi. Consultez les erreurs et actualisez avant de recommencer. Une actualisation interrompue peut laisser une vue qui ne reflète pas toutes les suppressions.

Pour supprimer selon l’âge, conserver certaines versions ou annuler des téléversements incomplets, utilisez Delete with Options…, ou Delete Objects and Versions with Options… en vue versions, depuis un bucket ou dossier unique. Voir la suppression avec options.

Historique incohérent renvoyé par le service

Si le service renvoie plusieurs versions courantes pour une même clé, S3Client signale InconsistentVersionListing. Le contrôle porte aussi sur les marqueurs de suppression et les pages suivantes. S3Client ne modifie pas les valeurs IsLatest et ne déduit pas la version courante des dates ou des identifiants de version.

La liste concernée est rejetée plutôt que présentée comme un historique complet. Consultez l’erreur pour identifier la clé, puis utilisez Refresh. Si l’erreur persiste, transmettez le diagnostic à l’administrateur du stockage. Une modification simultanée du contenu peut également rendre le parcours incohérent ; le message ne suffit pas à attribuer la cause au fournisseur.

Les opérations qui ciblent uniquement des identifiants de version précis, sans décision fondée sur le statut courant, restent possibles. Le contrôle ne change pas les permissions ni les protections Object Lock.