Créez des règles de cycle de vie basées sur la date de dernière modification ou le dernier accès. Ces règles convertissent périodiquement la classe de stockage des objets d'un bucket ou suppriment les objets et parties expirés afin de réduire les coûts de stockage. Cette rubrique explique comment appeler l'opération PutBucketLifecycle pour configurer une règle de cycle de vie pour un bucket.
Notes
-
L'opération PutBucketLifecycle écrase les règles de cycle de vie existantes. Par exemple, si un bucket possède une règle de cycle de vie nommée Rule1 et que vous souhaitez ajouter une règle nommée Rule2, suivez les étapes suivantes :
Appelez l'opération GetBucketLifecycle pour récupérer la configuration de Rule1.
Ajoutez Rule2 à la configuration existante.
Appelez l'opération PutBucketLifecycle pour appliquer la nouvelle configuration incluant à la fois Rule1 et Rule2.
Définissez une durée d'expiration pour les objets et les parties. Les parties correspondent aux fragments non validés issus des téléchargements multiparties.
Les règles peuvent correspondre aux objets en fonction de leur dernier accès ou de leur 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'opération via des politiques RAM ou une Bucket Policy.
|
API |
Action |
Description |
|
PutBucketLifecycle |
oss:PutBucketLifecycle |
Configure les règles de cycle de vie pour 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
Nom | Type | Obligatoire | Exemple | Description |
x-oss-allow-same-action-overlap | string | Non | true | Indique si les règles de cycle de vie peuvent avoir des préfixes qui se chevauchent. Valeurs possibles :
|
Cette opération utilise des en-têtes de requête courants, tels que Date et Authorization. Pour plus d'informations, consultez la section En-têtes de requête courants.
Éléments de la requête
Nom | Type | Obligatoire | Exemple | Description |
LifecycleConfiguration | container | Oui | N/A | Conteneur pour les configurations de cycle de vie. Vous pouvez configurer jusqu'à 1 000 règles. Nœud enfant : Rule Nœud parent : Aucun |
Rule | container | Oui | N/A | Conteneur pour une règle de cycle de vie. La date d'expiration d'un objet doit être postérieure à la date de conversion de l'objet vers la classe de stockage Infrequent Access (IA) ou Archive Storage. Nœuds enfants : ID, Prefix, Status et Expiration Nœud parent : LifecycleConfiguration |
ID | string | Non | rule1 | Identifiant unique de la règle. L'ID peut comporter jusqu'à 255 caractères. Si vous ne spécifiez pas cet élément ou si vous le laissez vide, OSS génère automatiquement un ID unique. Nœud enfant : Aucun Nœud parent : Rule |
Prefix | string | Non | tmp/ | Préfixe spécifiant les objets auxquels la règle s'applique. Vous ne pouvez pas définir le même préfixe pour différentes règles.
Nœud enfant : Aucun Nœud parent : Rule |
Status | string | Oui | Enabled | Indique si la règle est activée. Valeurs possibles :
Nœud parent : Rule |
Expiration | container | Non | N/A | Spécifie les propriétés d'expiration d'un objet. Pour un bucket avec versioning activé, la date d'expiration spécifiée s'applique uniquement à la version actuelle d'un objet. La date d'expiration d'un objet doit être postérieure à la date de conversion de l'objet vers la classe de stockage IA ou Archive Storage. Nœuds enfants : Days, CreatedBeforeDate ou ExpiredObjectDeleteMarker Nœud parent : Rule |
Days | Entier positif | Days et CreatedBeforeDate s'excluent mutuellement | 1 | Spécifie le nombre de jours après la dernière mise à jour d'un objet avant que la règle de cycle de vie ne prenne effet. Si le paramètre IsAccessTime est défini sur true dans la requête, ce paramètre spécifie le nombre de jours après le dernier accès à un objet avant que la règle de cycle de vie ne prenne effet. Nœuds parents : Expiration ou AbortMultipartUpload |
CreatedBeforeDate | string | CreatedBeforeDate et Days s'excluent mutuellement | 2002-10-11T00:00:00.000Z | Spécifie une date. OSS applique la règle de cycle de vie aux données dont la dernière mise à jour est antérieure à cette date. La date doit être au format yyyy-MM-ddT00:00:00.000Z. La date doit être exprimée en UTC et conforme à la norme ISO 8601. L'heure doit être 00:00:00. Nœuds parents : Expiration ou AbortMultipartUpload |
ExpiredObjectDeleteMarker | string | Non | true | Indique s'il faut supprimer automatiquement les marqueurs de suppression expirés. Valeurs possibles :
Nœud parent : Expiration |
Transition | container | Non | N/A | Spécifie quand OSS convertit la classe de stockage d'un objet pendant son cycle de vie valide. Vous pouvez convertir les objets Standard d'un bucket Standard vers la classe de stockage IA, Archive ou Cold Archive. Toutefois, la date de conversion vers Archive doit être postérieure à celle de la conversion vers IA. Par exemple, si vous définissez Days sur 30 pour la transition vers IA, vous devez définir Days sur une valeur supérieure à 30 pour la transition vers Archive. Nœud parent : Rule Nœuds enfants : Days, CreatedBeforeDate et StorageClass Important Important Vous pouvez spécifier soit Days, soit CreatedBeforeDate. |
StorageClass | string | Obligatoire si le nœud parent est Transition ou NoncurrentVersionTransition | IA | Spécifie la classe de stockage vers laquelle un objet est converti. Valeurs possibles :
Important Vous pouvez convertir la classe de stockage des objets d'un bucket IA vers Archive Storage ou Cold Archive, mais pas vers Standard. Nœud parent : Transition |
AbortMultipartUpload | container | Non | N/A | Spécifie les propriétés d'expiration des parties non validées lors d'un téléchargement multipartie. Nœuds enfants : Days ou CreatedBeforeDate Nœud parent : Rule |
Tag | container | Non | N/A | Tags d'objet auxquels la règle s'applique. Vous pouvez spécifier plusieurs tags. Nœud parent : Rule Nœuds enfants : Key et Value |
Key | string | Obligatoire si le nœud parent est Tag | TagKey1 | Clé du tag d'objet. Nœud parent : Tag |
Value | string | Obligatoire si le nœud parent est Tag | TagValue1 | Valeur du tag d'objet. Nœud parent : Tag |
NoncurrentVersionExpiration | container | Non | N/A | Spécifie les propriétés d'expiration des versions précédentes des objets. Nœud enfant : NoncurrentDays |
NoncurrentVersionTransition | container | Non | N/A | Spécifie quand OSS convertit la classe de stockage des versions précédentes d'un objet vers IA ou Archive Storage. La date de conversion d'un objet Standard vers Archive doit être postérieure à celle de la conversion vers IA. Nœuds enfants : NoncurrentDays et StorageClass |
NoncurrentDays | string | Obligatoire si le nœud parent est NoncurrentVersionExpiration ou NoncurrentVersionTransition | 10 | Spécifie le nombre de jours après qu'un objet est devenu une version précédente avant que la règle de cycle de vie ne prenne effet. Si le paramètre IsAccessTime est défini sur true dans la requête, ce paramètre spécifie le nombre de jours après le dernier accès à un objet avant que la règle de cycle de vie ne prenne effet. Nœuds parents : NoncurrentVersionTransition et NoncurrentVersionExpiration |
IsAccessTime | string | Non | true | Indique si la règle doit correspondre en fonction du dernier accès. Valeurs possibles :
Nœuds parents : Transition ou NoncurrentVersionTransition. |
ReturnToStdWhenVisit | string | Non | false | Indique s'il faut convertir la classe de stockage d'un objet non Standard vers Standard lorsque l'objet est à nouveau consulté. Ce paramètre n'est valide que si IsAccessTime est défini sur true. Valeurs possibles :
Nœuds parents : Transition ou NoncurrentVersionTransition. |
AllowSmallFile | string | Non | false | Lorsque vous définissez une règle de cycle de vie basée sur le dernier accès, ce paramètre indique s'il faut convertir les objets de moins de 64 Ko vers la classe de stockage IA, Archive ou Cold Archive. Valeurs possibles :
Nœuds parents : Transition ou NoncurrentVersionTransition. |
Filter | container | Non | N/A | Conteneur pour les paramètres de condition de cette règle d'exclusion. Vous pouvez spécifier au maximum un conteneur ou le laisser vide. Nœud parent : Rule Nœud enfant : Not |
Not | container | Non | N/A | Si un objet répond à cette condition, la règle est ignorée. Si vous configurez Filter, vous devez spécifier un et un seul nœud Not sous Filter. Nœud parent : Filter Nœuds enfants : Prefix et Tag |
Prefix | string | Oui | tmp/not/ | Préfixe d'objet auquel cette règle d'exclusion s'applique. Ce paramètre ne peut pas être vide.
Nœud parent : Not Nœud enfant : Aucun |
Tag | container | Non | N/A | Tag d'objet auquel cette règle d'exclusion s'applique. Vous pouvez spécifier au maximum un tag ou laisser ce paramètre vide. |
ObjectSizeGreaterThan | Entier positif | Non | 500 | Taille minimale d'objet à laquelle cette règle s'applique. Ce paramètre est facultatif et vous ne pouvez en spécifier qu'un seul. Si vous définissez également ObjectSizeLessThan, le système vérifie la relation de taille entre les deux. Ce paramètre s'exclut mutuellement avec AllowSmallFile. Nœud parent : Filter Nœud enfant : Aucun |
ObjectSizeLessThan | Entier positif | Non | 64000 | Taille maximale d'objet à laquelle cette règle s'applique. Ce paramètre est facultatif et vous ne pouvez en spécifier qu'un seul. Si vous définissez également ObjectSizeGreaterThan, le système vérifie la relation de taille entre les deux. Ce paramètre s'exclut mutuellement avec AllowSmallFile. 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 courants. Pour plus d'informations, consultez la section En-têtes de réponse courants.
Exemples
Exemples de requêtes
Exemple 1 : Convertir la classe de stockage des objets en fonction de la dernière modification
Exemple 2 : Supprimer des objets en fonction de la dernière modification
Exemple 3 : Convertir la classe de stockage des objets et les supprimer en fonction de la dernière modification
Exemple 4 : Supprimer les versions précédentes des objets et nettoyer les marqueurs de suppression en fonction de la dernière modification
Exemple 5 : Convertir la classe de stockage des objets et les supprimer en fonction de la dernière modification, en excluant les objets avec un préfixe et un tag spécifiques
Exemple 6 : Convertir la classe de stockage des objets en fonction du dernier accès
Exemple 7 : Supprimer des parties en fonction de la dernière modification
Exemple 8 : Supprimer des objets avec des préfixes qui se chevauchent en fonction de la dernière modification
Exemple de réponse
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
Appelez cette opération à l'aide des kits de développement logiciel (SDK) pour les langages de programmation suivants.
Outil de ligne de commande ossutil
Pour obtenir des informations sur la commande ossutil correspondant à l'opération PutBucketLifecycle, consultez la section put-bucket-lifecycle.
Références
Pour plus d'informations sur les règles de cycle de vie, consultez la section Présentation des règles de cycle de vie.
Codes d'erreur
Code d'erreur | Code d'état HTTP | Description |
InvalidArgument | 400 | Causes possibles de cette erreur :
|
AccessDenied | 403 | Vous ne disposez pas des autorisations requises. Seuls les utilisateurs disposant de l'autorisation |
MalforedXML | 400 | Une erreur de validation XML dans la configuration du cycle de vie entraîne l'erreur MalformedXML. Par exemple, cette erreur se produit si vous configurez une règle de cycle de vie basée sur le dernier accès pour un bucket avant d'avoir activé le suivi d'accès pour ce bucket. |