Configure les règles de cycle de vie d'un bucket. Utilisez l'opération PutBucketLifecycle pour convertir périodiquement les classes de stockage des objets ou supprimer les objets et parties expirés en fonction de leur heure de dernière modification ou de leur heure de dernier accès, afin de réduire les coûts de stockage.
Notes
-
L'opération PutBucketLifecycle utilise une sémantique d'écrasement. Pour ajouter une nouvelle règle (Rule2) tout en conservant une règle existante (Rule1) :
Appelez GetBucketLifecycle pour récupérer la configuration existante de Rule1.
Ajoutez Rule2 à la configuration existante.
Appelez PutBucketLifecycle avec Rule1 et Rule2 pour mettre à jour le bucket.
Les règles de cycle de vie peuvent faire expirer les objets et les parties issues de téléchargements multipart incomplets.
Les règles peuvent être basées sur l'heure du dernier accès ou l'heure de la dernière modification.
Permissions
Par défaut, un compte Alibaba Cloud dispose de toutes les autorisations. Les utilisateurs RAM ou les rôles RAM associés à un compte Alibaba Cloud ne disposent d'aucune autorisation par défaut. Le compte Alibaba Cloud ou l'administrateur du compte doit accorder les autorisations d'exploitation via les politiques RAM ou la politique de bucket.
|
API |
Action |
Description |
|
PutBucketLifecycle |
oss:PutBucketLifecycle |
Configure les règles de cycle de vie d'un bucket. |
Syntaxe de la requête
PUT /?lifecycle HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Authorization: SignatureValue
Host: BucketName.oss.aliyuncs.com
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
<Rule>
<ID>RuleID</ID>
<Prefix>Prefix</Prefix>
<Status>Status</Status>
<Expiration>
<Days>Days</Days>
</Expiration>
<Transition>
<Days>Days</Days>
<StorageClass>StorageClass</StorageClass>
</Transition>
<AbortMultipartUpload>
<Days>Days</Days>
</AbortMultipartUpload>
</Rule>
</LifecycleConfiguration>
En-têtes de requête
|
En-tête |
Type |
Obligatoire |
Exemple |
Description |
|
x-oss-allow-same-action-overlap |
String |
Non |
true |
Indique si les préfixes qui se chevauchent sont autorisés. Valeurs possibles :
|
Cette requête utilise également des en-têtes communs tels que Date et Authorization, décrits dans En-têtes HTTP communs.
Éléments de requête
|
Élément |
Type |
Obligatoire |
Exemple |
Description |
|
LifecycleConfiguration |
Container |
Oui |
N/A |
Conteneur pour les configurations de cycle de vie. Prend en charge jusqu'à 1 000 règles de cycle de vie. Nœuds enfants : Rule Nœuds parents : aucun |
|
Rule |
Container |
Oui |
N/A |
Conteneur pour une règle de cycle de vie. La période avant suppression doit être supérieure à la période de transition vers IA ou Archive. Nœuds enfants : ID, Prefix, Status et Expiration Nœuds parents : LifecycleConfiguration |
|
ID |
String |
Non |
rule1 |
Identifiant de la règle de cycle de vie. Longueur maximale : 255 caractères. Si non spécifié, OSS génère automatiquement un identifiant unique. Nœuds enfants : aucun Nœuds parents : Rule |
|
Prefix |
String |
Non |
tmp/ |
Préfixe du nom d'objet auquel cette règle s'applique. Les préfixes des différentes règles ne doivent pas se chevaucher.
Nœuds enfants : aucun Nœuds parents : Rule |
|
Status |
String |
Oui |
Enabled |
Indique si la règle est activée. Valeurs possibles :
Nœuds parents : Rule |
|
Expiration |
Container |
Non |
N/A |
Opération de suppression à effectuer sur les objets correspondants lorsqu'ils expirent. Dans les buckets avec gestion des versions, cela s'applique uniquement aux versions actuelles. La période avant suppression doit être supérieure à la période de transition vers IA ou Archive. Nœuds enfants : Days, CreatedBeforeDate ou ExpiredObjectDeleteMarker Nœuds parents : Rule |
|
Days |
Entier positif |
Days ou CreatedBeforeDate est requis |
1 |
Nombre de jours après la date de dernière modification avant que la règle ne prenne effet. Si IsAccessTime est défini sur true, la règle prend effet en fonction du nombre de jours après le dernier accès. Nœuds parents : Expiration ou AbortMultipartUpload |
|
CreatedBeforeDate |
String |
Days ou CreatedBeforeDate est requis |
2002-10-11T00:00:00.000Z |
Date avant laquelle la règle s'applique. OSS effectue l'opération sur les objets modifiés pour la dernière fois avant cette date. Format : yyyy-MM-ddT00:00:00.000Z. L'heure doit être 00:00:00 UTC au format ISO 8601. Nœuds parents : Expiration ou AbortMultipartUpload |
|
ExpiredObjectDeleteMarker |
String |
Non |
true |
Indique si les marqueurs de suppression expirés sont automatiquement supprimés. Valeurs possibles :
Nœuds parents : Expiration |
|
Transition |
Container |
Non |
N/A |
Conversion de la classe de stockage pour les objets correspondants lorsqu'ils expirent. Les objets Standard peuvent passer à IA, Archive ou Cold Archive. La période de transition vers Archive doit être supérieure à la période de transition vers IA. Par exemple, si les objets passent à IA après 30 jours, ils doivent passer à Archive après plus de 30 jours. Nœuds parents : Rule Nœuds enfants : Days, CreatedBeforeDate et StorageClass Important
Important
Days ou CreatedBeforeDate est requis. |
|
StorageClass |
String |
Oui si Transition ou NoncurrentVersionTransition est spécifié |
IA |
Classe de stockage vers laquelle les objets sont convertis. Valeurs possibles :
Important
Vous ne pouvez convertir la classe de stockage des objets d'un bucket IA qu'en Archive ou Cold Archive. Nœuds parents : Transition |
|
AbortMultipartUpload |
Container |
Non |
N/A |
Opération permettant de supprimer les parties issues de téléchargements multipart incomplets lorsqu'ils expirent. Nœuds enfants : Days ou CreatedBeforeDate Nœuds parents : Rule |
|
Tag |
Container |
Non |
N/A |
Tag des objets auxquels la règle de cycle de vie s'applique. Vous pouvez spécifier plusieurs tags. Nœuds parents : Rule Nœuds enfants : Key et Value |
|
Key |
String |
Oui si l'élément Tag est spécifié |
TagKey1 |
Clé du tag spécifié pour les objets. Nœuds parents : Tag |
|
Value |
String |
Oui si l'élément Tag est spécifié |
TagValue1 |
Valeur du tag spécifié pour les objets. Nœuds parents : Tag |
|
NoncurrentVersionExpiration |
Container |
Non |
N/A |
Opération permettant de supprimer les versions précédentes des objets correspondants lorsqu'elles expirent. Nœuds enfants : NoncurrentDays |
|
NoncurrentVersionTransition |
Container |
Non |
N/A |
Conversion de la classe de stockage pour les versions précédentes des objets correspondants lorsqu'elles expirent. Les versions précédentes peuvent passer à IA ou Archive. La période de transition vers Archive doit être supérieure à la période de transition vers IA pour les versions précédentes. Nœuds enfants : NoncurrentDays et StorageClass |
|
NoncurrentDays |
String |
Oui si NoncurrentVersionExpiration ou NoncurrentVersionTransition est spécifié |
10 |
Nombre de jours après lesquels les objets deviennent des versions précédentes avant que la règle ne prenne effet. Si IsAccessTime est défini sur true, NoncurrentDays prend effet en fonction du nombre de jours après le dernier accès. Nœuds parents : NoncurrentVersionTransition et NoncurrentVersionExpiration |
|
IsAccessTime |
String |
Non |
true |
Indique si la règle de cycle de vie s'applique aux objets en fonction de leur heure de dernier accès. Valeurs possibles :
Nœuds parents : Transition ou NoncurrentVersionTransition |
|
ReturnToStdWhenVisit |
String |
Non |
false |
Indique si les objets non Standard sont reconvertis en Standard lors de l'accès. Prend effet uniquement lorsque IsAccessTime est défini sur true. Valeurs possibles :
Nœuds parents : Transition ou NoncurrentVersionTransition |
|
AllowSmallFile |
String |
Non |
false |
Indique si les objets de moins de 64 Ko sont convertis en IA, Archive ou Cold Archive en fonction de l'heure du dernier accès. Valeurs possibles :
Nœuds parents : Transition ou NoncurrentVersionTransition |
|
Filter |
Container |
Non |
N/A |
Conteneur pour l'élément Not utilisé pour filtrer les objets. Prend en charge au maximum un nœud Not. Nœuds parents : Rule Nœuds enfants : Not |
|
Not |
Container |
Non |
N/A |
Condition d'exclusion pour la règle de cycle de vie. Un seul nœud Not est autorisé par Filter. Nœuds parents : Filter Nœuds enfants : Prefix et Tag |
|
Prefix |
String |
Oui |
tmp/not/ |
Préfixe du nom d'objet exclu de la règle de cycle de vie. Ne peut pas être vide.
Nœuds parents : Not Nœuds enfants : aucun |
|
Tag |
Container |
Non |
N/A |
Tag des objets exclus. Prend en charge au maximum un tag. |
|
ObjectSizeGreaterThan |
Entier positif |
Non |
500 |
Taille minimale de l'objet à laquelle cette règle s'applique. Vous pouvez spécifier une seule valeur ou laisser cet élément vide. Si ce paramètre et le paramètre ObjectSizeLessThan sont tous deux définis, le système vérifie que la taille de l'objet se situe dans la plage spécifiée : supérieure à la taille minimale et inférieure à la taille maximale. Ce paramètre et le paramètre AllowSmallFile sont mutuellement exclusifs. Nœud parent : Filter Nœud enfant : aucun |
|
ObjectSizeLessThan |
Entier positif |
Non |
64000 |
Taille maximale de l'objet à laquelle cette règle s'applique. Vous pouvez spécifier une seule valeur ou laisser cet élément vide. Si ce paramètre et le paramètre ObjectSizeGreaterThan sont tous deux définis, le système vérifie que la taille de l'objet se situe dans la plage spécifiée : supérieure à la taille minimale et inférieure à la taille maximale. Ce paramètre et le paramètre AllowSmallFile sont mutuellement exclusifs. Nœud parent : Filter Nœud enfant : aucun |
En-têtes de réponse
La réponse contient uniquement des en-têtes de réponse communs. Pour plus d'informations, consultez En-têtes de réponse communs.
Exemples
Exemples de requêtes
Exemple 1 : Configurer une règle de cycle de vie basée sur l'heure de dernière modification pour uniquement convertir la classe de stockage des objets
Exemple 2 : Configurer une règle de cycle de vie basée sur l'heure de dernière modification pour uniquement supprimer des objets
Exemple 3 : Configurer une règle de cycle de vie basée sur l'heure de dernière modification pour convertir la classe de stockage des objets et les supprimer
Exemple 4 : Configurer une règle de cycle de vie basée sur l'heure de dernière modification pour supprimer les versions précédentes des objets et retirer les marqueurs de suppression
Exemple 5 : Configurer une règle de cycle de vie basée sur l'heure de dernière modification pour convertir la classe de stockage des objets et les supprimer, en excluant les objets dont les noms contiennent des préfixes spécifiques ou qui possèdent des tags spécifiques
Exemple 6 : Configurer une règle de cycle de vie basée sur l'heure du dernier accès pour convertir la classe de stockage des objets
Exemple 7 : Configurer une règle de cycle de vie basée sur l'heure de dernière modification pour supprimer des parties
Exemple 8 : Configurer une règle de cycle de vie basée sur l'heure de dernière modification pour supprimer des objets dont les noms contiennent des préfixes qui se chevauchent
Exemples de réponses
HTTP/1.1 200 OK
x-oss-request-id: 7D3435J59A9812BAD56E
Date: Mon, 6 May 2019 15:23:20 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS
SDK OSS
Appelez PutBucketLifecycle à l'aide des SDK OSS suivants :
ossutil
Pour obtenir des informations sur la commande ossutil correspondant à l'opération PutBucketLifecycle, consultez put-bucket-lifecycle.
Référence
Pour plus d'informations sur les règles de cycle de vie, consultez Cycle de vie.
Codes d'erreur
|
Code d'erreur |
Code d'état HTTP |
Description |
|
InvalidArgument |
400 |
Causes possibles :
|
|
AccessDenied |
403 |
Vous ne disposez pas de l'autorisation |
|
MalforedXML |
400 |
L'erreur MalformedXML est renvoyée lorsque la validation XML de la règle de cycle de vie échoue. Par exemple, la configuration d'une règle basée sur l'heure du dernier accès sans activer le suivi des accès déclenche cette erreur. |