Éléments de la configuration du cycle de vie - 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.

Éléments de la configuration du cycle de vie

Vous spécifiez une configuration de cycle de vie S3 au format XML, composée d'une ou de plusieurs règles de cycle de vie.

<LifecycleConfiguration> <Rule> ... </Rule> <Rule> ... </Rule> </LifecycleConfiguration>

Chaque règle se compose des éléments suivants :

  • Les métadonnées de règle qui incluent un ID de règle et un statut indiquant si la règle est activée ou non. Si une règle est désactivée, Amazon S3 n'exécute aucune action spécifiée dans la règle.

  • Des objets d'identification du filtre auxquels la règle s'applique. Vous pouvez spécifier un filtre en utilisant la taille de l'objet, un préfixe de clé d'objet, une ou plusieurs balises d'objet, ou une combinaison de filtres.

  • Une ou plusieurs actions de transition ou d'expiration avec une date ou une durée dans le cycle de vie de l'objet lorsque vous voulez qu'Amazon S3 exécute l'action spécifiée.

Les sections suivantes décrivent les éléments XML dans une configuration de cycle de vie S3. Pour obtenir des exemples de configuration, veuillez consulter Exemples de configuration de cycle de vie S3.

Élément d'ID

Une configuration de cycle de vie S3 peut contenir jusqu'à 1 000 règles. Cette limite n'est pas réglable. L'élément <ID> identifie de manière unique une règle. La longueur des ID est limitée à 255 caractères.

Élément de statut

La valeur de l'élément <Statut> peut être soit Activé, soit Désactivé. Si une règle est désactivée, Amazon S3 n'exécute aucune action définie dans la règle.

Élément de filtre

Une règle de cycle de vie peut s'appliquer à tous les objets ou un sous-ensemble d'objets dans un compartiment en fonction de l'élément <Filtre>que vous spécifiez dans la règle de cycle de vie.

