Cette rubrique décrit les éléments configurables dans le fichier de configuration des règles de cycle de vie pour les objets.
Exemple au format XML
<LifecycleConfiguration>
<Rule>
<ID>rule1</ID>
<Prefix>logs/</Prefix>
<Status>Enabled</Status>
<Filter>
<Not>
<Prefix>logs1/</Prefix>
<Tag><Key>key1</Key><Value>value1</Value></Tag>
</Not>
</Filter>
<Expiration>
<Days>10</Days>
</Expiration>
</Rule>
<Rule>
<ID>rule2</ID>
<Prefix>doc/</Prefix>
<Status>Disabled</Status>
<Expiration>
<CreatedBeforeDate>2017-12-31T00:00:00.000Z</CreatedBeforeDate>
</Expiration>
</Rule>
<Rule>
<ID>rule3</ID>
<Prefix>logs2/</Prefix>
<Tag><Key>xx</Key><Value>1</Value></Tag>
<Status>Enabled</Status>
<Transition>
<Days>60</Days>
<StorageClass>Archive</StorageClass>
</Transition>
</Rule>
</LifecycleConfiguration>
Les points suivants décrivent les trois règles de cycle de vie de l'exemple précédent :
La première règle de cycle de vie supprime les objets dont le nom contient le préfixe
logs/et qui n'ont pas été modifiés depuis 10 jours. Les objets dont le nom contient le préfixelogs1/et dont le tag estkey1:value1ne sont pas supprimés.La deuxième règle de cycle de vie supprime les objets dont le nom contient le préfixe
doc/et qui ont été modifiés pour la dernière fois avant le 31 décembre 2017. Cette règle est désactivée et n'est donc pas appliquée.La troisième règle de cycle de vie convertit la classe de stockage en Archive pour les objets répondant aux conditions suivantes : le nom contient le préfixe
logs2/, le tag estxx:1et les objets n'ont pas été modifiés depuis 60 jours.
Les sections suivantes décrivent les éléments configurables dans le fichier de configuration des règles de cycle de vie pour les objets, tels que les éléments ID et Operation.
ID
L'élément ID spécifie l'identifiant de la règle de cycle de vie configurée pour un bucket. La longueur de l'ID d'une règle de cycle de vie peut atteindre 255 octets. Si vous ne configurez pas cet élément ou si vous le laissez vide, Object Storage Service (OSS) génère automatiquement un ID unique pour la règle de cycle de vie.
Status
L'élément Status indique l'état de la règle de cycle de vie. Définissez l'état sur Enabled ou Disabled. Seules les règles de cycle de vie dont l'élément Status est défini sur Enabled sont appliquées.
Prefix
L'élément Prefix spécifie le préfixe du nom d'objet sur lequel la règle de cycle de vie s'applique à tous les objets ou à des objets spécifiques d'un bucket.
Filter
L'élément Filter définit la condition de filtrage d'une règle de cycle de vie. Les objets qui remplissent toutes les conditions spécifiées dans l'élément Filter correspondent à la règle.
Not
Lorsque vous utilisez une règle de cycle de vie pour traiter des objets dont le nom contient un préfixe spécifique et qui possèdent des tags spécifiques, vous pouvez souhaiter exclure certains objets. Dans ce cas, spécifiez les préfixes de nom et les tags des objets à exclure dans l'élément Not.
Si plusieurs règles de cycle de vie sont configurées pour le bucket, l'élément Not ne s'applique qu'aux règles de cycle de vie pour lesquelles l'élément Not est spécifié.
Exemples :
Configurez une règle de cycle de vie dont l'ID est rule1 et spécifiez que les objets dont le nom contient le préfixe
dir1sont supprimés 30 jours après leur dernière modification.Configurez une règle de cycle de vie dont l'ID est rule2, spécifiez que les classes de stockage des objets dont le nom contient le préfixe
dir1sont converties en Infrequent Access (IA) 20 jours après leur dernière modification, et indiquez que les classes de stockage des objets dans le répertoiredir1/dir2/ne doivent pas être converties en spécifiant l'élément Not.
<LifecycleConfiguration>
<Rule>
<ID>rule1</ID>
<Prefix>dir1/</Prefix>
<Status>Enabled</Status>
<Expiration>
<Days>30</Days>
</Expiration>
</Rule>
<Rule>
<ID>rule2</ID>
<Prefix>dir1/</Prefix>
<Status>Disabled</Status>
<Filter>
<Not>
<Prefix>dir1/dir2/</Prefix>
</Not>
</Filter>
<Transition>
<Days>20</Days>
<StorageClass>IA</StorageClass>
</Transition>
</Rule>
</LifecycleConfiguration>
Par conséquent, l'élément Not s'applique uniquement à la règle rule2. Les objets dont le nom contient le préfixe dir1 sont supprimés 30 jours après leur dernière modification selon la règle rule1.
Pour plus d'informations, consultez la section Règles de cycle de vie basées sur la date de dernière modification.
Time
-
Date
L'élément enfant
<CreatedBeforeDate>spécifie une date fixe. Tous les objets modifiés pour la dernière fois avant cette date sont supprimés, ou leurs classes de stockage sont converties. -
Days
L'élément enfant
<Days>spécifie la durée de validité des objets après leur dernière modification. À l'issue de cette période, les objets sont supprimés ou leurs classes de stockage sont converties.
Operation
Vous pouvez configurer un ou plusieurs éléments Operation dans une règle de cycle de vie pour les objets correspondants. OSS exécute les opérations spécifiées sur les objets lorsqu'ils arrivent à expiration. L'effet des opérations varie selon l'état de versioning du bucket dans lequel les objets sont stockés. Les tableaux suivants décrivent comment l'état de versioning du bucket influence l'opération spécifiée dans la règle de cycle de vie pour les objets.
-
Bucket pour lequel le versioning est désactivé
Operation
Description
Transition
Les classes de stockage des objets correspondant à la règle de cycle de vie sont converties lorsque les objets arrivent à expiration, selon la date ou la durée de validité spécifiée dans la règle. Pour plus d'informations sur les classes de stockage que vous pouvez spécifier dans les règles de cycle de vie, consultez la section Conversion des classes de stockage.
Expiration
Les objets correspondant à la règle de cycle de vie sont supprimés lorsqu'ils arrivent à expiration, selon la date ou la durée de validité spécifiée dans la règle.
-
Bucket pour lequel le versioning est activé
Les tableaux suivants décrivent les éléments Operation pouvant être spécifiés dans les règles de cycle de vie pour les objets dans les buckets versionnés. Les buckets versionnés incluent les buckets pour lesquels le versioning est activé et ceux pour lesquels le versioning est suspendu :
-
Opération de suppression ou de conversion de classe de stockage sur la version actuelle d'un objet
Operation
Description
Expiration
L'opération effectuée sur un objet expiré varie selon que la version actuelle de l'objet est un marqueur de suppression.
-
Si la version actuelle de l'objet n'est pas un marqueur de suppression, OSS traite la version selon les règles suivantes :
-
Si le versioning est activé pour le bucket qui stocke l'objet, OSS insère un marqueur de suppression doté d'un ID de version unique. La version actuelle de l'objet est alors remplacée par le marqueur de suppression inséré.
-
Si le versioning est suspendu pour le bucket qui stocke l'objet, OSS insère un marqueur de suppression dont l'ID de version est null. Le marqueur de suppression inséré écrase la version actuelle de l'objet dont l'ID de version est null afin de garantir qu'une seule version de l'objet avec un ID de version null existe.
-
-
Si la version actuelle de l'objet est un marqueur de suppression, OSS traite la version selon les règles suivantes :
-
Si une ou plusieurs versions précédentes de l'objet existent, aucune opération spécifiée dans la règle de cycle de vie n'est déclenchée.
-
Si une seule version de l'objet existe, le marqueur de suppression est supprimé lorsque celui-ci arrive à expiration selon la date ou la durée de validité spécifiée dans la règle de cycle de vie, ou lorsque l'élément enfant ExpiredObjectDeleteMarker est défini sur true dans la règle de cycle de vie.
Important-
Si l'opération Expiration d'une règle de cycle de vie configurée pour un objet est déclenchée pour supprimer la version actuelle de l'objet ou si une opération de suppression est initiée sans spécifier de version d'objet, la version actuelle de l'objet devient une version précédente de l'objet. Si l'opération Expiration d'une règle de cycle de vie configurée pour un objet est déclenchée pour supprimer une version précédente de l'objet ou si une opération de suppression est initiée sur une version précédente spécifique de l'objet, la version précédente de l'objet est définitivement supprimée et seul le marqueur de suppression expiré de l'objet est conservé.
-
Vous ne pouvez pas configurer l'élément enfant ExpiredObjectDeleteMarker et spécifier un tag dans une même règle de cycle de vie.
-
-
Transition
La classe de stockage de la version actuelle des objets correspondant à la règle de cycle de vie est convertie lorsque les objets arrivent à expiration, selon la date ou la durée de validité spécifiée dans la règle de cycle de vie.
-
-
Opération de suppression ou de conversion de classe de stockage sur les versions précédentes des objets
Operation
Description
Associated child element
NoncurrentVersionExpiration
Les objets correspondant à la règle de cycle de vie sont supprimés lorsque les versions précédentes arrivent à expiration, selon la date ou la durée de validité spécifiée dans la règle de cycle de vie.
L'élément enfant <NoncurrentDays> spécifie le nombre de jours écoulés entre le moment où les versions actuelles deviennent des versions précédentes et le moment où les versions précédentes sont définitivement supprimées.
RemarquePar exemple, une version était la version actuelle d'un objet avant le 1er mai 2019. Le 1er mai 2019, l'opération PutObject a été appelée et cette version est devenue une version précédente. Dans l'élément NoncurrentVersionExpiration, <NoncurrentDays> est défini sur 3. Le 4 mai 2019, la version a été définitivement supprimée. Chaque fois que l'opération PutObject est appelée pour un objet, la version actuelle de l'objet devient la version précédente la plus récente. La version téléchargée devient la version actuelle de l'objet. OSS détermine quand une version devient une version précédente en fonction du moment où la version suivante est créée.
NoncurrentVersionTransition
Les classes de stockage des objets correspondant à la règle de cycle de vie sont converties lorsque les versions précédentes des objets arrivent à expiration, selon la date ou la durée de validité spécifiée dans la règle de cycle de vie.
-
L'élément enfant <NoncurrentDays> spécifie le nombre de jours écoulés entre le moment où les versions actuelles deviennent des versions précédentes et le moment où la classe de stockage des objets est convertie.
-
L'élément enfant <StorageClass> spécifie la classe de stockage vers laquelle la classe de stockage des objets est convertie.
-
-