

# PUT Bucket lifecycle (obsoleto)
<a name="v1-rel-RESTBucketPUTlifecycle"></a>

## Descrição
<a name="v1-rel-RESTBucketPUTlifecycle-description"></a>

 

**Importante**  
Para obter uma versão atualizada dessa API, consulte [PutBucketLifecycleConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html). Essa versão está desatualizada. As configurações de ciclo de vida existentes continuarão funcionando. Para novas configurações de ciclo de vida, use a API atualizada.

Cria uma nova configuração do ciclo de vida para o bucket ou substitui uma configuração do ciclo de vida existente. Para obter informações sobre configuração de ciclo de vida, consulte [Gerenciamento do ciclo de vida de objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) no *Guia do usuário do Amazon Simple Storage Service*.

### Permissões
<a name="v1-rel-put-object-lifecycle-permissions"></a>

Por padrão, todos os recursos do Amazon S3, incluindo buckets, objetos e sub-recursos relacionados (por exemplo, configuração de ciclo de vida e de site), são privados. Somente o proprietário do recurso, a Conta da AWS que o criou, pode acessá-lo. O proprietário do recurso pode conceder permissões de acesso a outros criando uma política de acesso. Para essa operação, os usuários devem obter a permissão `s3:PutLifecycleConfiguration`. 

Também é possível negar explicitamente as permissões. A negação explícita também substitui todas as outras permissões. Se você quiser impedir que usuários ou contas removam ou excluam objetos do seu bucket, negue a eles permissões para as seguintes ações: 
+ `s3:DeleteObject`
+ `s3:DeleteObjectVersion`
+ `s3:PutLifecycleConfiguration`

Para obter mais informações sobre permissões, consulte [Gerenciamento de permissões de acesso a seus recursos do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) no *Guia do desenvolvedor do Amazon Simple Storage Service*. 

## Solicitações
<a name="v1-rel-RESTBucketPUTlifecycle-requests"></a>

### Sintaxe
<a name="v1-rel-RESTBucketPUTlifecycle-requests-syntax"></a>

```
1. PUT /?lifecycle HTTP/1.1
2. Host: {{bucketname}}.s3.amazonaws.com
3. Content-Length: {{length}}
4. Date: {{date}}
5. Authorization: {{authorization string}} 
6. Content-MD5: {{MD5}}
7. 
8. {{Lifecycle configuration in the request body}}
```

Para obter detalhes sobre strings de autorização, consulte [Autenticação de solicitações (AWS Signature Version 4)](sig-v4-authenticating-requests.md).

### Parâmetros da solicitação
<a name="v1-rel-RESTBucketPUTlifecycle-requests-request-parameters"></a>

Essa implementação da operação não usa parâmetros de solicitação.

### Cabeçalhos de solicitação
<a name="v1-rel-RESTBucketPUTlifecycle-requests-request-headers"></a>