Vous pouvez filtrer les objets par préfixe de clé, balises d'objet ou une combinaison des deux (auquel cas, Amazon S3 utilise un opérateur logique AND pour combiner les filtres). Considérez les exemples suivants :

  • Spécification d'un filtre à l'aide de préfixes de clé – Cet exemple montre une règle de cycle de vie S3 qui s'applique à un sous-ensemble d'objets en fonction du préfixe du nom de clé (logs/). Par exemple, la règle de cycle de vie s'applique aux objets logs/mylog.txt, logs/temp1.txt et logs/test.txt.. La règle ne s'applique pas à l'objet example.jpg.

    <LifecycleConfiguration> <Rule> <Filter> <Prefix>logs/</Prefix> </Filter> transition/expiration actions. ... </Rule> ... </LifecycleConfiguration>

    Si vous souhaitez appliquer une action de cycle de vie à un sous-ensemble d'objets en fonction de préfixes de noms de clé différents, spécifiez des règles distinctes. Dans chaque règle, spécifiez un filtre basé sur le préfixe. Par exemple, pour décrire une action de cycle de vie pour les objets avec les préfixes de clé projectA/ et projectB/, vous spécifiez deux règles comme illustré ci-après.

    <LifecycleConfiguration> <Rule> <Filter> <Prefix>projectA/</Prefix> </Filter> transition/expiration actions. ... </Rule> <Rule> <Filter> <Prefix>projectB/</Prefix> </Filter> transition/expiration actions. ... </Rule> </LifecycleConfiguration>

    Pour en savoir plus sur les clés d'objet, consultez Création de noms de clés d'objet.

  • Spécification d'un filtre en fonction des balises d'objet – Dans l'exemple suivant, la règle de cycle de vie spécifie un filtre basé sur une balise (clé) et une valeur (valeur). La règle s'applique ensuite uniquement à un sous-ensemble d'objets avec la balise spécifique.

    <LifecycleConfiguration> <Rule> <Filter> <Tag> <Key>key</Key> <Value>value</Value> </Tag> </Filter> transition/expiration actions. ... </Rule> </LifecycleConfiguration>

    Vous pouvez spécifier un filtre basé sur plusieurs balises. Vous devez inclure les balises dans l'élément <And> affiché dans l'exemple suivant. La règle indique à Amazon S3 d'exécuter des actions de cycle de vie sur des objets avec deux balises (avec la clé de balise et la valeur spécifiques).

    <LifecycleConfiguration> <Rule> <Filter> <And> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> <Tag> <Key>key2</Key> <Value>value2</Value> </Tag> ... </And> </Filter> transition/expiration actions. </Rule> </Lifecycle>

    La règle de cycle de vie s'applique aux objets qui ont tous deux des balises spécifiées. Amazon S3 effectue une opération logique AND. Notez ce qui suit :

    • Chaque balise doit correspondre exactement à la clé et à la valeur.

    • La règle s'applique à un sous-ensemble d'objets dont toutes les étiquettes sont spécifiées dans la règle. Si un objet dispose d'étiquettes supplémentaires spécifiées, la règle continue à s'appliquer.

    Note

    Lorsque vous spécifiez plusieurs balises dans un filtre, chaque clé de balise doit être unique.

  • Spécification d'un filtre basé sur les deux préfixes et une ou plusieurs balises – Dans une règle de cycle de vie, vous pouvez spécifier un filtre basé sur le préfixe de clé et une ou plusieurs étiquettes. Une fois encore, vous devez envelopper tous ces éléments dans un élément <And>, comme illustré ci-après.

    <LifecycleConfiguration> <Rule> <Filter> <And> <Prefix>key-prefix</Prefix> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> <Tag> <Key>key2</Key> <Value>value2</Value> </Tag> ... </And> </Filter> <Status>Enabled</Status> transition/expiration actions. </Rule> </LifecycleConfiguration>

    Amazon S3 associe ces filtres à l'aide d'un opérateur logique AND. Autrement dit, la règle s'applique au sous-ensemble d'objets avec un préfixe de clé et des balises spécifiques. Un filtre peut avoir seulement un préfixe et zéro, une ou plusieurs balises.

  • Vous pouvez spécifier un filtre vide, auquel cas la règle s'applique à tous les objets dans le compartiment.

    <LifecycleConfiguration> <Rule> <Filter> </Filter> <Status>Enabled</Status> transition/expiration actions. </Rule> </LifecycleConfiguration>
  • Pour filtrer une règle par taille d'objet, vous pouvez spécifier une taille minimale (ObjectSizeGreaterThan) ou une taille maximale (ObjectSizeLessThan), ou vous pouvez spécifier une plage de tailles d'objet.

    Les valeurs de taille d'objet sont exprimées en octets. La taille maximale du filtre est de 5 To. Certaines classes de stockage présentent des limites relatives à la taille minimale des objets. Pour plus d'informations, consultez Comparaison des classes de stockage Amazon S3.

    <LifecycleConfiguration> <Rule> <Filter> <ObjectSizeGreaterThan>500</ObjectSizeGreaterThan> </Filter> <Status>Enabled</Status> transition/expiration actions. </Rule> </LifecycleConfiguration>

    Si vous spécifiez une plage de tailles d'objet, l'entier ObjectSizeGreaterThan doit être inférieur à la valeur ObjectSizeLessThan. Si vous utilisez plusieurs filtres, vous devez les envelopper dans un élément <And>. L'exemple suivant montre comment spécifier des objets dans une plage comprise entre 500 et 64 000 octets.

    <LifecycleConfiguration> <Rule> <Filter> <And> <Prefix>key-prefix</Prefix> <ObjectSizeGreaterThan>500</ObjectSizeGreaterThan> <ObjectSizeLessThan>64000</ObjectSizeLessThan> </And> </Filter> <Status>Enabled</Status> transition/expiration actions. </Rule> </LifecycleConfiguration>

Éléments pour décrire les actions du cycle de vie

