Éditer les règles de cycle de vie d’un bucket

Les règles de cycle de vie permettent de programmer l’expiration d’objets, des changements de classe de stockage et le nettoyage des anciennes versions ou des envois multipart incomplets. Le service exécute ces règles même lorsque S3Client est fermé.

Avant d’enregistrer, vérifiez les objets déjà présents : ils peuvent remplir les conditions d’une nouvelle règle dès son enregistrement. L’expiration d’une version non courante la supprime définitivement. Sur Amazon S3, l’expiration d’un objet courant dépend du versionnement : elle peut créer un marqueur de suppression ou supprimer une version null. Le service exécute les actions de façon différée. Documentation Amazon S3 sur l’expiration.

Préparer l’éditeur

Ouvrez File > Accounts…, sélectionnez le compte, cliquez sur Edit…, puis ouvrez Capabilities. Dans Lifecycle, configurez les capacités de lecture, d’écriture et de suppression de la configuration, ainsi que la politique appliquée à ce bucket. Les onglets Features, Limits et Assignments décrivent les filtres, actions et combinaisons autorisés. Dans Storage classes, la politique de stockage fixe les destinations et contraintes des transitions. Choisissez des valeurs correspondant au service.

Ces réglages ne donnent aucune permission. Sur Amazon S3, la lecture demande s3:GetLifecycleConfiguration et les modifications s3:PutLifecycleConfiguration. L’onglet Lifecycle apparaît pour un seul bucket à usage général lorsque la lecture est configurée. Sans capacité d’écriture, les règles sont consultables mais non modifiables. Delete configuration reste disponible si la capacité de suppression est activée et qu’une configuration distante existe. Une erreur de lecture empêche l’édition.

  1. Dans le panneau S3, sélectionnez le bucket.
  2. Ouvrez Properties > Lifecycle et attendez la lecture.
  3. Sélectionnez une règle dans Lifecycle rules pour consulter ses filtres et actions.

Ajouter une règle et définir sa cible

Cliquez sur Add, puis renseignez Rule name. Le nom, s’il est renseigné, doit être unique et ne pas dépasser 255 caractères. Une configuration contient de 1 à 1 000 règles ; chaque règle, même désactivée, doit avoir au moins une action valide.

Une nouvelle règle est activée par défaut si la politique du compte autorise cet état ; elle est désactivée si seul cet état est permis. Pour préparer une règle active sans déclencher ses actions après enregistrement, utilisez Disable lorsque la politique le permet. Les modifications restent locales jusqu’à OK dans les propriétés.

Dans Filters, les critères suivants se cumulent lorsqu’ils sont autorisés par la politique :

CritèreEffet
PrefixRetient les objets dont la clé commence par le texte saisi, par exemple logs/. Les caractères génériques ne sont pas interprétés.
Minimum sizeRetient les objets strictement plus grands que la taille indiquée.
Maximum sizeRetient les objets strictement plus petits que la taille indiquée.

Les tailles sont des entiers en B, KiB, MiB, GiB ou TiB ; les unités sont binaires. La borne minimale doit être inférieure à la maximale. Sans critère, la règle concerne tous les objets éligibles si la politique autorise ce cas.

Chaque borne accepte de 0 à 50 TiB, soit 54 975 581 388 800 octets. Cochez Minimum size ou Maximum size pour appliquer la borne correspondante.

Pour réunir les deux bornes dans la même règle, la politique du compte doit autoriser Combined minimum and maximum object sizes, les deux filtres de taille et AND combinations dans Account > Capabilities > Lifecycle > Features. Sans cette combinaison, sélectionner une borne rend l’autre indisponible ; chaque borne reste utilisable séparément si le service la prend en charge.

Dans Tags, cliquez sur Add, puis éditez Key et Value dans la liste. Ces filtres comparent les tags des objets, pas ceux du bucket. Jusqu’à 10 conditions sont acceptées, éventuellement moins selon la politique. Chaque clé doit être non vide et unique en tenant compte de la casse ; une valeur vide est permise. Tous les tags et autres critères définis doivent correspondre. Sélectionnez une ligne et utilisez Remove pour la retirer.

Les filtres par tags ne se combinent pas avec le nettoyage des envois multipart incomplets ni avec Expired delete marker. Les autres combinaisons et limites dépendent de la politique du compte ; corrigez le diagnostic affiché avant d’enregistrer.

Définir les actions

Versions courantes

Dans Current versions, cliquez sur Add transition ou Add expiration. Dans Lifecycle action, choisissez le Trigger ou le Type, renseignez ses paramètres puis cliquez sur OK.

  • After days utilise l’âge de l’objet. Days vaut au moins 0 pour une transition, au moins 1 pour une expiration.
  • At a date utilise Date, une date fixe, si ce déclencheur est pris en charge.
  • Expired delete marker, proposé pour l’expiration si disponible, supprime un marqueur de suppression devenu la seule entrée de sa clé.
  • Une transition demande aussi Destination, une classe de stockage autorisée par la politique.

Les champs de délai acceptent jusqu’à 2 147 483 647 jours ; le service peut imposer des limites plus basses. Date est affichée au format yyyy-MM-dd et enregistrée à minuit UTC. Une date passée peut rendre immédiatement éligibles les objets correspondants.