|  Name (Nome)  |  Descrição  |  Obrigatório  | 
| --- | --- | --- | 
| Content-MD5 | O resumo MD5 de 128 bits com codificação base64 dos dados. Você deve usar esse cabeçalho como uma verificação de integridade da mensagem para verificar se o corpo da solicitação não foi corrompido em trânsito. Para obter mais informações, consulte a [RFC 1864](http://www.ietf.org/rfc/rfc1864.txt).<br />Tipo: string <br />Padrão: nenhum |  Sim  | 

### Corpo da Solicitação
<a name="v1-rel-RESTBucketPUTlifecycle-requests-request-elements"></a>

Na solicitação, você especifica a configuração de ciclo de vida no corpo da solicitação. Essa configuração é especificada como XML. Veja a seguir um exemplo de configuração de ciclo de vida. Ela especifica uma regra. O `Prefix` na regra identifica os objetos aos quais a regra se aplica. A regra também especifica duas ações (`Transition` e `Expiration`). Cada ação especifica um cronograma em que o Amazon S3 deve realizar a ação. O `Status` indica se a regra está habilitada ou desabilitada.

```
<LifecycleConfiguration>
    <Rule>
        <ID>sample-rule</ID>
        <Prefix>{{key-prefix}}</Prefix>
        <Status>{{rule-status}}</Status>
        <Transition>        
           <Date>{{value}}</Date>        
           <StorageClass>{{storage class}}</StorageClass>       
        </Transition>    
        <Expiration>
           <Days>{{value}}</Days>
        </Expiration>
    </Rule>
</LifecycleConfiguration>
```

Se o estado do seu bucket for de versionamento habilitado ou suspenso, você pode ter várias versões do mesmo objeto: uma versão atual e nenhuma ou mais versões desatualizadas. A configuração de ciclo de vida a seguir define as ações (`NoncurrentVersionTransition`, `NoncurrentVersionExpiration`) que são específicas para versões de objetos não atuais.

```
<LifecycleConfiguration>
    <Rule>
        <ID>sample-rule</ID>
        <Prefix>{{key-prefix}}</Prefix>
        <Status>{{rule-status}}</Status>
        <NoncurrentVersionTransition>      
           <NoncurrentDays>{{value}}</NoncurrentDays>      
           <StorageClass>{{storage class}}</StorageClass>   
        </NoncurrentVersionTransition>    
        <NoncurrentVersionExpiration>     
           <NoncurrentDays>{{value}}</NoncurrentDays>    
        </NoncurrentVersionExpiration> 
    </Rule>
</LifecycleConfiguration>
```

Você pode usar a API de multipart upload para fazer upload de objetos grandes em partes. Para obter mais informações sobre uploads fragmentados, consulte [Visão geral do upload fragmentado](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html) no *Guia do desenvolvedor do Amazon Simple Storage Service*. Com a configuração de ciclo de vida, você pode instruir o Amazon S3 a cancelar uploads fragmentados incompletos — identificados pelo prefixo do nome da chave especificado na regra — caso não sejam concluídos dentro de um número especificado de dias. Quando o Amazon S3 cancela um upload fragmentado, ele exclui todas as partes associadas ao upload. Isso garante que você não tenha uploads fragmentados incompletos com partes armazenadas no Amazon S3 e, portanto, você não precisa pagar por custos de armazenamento para elas. Veja a seguir um exemplo de configuração de ciclo de vida que especifica uma regra com a ação `AbortIncompleteMultipartUpload`. Essa ação pede que o Amazon S3 cancele uploads fragmentados incompletos sete dias após a inicialização.

 

```
<LifecycleConfiguration>
    <Rule>
        <ID>sample-rule</ID>
        <Prefix>{{SomeKeyPrefix}}/</Prefix>
        <Status>{{rule-status}}</Status>
        <AbortIncompleteMultipartUpload>
          <DaysAfterInitiation>7</DaysAfterInitiation>
        </AbortIncompleteMultipartUpload>
    </Rule>
</LifecycleConfiguration>
```

A tabela a seguir descreve os elementos XML na configuração de ciclo de vida.


|  Name (Nome)  |  Descrição  | Obrigatório | 
| --- | --- | --- | 
|  AbortIncompleteMultipartUpload  | Contêiner para especificar quando um upload fragmentado incompleto se torna elegível para uma operação de interrupção. <br />Secundário: `DaysAfterInitiation`<br />Tipo: Container<br />Antepassado: `Rule` | Sim, se nenhuma outra ação for especificada para a regra | 
|  Date  | Data em que deseja que o Amazon S3 realize a ação. Para obter mais informações, consulte [Regras de ciclo de vida: com base em uma data específica](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html#intro-lifecycle-rules-date) no *Guia do usuário do Amazon Simple Storage Service*.<br />O valor de data deve estar em conformidade com o formato ISO 8601. A hora é sempre meia-noite (UTC). <br />Tipo: string<br />Antepassado: `Expiration` ou `Transition` | Sim, se Days e ExpiredObjectDeleteMarker estiverem ausentes | 
|  Days  | Especifica o número de dias após a criação de objeto quando a ação de regra específica entra em vigor. <br />Tipo: inteiro não negativo quando usado com `Transition`, inteiro positivo quando usado com `Expiration`<br />Antepassado: `Expiration`, `Transition` | Sim, se Date e ExpiredObjectDeleteMarker estiverem ausentes | 
|  DaysAfterInitiation  | Especifica o número de dias quando o upload fragmentado deve ser concluído depois de iniciado. Se não for concluído no número especificado de dias, ele se tornará elegível para uma operação de interrupção e o Amazon S3 cancelará o upload fragmentado incompleto.<br />Tipo: número inteiro positivo<br />Antepassado: `AbortIncompleteMultipartUpload` | Sim, se uma tag principal for especificada | 
|  Expiration  | Essa ação especifica um período na vida útil de um objeto em que o Amazon S3 deve realizar a ação de expiração apropriada. A ação realizada pelo Amazon S3 depende de se o bucket está habilitado para versionamento. +  Se o versionamento nunca tiver sido habilitado no bucket, o Amazon S3 excluirá permanentemente a única cópia do objeto.  <br />+  Se o bucket tiver o versionamento habilitado (ou se o versionamento estiver suspenso), a ação se aplicará apenas à versão atual do objeto. Um bucket com versionamento habilitado pode ter várias versões do mesmo objeto: uma versão atual e nenhuma ou mais versões desatualizadas. <br />Em vez de excluir a versão atual, o Amazon S3 a transforma em uma versão desatualizada, adicionando um marcador de exclusão como a nova versão atual.  <br />  Se o estado de um bucket estiver com versionamento suspenso, o Amazon S3 criará um marcador de exclusão com ID de versão `null`. Se você tiver uma versão com ID `null`, o Amazon S3 substituirá essa versão.    Para definir a expiração para objetos desatualizados, use a ação `NoncurrentVersionExpiration`.  <br />Tipo: Container<br />Filhos: Days ou Date<br />Antepassado: Rule | Sim, se nenhuma outra ação estiver presente na Rule. | 
|  ID  | Identificador exclusivo da regra. O valor não pode ser maior que 255 caracteres.<br />Tipo: string<br />Antepassado: Rule | Não | 
| LifecycleConfiguration | Contêiner para regras de ciclo de vida. Você pode adicionar até 1.000 regras.<br />Tipo: Container<br />Filhos: Rule<br />Ancestral: Nenhum | Sim | 
| ExpiredObjectDeleteMarker | Em um bucket com versões (versionamento habilitado ou suspenso no bucket), você pode adicionar esse elemento na configuração de ciclo de vida para fazer com que o Amazon S3 exclua os marcadores de exclusão de objetos expirados. Por exemplo, consulte [Exemplo 8: remoção de marcadores de exclusão de objetos expirados](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html#lifecycle-config-conceptual-ex8) no *Guia do usuário do Amazon Simple Storage Service*. Não o adicione a um bucket sem versão, pois esse tipo de bucket não pode incluir marcadores de exclusão. <br />Tipo: string <br />Valores válidos: true \| false (o valor `false` é permitido, mas não está funcionando, o que significa que o Amazon S3 não vai realizar nenhuma ação)<br />Antepassado: `Expiration` | Sim, se Date e Days estiverem ausentes | 
| NoncurrentDays | Especifica o número de dias que um objeto precisa estar desatualizado antes do Amazon S3 poder executar a ação associada. Para obter informações sobre os cálculos de dias desatualizados, consulte [Como o Amazon S3 calcula quando um objeto se torna desatualizado](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) no *Guia do desenvolvedor do Amazon Simple Storage Service*.<br />Tipo: inteiro não negativo quando usado com `NoncurrentVersionTransition`, inteiro positivo quando usado com `NoncurrentVersionExpiration`<br />Antepassado: `NoncurrentVersionExpiration` ou `NoncurrentVersionTransition` | Sim | 
| NoncurrentVersionExpiration | Especifica quando expiram as versões de objetos não atuais. Após a expiração, o Amazon S3 exclui permanentemente as versões de objetos não atuais. <br />Defina essa ação de configuração de ciclo de vida em um bucket que tem versionamento habilitado (ou suspenso) para pedir que o Amazon S3 exclua versões de objetos desatualizadas em um período específico na vida útil do objeto.<br />Tipo: Container<br />Filhos: NoncurrentDays <br />Antepassado: Rule | Sim, se nenhuma outra ação estiver presente na Rule | 
| NoncurrentVersionTransition | Contêiner para a regra de transição que descreve quando objetos desatualizados fazem a transição para `STANDARD_IA`, `ONEZONE_IA` ou a classe de armazenamento. <br />Se o bucket estiver habilitado para versionamento (ou se o versionamento estiver suspenso), você pode definir essa ação para pedir que o Amazon S3 realize a transição de versões de objetos desatualizadas em um período específico na vida útil do objeto.<br />Tipo: Container<br />Filhos: NoncurrentDays e StorageClass<br />Antepassado: Rule | Sim, se nenhuma outra ação estiver presente na Rule | 
|  Prefix  | Prefixo de chaves de objeto que identifica um ou mais objetos aos quais essa regra se aplica.<br />Tipo: string<br />Antepassado: Rule | Sim | 
| Rule  | Contêiner para uma regra de ciclo de vida. Uma configuração de ciclo de vida pode conter até 1.000 regras. <br />Tipo: Container<br />Antepassado: LifecycleConfiguration | Sim | 
|  Status  | Se habilitado, o Amazon S3 vai executar a regra conforme programado. Se estiver desabilitado, o Amazon S3 vai ignorar a regra.<br />Tipo: string<br />Antepassado: Rule<br />Valores válidos: Enabled, Disabled | Sim | 
|  StorageClass  | Especifica a classe de armazenamento do Amazon S3 para a qual o objeto fará a transição. <br />Tipo: string<br />Antepassado: Transition e NoncurrentVersionTransition<br />Valores válidos: STANDARD\_IA \| ONEZONE\_IA \| GLACIER  | Sim<br />Esse elemento só será necessário se você especificar um ou os dois antepassados. | 
|  Transition  | Essa ação especifica um período na vida útil dos objetos em que o Amazon S3 deve fazer a transição deles para `STANDARD_IA`, `ONEZONE_IA` ou a classe de armazenamento. Quando essa ação está em vigor, o que o Amazon S3 faz depende se o bucket está habilitado para versionamento.+  Se o versionamento nunca tiver sido habilitado no bucket, o Amazon S3 fará a transição da única cópia do objeto para a classe de armazenamento especificada.  <br />+  Se o bucket estiver habilitado para versionamento (ou o versionamento estiver suspenso), o Amazon S3 fará a transição somente das versões atuais dos objetos identificados na regra. <br />  Um bucket com versionamento habilitado pode ter várias versões de um objeto. Essa ação não tem efeito em versões de objetos desatualizadas. Para fazer a transição de objetos desatualizados, use a ação `NoncurrentVersionTransition`.  <br />Tipo: Container<br />Filhos: Days ou Date e StorageClass<br />Antepassado: Rule | Sim, se nenhuma outra ação estiver presente na Rule | 

## Respostas
<a name="v1-rel-RESTBucketPUTlifecycle-responses"></a>

### Cabeçalhos de resposta
<a name="v1-rel-RESTBucketPUTlifecycle-responses-response-headers"></a>

Essa implementação da operação usa somente os cabeçalhos de resposta que são comuns à maioria das respostas. Para obter mais informações, consulte [Cabeçalhos de resposta comuns](RESTCommonResponseHeaders.md).

### Elementos de resposta
<a name="v1-rel-RESTBucketPUTlifecycle-responses-response-elements"></a>

Essa implementação da operação não retorna elementos de resposta.

### Erros especiais
<a name="v1-rel-RESTBucketPUTlifecycle-responses-special-errors"></a>

Essa implementação da operação não retorna erros especiais. Para obter informações gerais sobre erros do Amazon S3 e uma lista de códigos de erro, consulte [Respostas de erro](ErrorResponses.md).

## Exemplos
<a name="v1-rel-RESTBucketPUTlifecycle-examples"></a>

### Exemplo 1: adicionar configuração de ciclo de vida a um bucket que não está habilitado para versionamento
<a name="v1-rel-put-bucket-lifecycle-ex1"></a>

A configuração de ciclo de vida a seguir especifica duas regras, cada uma com uma ação. 
+ A ação Transition faz com que o Amazon S3 realize a transição de objetos com o prefixo “documents/” para a classe de armazenamento 30 dias após a criação.
+ A ação Expiration faz com que o Amazon S3 exclua objetos com o prefixo “logs/” 365 dias após a criação.

```
 1. <LifecycleConfiguration>
 2.   <Rule>
 3.     <ID>id1</ID>
 4.     <Prefix>documents/</Prefix>
 5.     <Status>Enabled</Status>
 6.     <Transition>
 7.       <Days>30</Days>
 8.       <StorageClass>GLACIER</StorageClass>
 9.     </Transition>
10.   </Rule>
11.   <Rule>
12.     <ID>id2</ID>
13.     <Prefix>logs/</Prefix>
14.     <Status>Enabled</Status>
15.     <Expiration>
16.       <Days>365</Days>
17.     </Expiration>
18.   </Rule>
19. </LifecycleConfiguration>
```

Veja a seguir um exemplo de solicitação `PUT /?lifecycle` que adiciona a configuração de ciclo de vida anterior ao bucket `examplebucket`.

```
 1. PUT /?lifecycle HTTP/1.1
 2. Host: examplebucket.s3.amazonaws.com 
 3. x-amz-date: Wed, 14 May 2014 02:11:21 GMT
 4. Content-MD5: q6yJDlIkcBaGGfb3QLY69A==
 5. Authorization: {{authorization string}}
 6. Content-Length: 415
 7. 
 8. <LifecycleConfiguration>
 9.   <Rule>
10.     <ID>id1</ID>
11.     <Prefix>documents/</Prefix>
12.     <Status>Enabled</Status>
13.     <Transition>
14.       <Days>30</Days>
15.       <StorageClass>GLACIER</StorageClass>
16.     </Transition>
17.   </Rule>
18.   <Rule>
19.     <ID>id2</ID>
20.     <Prefix>logs/</Prefix>
21.     <Status>Enabled</Status>
22.     <Expiration>
23.       <Days>365</Days>
24.     </Expiration>
25.   </Rule>
26. </LifecycleConfiguration>
```

Veja a seguir uma resposta de exemplo.

 

```
1. HTTP/1.1 200 OK
2. x-amz-id-2: r+qR7+nhXtJDDIJ0JJYcd+1j5nM/rUFiiiZ/fNbDOsd3JUE8NWMLNHXmvPfwMpdc
3. x-amz-request-id: 9E26D08072A8EF9E
4. Date: Wed, 14 May 2014 02:11:22 GMT
5. Content-Length: 0
6. Server: AmazonS3
```

### Exemplo 2: adicionar a configuração de ciclo de vida a um bucket com versionamento
<a name="v1-rel-put-bucket-lifecycle-ex2"></a>

A configuração de ciclo de vida a seguir especifica duas regras, cada uma com uma ação para o Amazon S3 realizar. Você especifica essas ações quando o bucket está habilitado para versionamento ou o versionamento está suspenso:
+ A ação `NoncurrentVersionExpiration` instrui o Amazon S3 a expirar as versões desatualizadas de objetos com o prefixo “logs/” 100 dias após os objetos se tornarem desatualizados. 
+ A ação `NoncurrentVersionTransition` instrui o Amazon S3 a fazer a transição de versões desatualizadas de objetos com o prefixo “documents/” para a classe de armazenamento 30 dias após se tornarem desatualizadas.

```
 1. <LifeCycleConfiguration>
 2.   <Rule>
 3.     <ID>DeleteAfterBecomingNonCurrent</ID>
 4.     <Prefix>logs/</Prefix>
 5.     <Status>Enabled</Status>
 6.     <NoncurrentVersionExpiration>
 7.       <NoncurrentDays>100</NoncurrentDays>
 8.     </NoncurrentVersionExpiration>
 9.   </Rule>
10.   <Rule>
11.     <ID>TransitionAfterBecomingNonCurrent</ID>
12.     <Prefix>documents/</Prefix>
13.     <Status>Enabled</Status>
14.     <NoncurrentVersionTransition>
15.       <NoncurrentDays>30</NoncurrentDays>
16.       <StorageClass>GLACIER</StorageClass>
17.     </NoncurrentVersionTransition>
18.   </Rule>
19. </LifeCycleConfiguration>
```

Veja a seguir um exemplo de solicitação `PUT /?lifecycle` que adiciona a configuração de ciclo de vida anterior ao bucket `examplebucket`.

```
 1. PUT /?lifecycle HTTP/1.1
 2. Host: examplebucket.s3.amazonaws.com 
 3. x-amz-date: Wed, 14 May 2014 02:21:48 GMT
 4. Content-MD5: 96rxH9mDqVNKkaZDddgnw==
 5. Authorization: {{authorization string}}
 6. Content-Length: 598
 7. 
 8. <LifeCycleConfiguration>
 9.   <Rule>
10.     <ID>DeleteAfterBecomingNonCurrent</ID>
11.     <Prefix>logs/</Prefix>
12.     <Status>Enabled</Status>
13.     <NoncurrentVersionExpiration>
14.       <NoncurrentDays>1</NoncurrentDays>
15.     </NoncurrentVersionExpiration>
16.   </Rule>
17.   <Rule>
18.     <ID>TransitionSoonAfterBecomingNonCurrent</ID>
19.     <Prefix>documents/</Prefix>
20.     <Status>Enabled</Status>
21.     <NoncurrentVersionTransition>
22.       <NoncurrentDays>0</NoncurrentDays>
23.       <StorageClass>GLACIER</StorageClass>
24.     </NoncurrentVersionTransition>
25.   </Rule>
26. </LifeCycleConfiguration>
```

Veja a seguir uma resposta de exemplo.

```
1. HTTP/1.1 200 OK
2. x-amz-id-2: aXQ+KbIrmMmoO//3bMdDTw/CnjArwje+J49Hf+j44yRb/VmbIkgIO5A+PT98Cp/6k07hf+LD2mY=
3. x-amz-request-id: 02D7EC4C10381EB1
4. Date: Wed, 14 May 2014 02:21:50 GMT
5. Content-Length: 0
6. Server: AmazonS3
```

### Exemplos adicionais
<a name="v1-rel-put-bucket-lifecycle-ex3"></a>

Para obter mais exemplos de transição de objetos para classes de armazenamento, como STANDARD\_IA ou ONEZONE\_IA, consulte [Exemplos de configuração de ciclo de vida](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html#lifecycle-configuration-examples).

## Recursos relacionados
<a name="v1-rel-RESTObjectPOSTrestore-responses-related-resources"></a>
+ [GetBucketLifecycleConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html)
+ [POST restauração de objeto](RESTObjectPOSTrestore.md)
+  Por padrão, o proprietário do recurso — nesse caso, o proprietário do bucket, que é a Conta da AWS que criou o bucket — pode realizar qualquer uma das operações. O proprietário do recurso também pode conceder permissão a outras pessoas para realizar a operação. Para obter mais informações, consulte os tópicos a seguir no *Guia do usuário do Amazon Simple Storage Service*:
  +  [Especificação de permissões em uma política](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html)
  + [Managing Access Permissions to Your Amazon S3 Resources (Gerenciar permissões de acesso aos recursos do Amazon S](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)