Vous pouvez indiquer à Amazon S3 d'exécuter des actions spécifiques dans le cycle de vie d'un objet en spécifiant une ou plusieurs des actions prédéfinies dans une règle de cycle de vie S3. L'effet de ces actions dépend de l'état du contrôle de version de votre compartiment.

  • L'élément d'action Transition – Vous spécifiez l'action Transition afin d'effectuer la transition des objets d'une classe de stockage vers une autre. Pour en savoir plus sur la transition d'objets, consultez Transitions prises en charge et contraintes connexes. Lorsqu'une date ou une durée spécifiée dans le cycle de vie d'un objet est atteinte, Amazon S3 effectue la transition.

    Pour un compartiment activé pour le contrôle de version (compartiment activé pour le contrôle de version ou suspendu pour le contrôle de version), l'action Transition s'applique à la version d'objet actuelle. Pour gérer des versions anciennes, Amazon S3 définit l'action NoncurrentVersionTransition (décrite ultérieurement dans cette rubrique).

  • L'élément d'action Expiration – L'action Expiration fait expirer les objets identifiés dans la règle et s'applique aux objets éligibles dans l'une des classes de stockage Amazon S3. Pour plus d'informations sur les classes de stockage, consultez Utilisation des classes de stockage Simple Storage Service (Amazon S3). Amazon S3 rend tous les objets expirés indisponibles. Que les objets soient supprimés définitivement ou pas dépend de l'état de contrôle de version du compartiment.

    • Compartiment non activé pour la gestion des versions – L'action Expiration entraîne la suppression définitive de l'objet par Amazon S3.

    • Compartiment activé pour la gestion des versions – Pour un compartiment activé pour la gestion des versions (c'est-à-dire dont la gestion des versions est activée ou désactivée), plusieurs considérations guident la façon dont Amazon S3 gère l'action Expiration. Pour les compartiments avec gestion des versions activée ou suspendue, les règles suivantes s'appliquent :

      • L'action Expiration s'applique uniquement à la version actuelle (elle n'a aucun impact sur les versions d'objet anciennes).

      • Amazon S3 n'effectue aucune action en présence d'une ou de plusieurs versions d'objet et si le marqueur de suppression est la version actuelle.

      • Si la version d'objet actuelle est la seule version d'objet et qu'elle est aussi un marqueur de suppression (également appelé marqueur de suppression d'objet expiré, où toutes les versions d'objet sont supprimées et où il ne reste que le marqueur de suppression), Amazon S3 supprime le marqueur de suppression d'objet expiré. Vous pouvez aussi utiliser l'action d'expiration pour indiquer à Amazon S3 de supprimer tout marqueur de suppression d'objet expiré. Pour voir un exemple, consultez Exemple 7 : Suppression des marqueurs de suppression d'objet expiré.

      Pour plus d’informations, consultez Utilisation de la gestion des versions dans les compartiments S3.

      Tenez également compte de ce qui suit lors de la configuration d'Amazon S3 pour gérer l'expiration :

      • Compartiment activé pour le contrôle de version

        Si la version d'objet actuelle n'est pas un marqueur de suppression, Amazon S3 ajoute un marqueur de suppression avec un ID de version unique. Cela définit la version actuelle comme ancienne et le marqueur de suppression devient la version actuelle.

      • Compartiment suspendu pour le contrôle de version

        Dans un compartiment désactivé pour la gestion des versions, l'action d'expiration entraîne la création par Amazon S3 d'un marqueur de suppression avec l'ID de version Null. Ce marqueur de suppression remplace toute version d'objet par un ID de version nul dans la hiérarchie des versions, ce qui supprime l'objet.

De plus, Amazon S3 fournit les actions suivantes que vous pouvez utiliser pour gérer des versions d'objet anciennes dans un compartiment activé pour la gestion des versions (c'est-à-dire, un compartiment dont la gestion des versions est activée ou désactivée).

  • NoncurrentVersionTransitionélément d'action — Utilisez cette action pour spécifier à quel moment Amazon S3 doit transférer les objets vers la classe de stockage spécifiée. Vous pouvez baser cette expiration sur un certain nombre de jours à partir du moment où les objets sont devenus anciens. En plus du nombre de jours, vous pouvez également fournir un nombre maximal de versions anciennes à conserver. Cette valeur détermine le nombre de nouvelles versions non actuelles qui doivent exister avant qu'Amazon S3 puisse effectuer l'action associée sur une version donnée. Il se peut aussi que vous ayez besoin de fournir un élément Filter afin de spécifier le nombre maximal de versions anciennes. Si vous ne spécifiez aucun élément Filter, Simple Storage Service (Amazon S3) générera une erreur InvalidRequest lorsque vous fournissez un nombre maximal d'anciennes versions.

    Pour en savoir plus sur la transition d'objets, consultez Transitions prises en charge et contraintes connexes. Pour plus de détails sur la façon dont Amazon S3 calcule la date lorsque vous spécifiez le nombre de jours dans l'action NoncurrentVersionTransition, consultez Règles de cycle de vie : en fonction de l'âge de l'objet.

  • NoncurrentVersionExpirationélément d'action — Utilisez cette action pour indiquer à Amazon S3 de supprimer définitivement les versions non actuelles des objets. Les objets supprimés ne peuvent pas être récupérés. Vous pouvez baser cette expiration sur un certain nombre de jours à partir du moment où les objets sont devenus anciens. En plus du nombre de jours, vous pouvez également fournir un nombre maximal de versions anciennes à conserver. Cette valeur indique le nombre de nouvelles versions anciennes qui doivent exister pour qu'Amazon S3 puisse effectuer l'action associée sur une version donnée. Il se peut aussi que vous ayez besoin de fournir un élément Filter afin de spécifier le nombre maximal de versions anciennes. Si vous ne spécifiez aucun élément Filter, Simple Storage Service (Amazon S3) générera une erreur InvalidRequest lorsque vous fournissez un nombre maximal d'anciennes versions.

    La suppression retardée d'objets anciens peut être utile lorsque vous avez besoin de corriger des suppressions ou des remplacements accidentels. Par exemple, vous pouvez configurer une règle d'expiration pour supprimer les versions anciennes cinq jours après qu'elles soient devenues anciennes. Par exemple, supposons que le 01/01/2014, à 10 h 30 UTC, vous créez un objet appelé photo.gif (ID de version 111111). Le 02/01/2014 à 11 h 30 UTC, vous supprimez par inadvertance photo.gif (ID de version 111111), ce qui crée un marqueur de suppression avec un nouvel ID de version (tel que l'ID de version 4857693). Vous avez à présent cinq jours pour récupérer la version d'origine de photo.gif (ID de version 111111) avant que la suppression ne soit définitive. Le 08/01/2014 à 00 h 00 UTC, la règle du cycle de vie pour l'expiration s'exécute et supprime définitivement photo.gif (ID de version 111111), cinq jours après être devenu une version ancienne.

    Pour plus de détails sur la façon dont Amazon S3 calcule la date lorsque vous spécifiez le nombre de jours dans une action NoncurrentVersionExpiration, consultez Règles de cycle de vie : en fonction de l'âge de l'objet.

    Note

    Les configurations du cycle de vie de l'expiration d'un objet ne suppriment pas les chargements partitionnés incomplets. Pour supprimer les téléchargements partitionnés incomplets, vous devez utiliser l'action de configuration AbortIncompleteMultipartUploaddu cycle de vie décrite plus loin dans cette section.

