Crie regras de ciclo de vida com base na hora da última modificação ou do último acesso para transicionar objetos em um bucket periodicamente para uma classe de armazenamento especificada, ou exclua objetos e partes expirados para reduzir custos de armazenamento. Este tópico descreve como usar o comando put-bucket-lifecycle para definir regras de ciclo de vida de um bucket.
Observações de uso
Para configurar regras de ciclo de vida em um bucket, é necessária a permissão
oss:PutBucketLifecycle. Para mais informações, consulte Política do RAM.Se não houver configuração de ciclo de vida definida para o bucket, este comando cria uma nova. Caso já exista uma configuração de ciclo de vida, este comando a substitui.
Sintaxe do comando
ossutil api put-bucket-lifecycle --bucket value --lifecycle-configuration value [flags]
Parâmetro | Tipo | Descrição |
--bucket | string | Nome do bucket. |
--lifecycle-configuration | string | Contêiner para as regras de ciclo de vida. A configuração pode conter até 1.000 regras. |
--allow-same-action-overlap | string | Define se prefixos sobrepostos são permitidos. Valores válidos:
|
O comando put-bucket-lifecycle chama a operação da API PutBucketLifecycle. Para obter detalhes sobre os parâmetros da API, consulte PutBucketLifecycle.
--lifecycle-configuration
A opção --lifecycle-configuration aceita sintaxe XML e JSON:
-
Sintaxe 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> -
Sintaxe 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 } }, ... ] }
Para mais informações, consulte Opções de linha de comando.
Exemplos
Defina regras de ciclo de vida para o bucket 'examplebucket'.
-
Utilize um arquivo de configuração XML. O conteúdo de
lifecycle-configuration.xmlé apresentado abaixo:<?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>Exemplo de comando:
ossutil api put-bucket-lifecycle --bucket examplebucket --lifecycle-configuration file://lifecycle-configuration.xml -
Utilize um arquivo de configuração JSON. O conteúdo de
lifecycle-configuration.jsoné apresentado abaixo:{ "Rule": { "ID": "rule1", "Prefix": "tmp/", "Status": "Enabled", "Expiration": { "Days": "10" }, "Transition": { "Days": "5", "StorageClass": "IA" }, "AbortMultipartUpload": { "Days": "10" } } }Exemplo de comando:
ossutil api put-bucket-lifecycle --bucket examplebucket --lifecycle-configuration file://lifecycle-configuration.json -
Especifique a configuração diretamente no comando usando uma string 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\"}}}"