Configura regras de ciclo de vida para um bucket. Use a operação PutBucketLifecycle para converter periodicamente as classes de armazenamento de objetos ou excluir objetos e partes expirados com base na hora da última modificação ou do último acesso, reduzindo os custos de armazenamento.
Observações
-
A operação PutBucketLifecycle usa semântica de sobrescrita. Para adicionar uma nova regra (Rule2) mantendo uma regra existente (Rule1):
Chame GetBucketLifecycle para consultar a configuração existente da Rule1.
Adicione a Rule2 à configuração existente.
Chame PutBucketLifecycle com a Rule1 e a Rule2 para atualizar o bucket.
As regras de ciclo de vida podem expirar objetos e partes de uploads multipart incompletos.
As regras podem ter como base a hora do último acesso ou da última modificação.
Permissões
Por padrão, uma conta Alibaba Cloud tem permissões totais. Usuários RAM ou funções RAM vinculados a uma conta Alibaba Cloud não têm permissões por padrão. A conta Alibaba Cloud ou o administrador da conta deve conceder as permissões de operação por meio de políticas do RAM ou Bucket Policy.
|
API |
Action |
Descrição |
|
PutBucketLifecycle |
oss:PutBucketLifecycle |
Configura regras de ciclo de vida para um bucket. |
Sintaxe da solicitação
PUT /?lifecycle HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Authorization: SignatureValue
Host: BucketName.oss.aliyuncs.com
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
<Rule>
<ID>RuleID</ID>
<Prefix>Prefix</Prefix>
<Status>Status</Status>
<Expiration>
<Days>Days</Days>
</Expiration>
<Transition>
<Days>Days</Days>
<StorageClass>StorageClass</StorageClass>
</Transition>
<AbortMultipartUpload>
<Days>Days</Days>
</AbortMultipartUpload>
</Rule>
</LifecycleConfiguration>
Cabeçalhos da solicitação
|
Cabeçalho |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
x-oss-allow-same-action-overlap |
String |
Não |
true |
Especifica se prefixos sobrepostos são permitidos. Valores válidos:
|
Esta solicitação também usa cabeçalhos comuns, como Date e Authorization, descritos em Cabeçalhos HTTP comuns.
Elementos da solicitação
|
Elemento |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
LifecycleConfiguration |
Container |
Sim |
N/A |
Contêiner das configurações de ciclo de vida. Suporta até 1.000 regras. Nós filhos: Rule Nós pais: nenhum |
|
Rule |
Container |
Sim |
N/A |
Contêiner de uma regra de ciclo de vida. O período entre a expiração e a exclusão deve ser superior ao período entre a expiração e a conversão de classe de armazenamento para IA ou Archive. Nós filhos: ID, Prefix, Status e Expiration Nós pais: LifecycleConfiguration |
|
ID |
String |
Não |
rule1 |
ID da regra de ciclo de vida. Comprimento máximo: 255 caracteres. Se não especificado, o OSS gera um ID exclusivo automaticamente. Nós filhos: nenhum Nós pais: Rule |
|
Prefix |
String |
Não |
tmp/ |
Prefixo do nome do objeto ao qual esta regra se aplica. Os prefixos entre regras não podem se sobrepor.
Nós filhos: nenhum Nós pais: Rule |
|
Status |
String |
Sim |
Enabled |
Especifica se a regra está ativada. Valores válidos:
Nós pais: Rule |
|
Expiration |
Container |
Não |
N/A |
Operação de exclusão executada nos objetos correspondentes quando eles expiram. Em buckets com versionamento, isso se aplica apenas às versões atuais. O período entre a expiração e a exclusão deve ser superior ao período entre a expiração e a conversão de classe de armazenamento para IA ou Archive. Nós filhos: Days, CreatedBeforeDate ou ExpiredObjectDeleteMarker Nós pais: Rule |
|
Days |
Inteiro positivo |
Days ou CreatedBeforeDate é obrigatório |
1 |
Número de dias após a data da última modificação antes que a regra entre em vigor. Se IsAccessTime for true, a regra entrará em vigor com base nos dias após o último acesso. Nós pais: Expiration ou AbortMultipartUpload |
|
CreatedBeforeDate |
String |
Days ou CreatedBeforeDate é obrigatório |
2002-10-11T00:00:00.000Z |
Data anterior à qual a regra se aplica. O OSS executa a operação em objetos cuja última modificação ocorreu antes desta data. Formato: yyyy-MM-ddT00:00:00.000Z. O horário deve ser 00:00:00 UTC no formato ISO 8601. Nós pais: Expiration ou AbortMultipartUpload |
|
ExpiredObjectDeleteMarker |
String |
Não |
true |
Especifica se marcadores de exclusão expirados devem ser removidos automaticamente. Valores válidos:
Nós pais: Expiration |
|
Transition |
Container |
Não |
N/A |
Conversão de classe de armazenamento para objetos correspondentes quando eles expiram. Objetos Standard podem fazer transição para IA, Archive ou Cold Archive. O período de transição para Archive deve ser superior ao período de transição para IA. Por exemplo, se os objetos fizerem transição para IA após 30 dias, eles deverão fazer transição para Archive após mais de 30 dias. Nós pais: Rule Nós filhos: Days, CreatedBeforeDate e StorageClass Importante
Importante
Days ou CreatedBeforeDate é obrigatório. |
|
StorageClass |
String |
Sim, se Transition ou NoncurrentVersionTransition for especificado |
IA |
Classe de armazenamento para a qual os objetos são alterados. Valores válidos:
Importante
Você pode converter a classe de armazenamento de objetos em um bucket IA apenas para Archive ou Cold Archive. Nós pais: Transition |
|
AbortMultipartUpload |
Container |
Não |
N/A |
Operação para excluir partes de uploads multipart incompletos quando elas expiram. Nós filhos: Days ou CreatedBeforeDate Nós pais: Rule |
|
Tag |
Container |
Não |
N/A |
Tag dos objetos aos quais a regra de ciclo de vida se aplica. É possível especificar várias tags. Nós pais: Rule Nós filhos: Key e Value |
|
Key |
String |
Sim, se o elemento Tag for especificado |
TagKey1 |
Chave da tag especificada para os objetos. Nós pais: Tag |
|
Value |
String |
Sim, se o elemento Tag for especificado |
TagValue1 |
Valor da tag especificada para os objetos. Nós pais: Tag |
|
NoncurrentVersionExpiration |
Container |
Não |
N/A |
Operação para excluir versões anteriores de objetos correspondentes quando elas expiram. Nós filhos: NoncurrentDays |
|
NoncurrentVersionTransition |
Container |
Não |
N/A |
Conversão de classe de armazenamento para versões anteriores de objetos correspondentes quando elas expiram. Versões anteriores podem fazer transição para IA ou Archive. O período de transição para Archive deve ser superior ao período de transição para IA para versões anteriores. Nós filhos: NoncurrentDays e StorageClass |
|
NoncurrentDays |
String |
Sim, se NoncurrentVersionExpiration ou NoncurrentVersionTransition for especificado |
10 |
Número de dias após os objetos se tornarem versões anteriores antes que a regra entre em vigor. Se IsAccessTime for true, NoncurrentDays entrará em vigor com base nos dias após o último acesso. Nós pais: NoncurrentVersionTransition e NoncurrentVersionExpiration |
|
IsAccessTime |
String |
Não |
true |
Especifica se a regra de ciclo de vida se aplica aos objetos com base na hora do último acesso. Valores válidos:
Nós pais: Transition ou NoncurrentVersionTransition |
|
ReturnToStdWhenVisit |
String |
Não |
false |
Especifica se objetos não Standard devem ser convertidos de volta para Standard mediante acesso. Entra em vigor apenas quando IsAccessTime é true. Valores válidos:
Nós pais: Transition ou NoncurrentVersionTransition |
|
AllowSmallFile |
String |
Não |
false |
Especifica se objetos menores que 64 KB devem ser convertidos para IA, Archive ou Cold Archive com base na hora do último acesso. Valores válidos:
Nós pais: Transition ou NoncurrentVersionTransition |
|
Filter |
Container |
Não |
N/A |
Contêiner do elemento Not usado para filtrar objetos. Suporta no máximo um nó Not. Nós pais: Rule Nós filhos: Not |
|
Not |
Container |
Não |
N/A |
Condição de exclusão para a regra de ciclo de vida. Apenas um nó Not é permitido por Filter. Nós pais: Filter Nós filhos: Prefix e Tag |
|
Prefix |
String |
Sim |
tmp/not/ |
Prefixo do nome do objeto excluído da regra de ciclo de vida. Não pode estar vazio.
Nós pais: Not Nós filhos: nenhum |
|
Tag |
Container |
Não |
N/A |
Tag dos objetos excluídos. Suporta no máximo uma tag. |
|
ObjectSizeGreaterThan |
Inteiro positivo |
Não |
500 |
Tamanho mínimo do objeto ao qual esta regra se aplica. Especifique apenas um valor ou deixe este elemento vazio. Se tanto este parâmetro quanto o parâmetro ObjectSizeLessThan estiverem definidos, o sistema verificará se o tamanho do objeto está dentro do intervalo especificado — maior que o tamanho mínimo e menor que o tamanho máximo. Este parâmetro e o parâmetro AllowSmallFile são mutuamente exclusivos. Nó pai: Filter Nó filho: nenhum |
|
ObjectSizeLessThan |
Inteiro positivo |
Não |
64000 |
Tamanho máximo do objeto ao qual esta regra se aplica. Especifique apenas um valor ou deixe este elemento vazio. Se tanto este parâmetro quanto o parâmetro ObjectSizeGreaterThan estiverem definidos, o sistema verificará se o tamanho do objeto está dentro do intervalo especificado — maior que o tamanho mínimo e menor que o tamanho máximo. Este parâmetro e o parâmetro AllowSmallFile são mutuamente exclusivos. Nó pai: Filter Nó filho: nenhum |
Cabeçalhos da resposta
A resposta contém apenas cabeçalhos de resposta comuns. Para obter mais informações, consulte Cabeçalhos de resposta comuns.
Exemplos
Exemplos de solicitações
Exemplo 1: Configurar uma regra de ciclo de vida baseada na hora da última modificação apenas para converter a classe de armazenamento de objetos
Exemplo 2: Configurar uma regra de ciclo de vida baseada na hora da última modificação apenas para excluir objetos
Exemplo 3: Configurar uma regra de ciclo de vida baseada na hora da última modificação para converter a classe de armazenamento de objetos e excluir objetos
Exemplo 4: Configurar uma regra de ciclo de vida baseada na hora da última modificação para excluir versões anteriores de objetos e remover marcadores de exclusão
Exemplo 5: Configurar uma regra de ciclo de vida baseada na hora da última modificação para converter a classe de armazenamento de objetos e excluir objetos, excluindo objetos cujos nomes contenham prefixos específicos ou objetos que possuam tags específicas
Exemplo 6: Configurar uma regra de ciclo de vida baseada na hora do último acesso para converter a classe de armazenamento de objetos
Exemplo 7: Configurar uma regra de ciclo de vida baseada na hora da última modificação para excluir partes
Exemplo 8: Configurar uma regra de ciclo de vida baseada na hora da última modificação para excluir objetos cujos nomes contenham prefixos sobrepostos
Exemplos de respostas
HTTP/1.1 200 OK
x-oss-request-id: 7D3435J59A9812BAD56E
Date: Mon, 6 May 2019 15:23:20 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS
SDKs do OSS
Chame PutBucketLifecycle usando os seguintes SDKs do OSS:
ossutil
Para obter informações sobre o comando ossutil correspondente à operação PutBucketLifecycle, consulte put-bucket-lifecycle.
Referência
Para obter mais informações sobre regras de ciclo de vida, consulte Ciclo de vida.
Códigos de erro
|
Código de erro |
Código de status HTTP |
Descrição |
|
InvalidArgument |
400 |
Possíveis causas:
|
|
AccessDenied |
403 |
Você não possui a permissão |
|
MalforedXML |
400 |
O erro MalformedXML é retornado quando a validação XML da regra de ciclo de vida falha. Por exemplo, configurar uma regra baseada na hora do último acesso sem ativar o rastreamento de acesso aciona este erro. |