En plus des actions de transition et d'expiration, vous pouvez utiliser l'action de configuration de cycle de vie suivante pour indiquer à Amazon S3 d'arrêter les chargements partitionnés incomplets.

  • AbortIncompleteMultipartUploadélément d'action : utilisez cet élément pour définir la durée maximale (en jours) pendant laquelle vous souhaitez autoriser les téléchargements partitionnés en cours. Si les chargements partitionnés applicables (déterminés par le nom de clé prefix spécifié dans la règle de cycle de vie) ne sont pas correctement menés à terme dans la période prédéfinie, Amazon S3 arrête les chargements partitionnés incomplets. Pour de plus amples informations, veuillez consulter Interruption d'un chargement partitionné.

    Note

    Vous ne pouvez pas spécifier cette action de cycle de vie dans une règle qui spécifie un filtre basé sur des balises d'objet.

  • ExpiredObjectDeleteMarkerélément d'action — Dans un compartiment activé pour la gestion des versions, un marqueur de suppression ne contenant aucune version non courante est appelé marqueur de suppression d'objet expiré. Vous pouvez utiliser cette action de cycle de vie pour indiquer à S3 de supprimer les marqueurs de suppression d'objet expiré. Pour voir un exemple, consultez Exemple 7 : Suppression des marqueurs de suppression d'objet expiré.

    Note

    Vous ne pouvez pas spécifier cette action de cycle de vie dans une règle qui spécifie un filtre basé sur des balises d'objet.

