PUT Bucket lifecycle (obsoleto)
Descrição
Importante
Para obter uma versão atualizada dessa API, consulte PutBucketLifecycleConfiguration. 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 no Guia do usuário do Amazon Simple Storage Service.
Permissões
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:DeleteObjects3:DeleteObjectVersions3:PutLifecycleConfiguration
Para obter mais informações sobre permissões, consulte Gerenciamento de permissões de acesso a seus recursos do Amazon S3 no Guia do desenvolvedor do Amazon Simple Storage Service.
Solicitações
Sintaxe
PUT /?lifecycle HTTP/1.1 Host:bucketname.s3.amazonaws.com Content-Length:lengthDate:dateAuthorization:authorization stringContent-MD5:MD5Lifecycle configuration in the request body
Para obter detalhes sobre strings de autorização, consulte Autenticação de solicitações (AWS Signature Version 4).
Parâmetros da solicitação
Essa implementação da operação não usa parâmetros de solicitação.
Cabeçalhos de solicitação
| 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 Tipo: string Padrão: nenhum |
Sim |
Corpo da Solicitação
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 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. Secundário: Tipo: Container Antepassado: |
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 no Guia do usuário do Amazon Simple Storage Service. O valor de data deve estar em conformidade com o formato ISO 8601. A hora é sempre meia-noite (UTC). Tipo: string Antepassado: |
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. Tipo: inteiro não negativo quando usado com Antepassado: |
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. Tipo: número inteiro positivo Antepassado: |
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.
Tipo: Container Filhos: Days ou Date 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. Tipo: string Antepassado: Rule |
Não |
LifecycleConfiguration |
Contêiner para regras de ciclo de vida. Você pode adicionar até 1.000 regras. Tipo: Container Filhos: Rule 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 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. Tipo: string Valores válidos: true | false (o valor Antepassado: |
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 no Guia do desenvolvedor do Amazon Simple Storage Service. Tipo: inteiro não negativo quando usado com Antepassado: |
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. 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. Tipo: Container Filhos: NoncurrentDays 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 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. Tipo: Container Filhos: NoncurrentDays e StorageClass 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. Tipo: string 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. Tipo: Container 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. Tipo: string Antepassado: Rule Valores válidos: Enabled, Disabled |
Sim |
StorageClass
|
Especifica a classe de armazenamento do Amazon S3 para a qual o objeto fará a transição. Tipo: string Antepassado: Transition e NoncurrentVersionTransition Valores válidos: STANDARD_IA | ONEZONE_IA | GLACIER |
Sim 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
Tipo: Container Filhos: Days ou Date e StorageClass Antepassado: Rule |
Sim, se nenhuma outra ação estiver presente na Rule |
Respostas
Cabeçalhos de resposta
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.
Elementos de resposta
Essa implementação da operação não retorna elementos de resposta.
Erros especiais
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.
Exemplos
Exemplo 1: adicionar configuração de ciclo de vida a um bucket que não está habilitado para versionamento
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.
<LifecycleConfiguration> <Rule> <ID>id1</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <Transition> <Days>30</Days> <StorageClass>GLACIER</StorageClass> </Transition> </Rule> <Rule> <ID>id2</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>
Veja a seguir um exemplo de solicitação PUT /?lifecycle que adiciona a configuração de ciclo de vida anterior ao bucket examplebucket.
PUT /?lifecycle HTTP/1.1 Host: examplebucket.s3.amazonaws.com x-amz-date: Wed, 14 May 2014 02:11:21 GMT Content-MD5: q6yJDlIkcBaGGfb3QLY69A== Authorization:authorization stringContent-Length: 415 <LifecycleConfiguration> <Rule> <ID>id1</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <Transition> <Days>30</Days> <StorageClass>GLACIER</StorageClass> </Transition> </Rule> <Rule> <ID>id2</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>
Veja a seguir uma resposta de exemplo.
HTTP/1.1 200 OK x-amz-id-2: r+qR7+nhXtJDDIJ0JJYcd+1j5nM/rUFiiiZ/fNbDOsd3JUE8NWMLNHXmvPfwMpdc x-amz-request-id: 9E26D08072A8EF9E Date: Wed, 14 May 2014 02:11:22 GMT Content-Length: 0 Server: AmazonS3
Exemplo 2: adicionar a configuração de ciclo de vida a um bucket com versionamento
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
NoncurrentVersionExpirationinstrui 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
NoncurrentVersionTransitioninstrui 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.
<LifeCycleConfiguration> <Rule> <ID>DeleteAfterBecomingNonCurrent</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <NoncurrentVersionExpiration> <NoncurrentDays>100</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> <Rule> <ID>TransitionAfterBecomingNonCurrent</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <NoncurrentVersionTransition> <NoncurrentDays>30</NoncurrentDays> <StorageClass>GLACIER</StorageClass> </NoncurrentVersionTransition> </Rule> </LifeCycleConfiguration>
Veja a seguir um exemplo de solicitação PUT /?lifecycle que adiciona a configuração de ciclo de vida anterior ao bucket examplebucket.
PUT /?lifecycle HTTP/1.1 Host: examplebucket.s3.amazonaws.com x-amz-date: Wed, 14 May 2014 02:21:48 GMT Content-MD5: 96rxH9mDqVNKkaZDddgnw== Authorization:authorization stringContent-Length: 598 <LifeCycleConfiguration> <Rule> <ID>DeleteAfterBecomingNonCurrent</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <NoncurrentVersionExpiration> <NoncurrentDays>1</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> <Rule> <ID>TransitionSoonAfterBecomingNonCurrent</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <NoncurrentVersionTransition> <NoncurrentDays>0</NoncurrentDays> <StorageClass>GLACIER</StorageClass> </NoncurrentVersionTransition> </Rule> </LifeCycleConfiguration>
Veja a seguir uma resposta de exemplo.
HTTP/1.1 200 OK x-amz-id-2: aXQ+KbIrmMmoO//3bMdDTw/CnjArwje+J49Hf+j44yRb/VmbIkgIO5A+PT98Cp/6k07hf+LD2mY= x-amz-request-id: 02D7EC4C10381EB1 Date: Wed, 14 May 2014 02:21:50 GMT Content-Length: 0 Server: AmazonS3
Exemplos adicionais
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.
Recursos relacionados
-
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: