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

É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 un préfixe du clé d'objet, une ou plusieurs balises d'objet, ou les deux.

  • 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.

Élément d'ID

Une configuration de cycle de vie S3 peut contenir jusqu'à 1,000 règles. 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 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. Remarques :

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

    • La règle s'applique à un sous-ensemble d'objets dont toutes les balises sont spécifiées dans la règle. Si un objet dispose de balises 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 balises. Une fois encore, vous devez tous les envelopper 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>

É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 de la gestion des versions 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 la gestion des versions (compartiment activé pour la gestion des versions ou suspendu pour la gestion des versions), 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 ci-dessous).

  • 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 Classes de stockage 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 gestion des versions du compartiment.

    Important

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

    • 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 de plus amples informations, veuillez consulter Utilisation de la gestion des versions. Quel que soit l'état de la gestion des versions, ce qui suit s'applique :

      • 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 obtenir un exemple, consultez Exemple 7 : Suppression des marqueurs de suppression d'objet expiré.

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

      • Compartiment activé pour la gestion des versions

        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 la gestion des versions

        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).

  • L'élément d'action NoncurrentVersionTransition – Utilisez cette action pour spécifier la durée (à partir du moment où les objets deviennent anciens) pendant laquelle vous souhaitez que les objets restent dans la classe de stockage actuelle avant qu'Amazon S3 n'effectue la transition vers la classe de stockage spécifiée. Pour en savoir plus sur la transition d'objets, consultez Transitions prises en charge et contraintes connexes.

  • L'élément d'action NoncurrentVersionExpiration – Utilisez cette action pour spécifier la durée (à partir du moment où les objets deviennent anciens) pendant laquelle vous souhaitez conserver les versions d'objet anciennes avant qu'Amazon S3 ne les supprime définitivement. L'objet supprimé ne peut pas être récupéré.

    Cette 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.

    Important

    Les stratégies du cycle de vie de l'expiration d'un objet ne suppriment pas les chargements partitionnés incomplets. Pour supprimer les chargements partitionnés incomplets, vous devez utiliser l'action de configuration du cycle de vie AbortIncompleteMultipartUpload 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.

  • L'élément d'action AbortIncompleteMultipartUpload – Utilisez cet élément pour définir une durée maximum (en jours) pendant laquelle vous souhaitez autoriser la poursuite des chargements partitionnés. 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 Utilisation d'une stratégie de cycle de vie des compartiments pour l'arrêt des chargements partitionnés incomplets.

    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.

  • L'élément d'action ExpiredObjectDeleteMarker – Dans un compartiment activé pour la gestion des versions, un marqueur de suppression avec zéro versions anciennes est désigné en tant que 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 obtenir 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

Dans un compartiment activé pour la gestion des versions, vous pouvez avoir de nombreuses versions d'un objet. Il y a toujours une version actuelle, et aucune, 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 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 la gestion des versions, nous recommandons comme bonnes pratiques d'utiliser la première méthode.

En raison de la sémantique de cohérence éventuelle Amazon S3, une version actuelle supprimée définitivement peut ne pas disparaître tant que les changements s'appliquent (Amazon S3 peut ne pas être informé de cette suppression). Entre temps, la règle de cycle de vie que vous avez configurée pour que des objets anciens expirent 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 de la gestion des versions du compartiment
Action Compartiments non activés pour la gestion des versions Compartiment activé pour la gestion des versions Compartiment suspendu pour la gestion des versions

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 la gestion des versions.

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 le nombre de jours spécifié à partir du moment où l'objet devient ancien est atteint.

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 la gestion des versions.

NoncurrentVersionExpiration

Lorsque le nombre de jours spécifié à partir du moment où l'objet devient ancien est atteint.

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 la gestion des versions.

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.