Todos os produtos
Search
Central de documentação

Object Storage Service:put-bucket-lifecycle

Última atualização: Jul 03, 2026

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:

  • true: Permite prefixos sobrepostos.

  • false: Impede prefixos sobrepostos.

Nota

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
          }
        },
        ...
      ]
    }
Nota

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\"}}}"