Dans une règle, les actions courantes ne mélangent pas un calendrier en jours et un calendrier par date. Deux transitions n’utilisent pas le même délai ou la même date. Les contraintes de classe peuvent imposer un âge minimal et un temps minimal dans la classe précédente. L’éditeur vérifie aussi la cohérence entre transitions et expiration.

Une transition vers une classe d’archive peut imposer une restauration avant lecture. Les transitions et les durées minimales de stockage peuvent aussi entraîner des frais. Consultez les classes et archives avant de choisir la destination.

Versions non courantes

Les actions de Previous versions nécessitent un bucket dont le versionnement est activé ou suspendu. Cliquez sur Add transition ou Add expiration, puis renseignez Days, au moins 1, comptés depuis le passage à l’état non courant.

Lorsque disponible, Retain newer noncurrent versions conserve entre 1 et 100 versions non courantes plus récentes. L’action attend alors à la fois le délai et le dépassement de ce nombre. Une transition demande aussi Destination. Les possibilités de transitions multiples et de cumul d’actions dépendent de la politique.

Deux transitions de versions non courantes ne peuvent pas utiliser le même nombre de jours.

Envois incomplets et taille minimale de transition

Dans Maintenance, cochez Abort incomplete multipart uploads, puis saisissez le nombre de jours depuis le démarrage, au moins 1. Les parties sont supprimées par le service et l’envoi ne peut plus reprendre.

Default minimum object size for transitions concerne l’ensemble de la configuration :

  • Service default laisse le service choisir.
  • Block all transitions below 128 KiB bloque par défaut les transitions des objets de moins de 128 KiB vers toutes les classes.
  • Allow Glacier Flexible Retrieval and Deep Archive below 128 KiB autorise par défaut ces petits objets à passer vers Glacier Flexible Retrieval ou Deep Archive.

Les valeurs explicites apparaissent selon la politique. Ce réglage est un comportement par défaut. Sur Amazon S3, les filtres de taille explicites d’une règle prennent le dessus et peuvent autoriser une transition sous 128 KiB. Voir la documentation AWS sur les transitions.

Modifier, désactiver ou supprimer

Sélectionnez une règle puis modifiez ses champs. Duplicate copie ses critères et actions ; attribuez un nom unique à la copie. Disable ou Enable change son état. Dans les tables d’actions, Edit ouvre l’action sélectionnée et Remove la retire.

Remove à côté de la liste retire la règle après confirmation. Delete configuration prépare la suppression de toute la configuration. Désactiver ou supprimer des règles ne restaure aucun objet ni aucune version déjà supprimée ou déplacée.

Retirer la dernière règle prépare aussi la suppression complète de la configuration, avec confirmation après OK ; la capacité de suppression est nécessaire.

  1. Vérifiez les règles, leur état et les diagnostics.
  2. Cliquez sur OK dans les propriétés.
  3. Confirmez la suppression complète si vous l’avez demandée.
  4. Après l’opération, rouvrez Lifecycle pour vérifier la configuration.

Si S3Client ne peut pas représenter le document distant, il affiche The existing lifecycle configuration contains unsupported data and cannot be edited. et ne présente pas de liste partielle. Vous pouvez préparer une nouvelle configuration avec Add, puis confirmer Replace uneditable lifecycle configuration après OK, ou utiliser Delete configuration si disponible. Le remplacement abandonne tout le document distant, y compris les éléments non affichés.

S3Client relit la configuration avant d’écrire. Dans Lifecycle configuration changed, Yes remplace la configuration distante ; No la recharge et abandonne vos modifications locales. Un autre client peut encore modifier la configuration entre cette vérification et l’enregistrement. Si la vérification échoue, rétablissez l’accès puis rouvrez les propriétés. Après un changement des réglages du compte, fermez et rouvrez les propriétés.

Si vous modifiez plusieurs onglets, les opérations sont appliquées successivement. Une réussite antérieure n’est pas annulée si une opération suivante échoue ; vérifiez les réglages réellement enregistrés avant de recommencer.

Sur Amazon S3, une expiration de version non courante ne supprime pas une version protégée par Object Lock. Voir Object Lock.

Contraintes du service et règles associées

La politique du compte détermine les états de règle et de versionnement autorisés. Disable est indisponible lorsque le service accepte uniquement des règles actives. Si seuls certains états de versionnement sont compatibles, S3Client doit connaître un état autorisé avant d’enregistrer la configuration.

Avec Require paired expiration rules, une expiration After days et une expiration Expired delete marker doivent apparaître dans deux règles au filtre et à l’état identiques. Sélectionnez une règle, puis cliquez sur Add paired rule, à droite de la liste. Pour une expiration en jours, le bouton ajoute la règle de nettoyage ; pour un nettoyage, il ouvre Lifecycle action afin de saisir le délai de l’expiration associée. Si la règle complémentaire existe déjà, elle est sélectionnée. Vérifiez les deux règles avant OK. Modifier le filtre ou supprimer une seule règle peut rendre la configuration invalide.

Le preset Backblaze B2 applique cette contrainte. Utilisez Prefix avec une valeur vide pour tout le bucket. Les préfixes identiques et imbriqués sont acceptés. Backblaze peut renommer la règle de nettoyage lors de la relecture ; son identifiant n’est pas une condition d’association à l’envoi. Les dates, tags, tailles, transitions et nombres de versions à conserver restent indisponibles dans ce preset.