Comment Amazon S3 calcule le temps depuis lequel un objet est ancien

Un compartiment sur lequel la gestion des versions est activée peut contenir de nombreuses versions d'un objet. Il y a toujours une version actuelle et éventuellement une ou plusieurs versions anciennes. Chaque fois que vous chargez un objet, la version actuelle est retenue comme version ancienne et la version nouvellement ajoutée, le successeur, devient la version actuelle. Pour déterminer le nombre de jours depuis lequel un objet est ancien, Amazon S3 regarde la date de création de son successeur. Amazon S3 utilise le nombre de jours depuis la création de son successeur comme le nombre de jours depuis lequel un objet est ancien.

Restauration des versions précédentes d'un objet lorsque les configurations de cycle de vie S3 sont utilisées

Comme expliqué en détail dans la rubrique Restauration des versions précédentes, vous pouvez utiliser l'une des deux méthodes suivantes pour récupérer des versions précédentes d'un objet :

  1. En copiant une version ancienne de l'objet dans le même compartiment. L'objet copié devient la version actuelle de cet objet et toutes les versions d'objet sont préservées.

  2. En supprimant définitivement la version actuelle de l'objet. Lorsque vous supprimez la version d'objet actuelle, vous transformez la version ancienne en version actuelle de cet objet.

Lorsque vous utilisez des règles de configuration du cycle de vie S3 avec des compartiments activés pour le contrôle de version, nous recommandons comme bonnes pratiques d'utiliser la première méthode.

Le cycle de vie S3 fonctionne sous un modèle éventuellement cohérent. Une version actuelle que vous avez supprimée définitivement peut ne pas disparaître tant que les changements n'ont pas été propagés (Amazon S3 peut ne pas avoir été informé de cette suppression). Entre temps, la règle de cycle de vie que vous avez configurée pour l'expiration des objets anciens peut supprimer définitivement des objets anciens, y compris celui que vous souhaitez restaurer. Par conséquent, la copie d'une ancienne version, comme recommandé dans la première méthode, est l'alternative la plus sûre.

Le tableau suivant récapitule le comportement des actions de règle de configuration du cycle de vie S3 sur les objets liés à l'état de la gestion des versions du compartiment contenant l'objet.

Actions du cycle de vie et état du contrôle de version du compartiment
Action Compartiments non activés pour la gestion des versions Compartiment activé pour le contrôle de version Compartiment suspendu pour le contrôle de version

Transition

Lorsqu'une date ou une durée spécifiée dans le cycle de vie d'un objet est atteinte.

Amazon S3 effectue la transition de l'objet vers la classe de stockage spécifiée. Amazon S3 effectue la transition de la version actuelle de l'objet vers la classe de stockage spécifiée. Le même comportement qu'un compartiment activé pour le contrôle de version.

Expiration

Lorsqu'une date ou une durée spécifiée dans le cycle de vie d'un objet est atteinte.

L'expiration supprime l'objet et l'objet supprimé ne peut pas être récupéré. Si la version actuelle n'est pas un marqueur de suppression, Amazon S3 crée un marqueur de suppression qui devient la version actuelle et la version actuelle existante est conservée en tant que version ancienne. Le cycle de vie crée un marqueur de suppression avec l'ID de version null, qui devient la version actuelle. Si l'ID de version de la version actuelle de l'objet est null, l'action d'expiration supprime définitivement cette version. Sinon, la version actuelle est conservée comme version ancienne.

NoncurrentVersionTransition

Lorsque l'objet a été classé comme ancien pour le nombre de jours spécifié ou que le nombre maximum de versions anciennes à retenir a été dépassé.

NoncurrentVersionTransition n'a aucun effet.

Amazon S3 effectue la transition des versions d'objet anciennes vers la classe de stockage spécifiée.

Le même comportement qu'un compartiment activé pour le contrôle de version.

NoncurrentVersionExpiration

Lorsque l'objet a été classé comme ancien pour le nombre de jours spécifié ou que le nombre maximum de versions anciennes à retenir a été dépassé.

