Créez des règles de cycle de vie basées sur la date de dernière modification ou le dernier accès pour transférer périodiquement les objets d'un bucket vers une classe de stockage spécifiée, ou supprimer les objets et les parties expirés afin de réduire les coûts de stockage. Cette rubrique explique comment utiliser la commande put-bucket-lifecycle pour définir des règles de cycle de vie pour un bucket.
Remarques
Pour configurer des règles de cycle de vie pour un bucket, vous devez disposer de l'autorisation
oss:PutBucketLifecycle. Pour plus d'informations, consultez la section Politique RAM.Si aucune configuration de cycle de vie n'est définie pour le bucket, cette commande en crée une nouvelle. Si une configuration de cycle de vie existe déjà, cette commande la remplace.
Syntaxe de la commande
ossutil api put-bucket-lifecycle --bucket value --lifecycle-configuration value [flags]
Paramètre | Type | Description |
--bucket | string | Nom du bucket. |
--lifecycle-configuration | string | Conteneur des règles de cycle de vie. La configuration peut contenir jusqu'à 1 000 règles. |
--allow-same-action-overlap | string | Indique s'il faut autoriser les préfixes qui se chevauchent. Valeurs possibles :
|
La commande put-bucket-lifecycle appelle l'opération API PutBucketLifecycle. Pour plus de détails sur les paramètres de l'API, consultez la section PutBucketLifecycle.
--lifecycle-configuration
L'option --lifecycle-configuration prend en charge à la fois la syntaxe XML et JSON :
-
Syntaxe XML :
<LifecycleConfiguration> <Rule> <NoncurrentVersionExpiration> <NoncurrentDays>integer</NoncurrentDays> </NoncurrentVersionExpiration> <NoncurrentVersionTransition> <NoncurrentDays>integer</NoncurrentDays> <StorageClass>string</StorageClass> <IsAccessTime>boolean</IsAccessTime> <ReturnToStdWhenVisit>boolean</ReturnToStdWhenVisit> <AllowSmallFile>boolean</AllowSmallFile> </NoncurrentVersionTransition> ... <ID>string</ID> <Prefix>string</Prefix> <Status>string</Status> <Expiration> <ExpiredObjectDeleteMarker>boolean</ExpiredObjectDeleteMarker> <CreatedBeforeDate>string</CreatedBeforeDate> <Days>integer</Days> </Expiration> <Transition> <IsAccessTime>boolean</IsAccessTime> <ReturnToStdWhenVisit>boolean</ReturnToStdWhenVisit> <AllowSmallFile>boolean</AllowSmallFile> <CreatedBeforeDate>string</CreatedBeforeDate> <Days>integer</Days> <StorageClass>string</StorageClass> </Transition> ... <AbortMultipartUpload> <CreatedBeforeDate>string</CreatedBeforeDate> <Days>integer</Days> </AbortMultipartUpload> <Tag> <Key>string</Key> <Value>string</Value> </Tag> ... <Filter> <Not> <Prefix>string</Prefix> <Tag> <Key>string</Key> <Value>string</Value> </Tag> </Not> </Filter> </Rule> ... </LifecycleConfiguration> -
Syntaxe JSON :
{ "Rule": [ { "Tag": [ { "Key": "string", "Value": "string" }, ... ], "Filter": { "Not": { "Prefix": "string", "Tag": { "Key": "string", "Value": "string" } } }, "Transition": [ { "CreatedBeforeDate": "string", "Days": integer, "StorageClass": "string", "IsAccessTime": boolean, "ReturnToStdWhenVisit": boolean, "AllowSmallFile": boolean }, ... ], "AbortMultipartUpload": { "CreatedBeforeDate": "string", "Days": integer }, "NoncurrentVersionExpiration": { "NoncurrentDays": integer }, "NoncurrentVersionTransition": [ { "NoncurrentDays": integer, "StorageClass": "string", "IsAccessTime": boolean, "ReturnToStdWhenVisit": boolean, "AllowSmallFile": boolean }, ... ], "ID": "string", "Prefix": "string", "Status": "string", "Expiration": { "CreatedBeforeDate": "string", "Days": integer, "ExpiredObjectDeleteMarker": boolean } }, ... ] }
Pour plus d'informations, consultez la section Options de ligne de commande.
Exemples
Définissez des règles de cycle de vie pour le bucket 'examplebucket'.
-
Utilisez un fichier de configuration XML. Le contenu suivant illustre celui du fichier
lifecycle-configuration.xml:<?xml version="1.0" encoding="UTF-8"?> <LifecycleConfiguration> <Rule> <ID>rule1</ID> <Prefix>tmp/</Prefix> <Status>Enabled</Status> <Expiration> <Days>10</Days> </Expiration> <Transition> <Days>5</Days> <StorageClass>IA</StorageClass> </Transition> <AbortMultipartUpload> <Days>10</Days> </AbortMultipartUpload> </Rule> </LifecycleConfiguration>Exemple de commande :
ossutil api put-bucket-lifecycle --bucket examplebucket --lifecycle-configuration file://lifecycle-configuration.xml -
Utilisez un fichier de configuration JSON. Le contenu suivant illustre celui du fichier
lifecycle-configuration.json:{ "Rule": { "ID": "rule1", "Prefix": "tmp/", "Status": "Enabled", "Expiration": { "Days": "10" }, "Transition": { "Days": "5", "StorageClass": "IA" }, "AbortMultipartUpload": { "Days": "10" } } }Exemple de commande :
ossutil api put-bucket-lifecycle --bucket examplebucket --lifecycle-configuration file://lifecycle-configuration.json -
Spécifiez directement la configuration dans la commande à l'aide d'une chaîne JSON :
ossutil api put-bucket-lifecycle --bucket examplebucket --lifecycle-configuration "{\"Rule\":{\"ID\":\"rule1\",\"Prefix\":\"tmp/\",\"Status\":\"Enabled\",\"Expiration\":{\"Days\":\"10\"},\"Transition\":{\"Days\":\"5\",\"StorageClass\":\"IA\"},\"AbortMultipartUpload\":{\"Days\":\"10\"}}}"