NoncurrentVersionExpiration n'a aucun effet. NoncurrentVersionExpirationL'action supprime la version ancienne de l'objet et l'objet supprimé ne peut pas être récupéré. Le même comportement qu'un compartiment activé pour le contrôle de version.

Règles de cycle de vie : en fonction de l'âge de l'objet

Vous pouvez spécifier une durée en jours à partir de la création (ou de la modification) des objets, au bout de laquelle Amazon S3 peut exécuter l'action.

Lorsque vous spécifiez le nombre de jours dans les actions Transition et Expiration dans une configuration de cycle de vie S3, notez ce qui suit :

  • Il s'agit du nombre de jours depuis la création de l'objet pendant lesquels l'action a lieu.

  • Amazon S3 calcule le temps en ajoutant le nombre de jours spécifié dans la règle au moment de création de l'objet et arrondit le temps obtenu au jour suivant à minuit UTC. Par exemple, si un objet a été créé le 15/01/2014 à 10 h 30 UTC et que vous spécifiez 3 jours dans une règle de transition, alors la date de transition de l'objet est le 19/01/2014 à 00 h 00 UTC.

Note

Amazon S3 conserve uniquement la dernière date de modification pour chaque objet. Par exemple, la console Amazon S3 affiche la date Last Modified (Dernière date de modification) dans le volet Properties (Propriétés) de l'objet. Lorsque vous créez initialement un objet, cette date reflète la date à laquelle l'objet a été créé. Si vous remplacez l'objet, la date change en conséquence. Donc lorsque nous utilisons les termes date de création, ils ont la même signification que les termes date de la dernière modification.

Lorsqu'un nombre de jours est spécifié dans les actions NoncurrentVersionTransition et NoncurrentVersionExpiration dans une configuration du cycle de vie, notez ce qui suit :

  • Cela correspond au nombre de jours à partir duquel la version de l'objet devient ancienne (c'est-à-dire, depuis que l'objet a été remplacé ou supprimé) et à partir duquel Amazon S3 exécute l'action sur l'objet ou les objets spécifiés.

  • Amazon S3 calcule le temps en ajoutant le nombre de jours spécifié dans la règle à l'heure à laquelle la nouvelle version du successeur de l'objet est créée, puis arrondit la date obtenue au jour suivant à minuit UTC. Par exemple, dans votre compartiment, supposons que vous ayez une version actuelle d'un objet créé le 01/01/2014 à 10 h 30 UTC. Si la nouvelle version de l'objet qui remplace la version actuelle a été créée le 15/01/2014 à 10 h 30 UTC et que vous spécifiez 3 jours dans une règle de transition, la date de transition de l'objet sera le 19/01/2014 à 00 h 00 UTC.

Règles de cycle de vie : en fonction d'une date spécifique

Lorsqu'une action est spécifiée dans une règle de cycle de vie S3, vous pouvez spécifier la date à laquelle vous souhaitez qu'Amazon S3 exécute l'action. Lorsque la date spécifiée arrive, Amazon S3 applique l'action à tous les objets qualifiés (en fonction des critères de filtre).

Si vous spécifiez une action de cycle de vie S3 avec une date passée, tous les objets qualifiés deviennent immédiatement éligibles pour cette action de cycle de vie.

Important

L'action basée sur la date n'est pas une action unique. Amazon S3 continue à appliquer l'action basée sur la date même après que la date est passée, tant que l'état de la règle est Enabled.

Par exemple, supposons que vous spécifiez une action d'Expiration basée sur la date pour supprimer tous les objets (en supposant qu'aucun filtre n'est spécifié dans la règle). À la date spécifiée, Amazon S3 fait expirer tous les objets du compartiment. S3 continue également à faire expirer tous les nouveaux objets créés dans le compartiment. Pour arrêter l'action du cycle de vie, vous devez supprimer l'action de la configuration du cycle de vie, désactiver la règle ou supprimer la règle de la configuration du cycle de vie.

La valeur de date doit être conforme au format ISO 8601. L'heure indique toujours minuit UTC.

Note

Vous ne pouvez pas créer une règle de cycle de vie basée sur la date en utilisant la console Amazon S3, mais vous pouvez afficher, désactiver ou supprimer ces règles.