Esta operação ativa uma política de retenção no nível do objeto (ObjectWorm) em um bucket e, opcionalmente, configura uma política de retenção padrão. Esta ação é irreversível: após a ativação do ObjectWorm em um bucket, não é possível desativá-lo.
Observações de uso
Este recurso está disponível atualmente apenas por convite. Para solicitar acesso, entre em contato com o suporte técnico.
Esta ação é irreversível. Após ativar uma política de retenção no nível do objeto para um bucket, você não pode desativar os recursos de ObjectWorm ou versionamento dele.
Antes de chamar esta operação, ative o versionamento do bucket. Caso contrário, a operação retornará um erro.
O ObjectWorm é mutuamente exclusivo com uma política de retenção no nível do bucket (BucketWorm). Se uma política de retenção no nível do bucket já estiver ativada para o bucket, a chamada falhará e retornará um erro.
A política de retenção padrão é opcional. Ao configurá-la, o sistema a aplica automaticamente a todos os novos objetos enviados para o bucket. A política não se aplica a objetos existentes. Para aplicar uma política de retenção a um objeto existente, chame a operação PutObjectRetention.
Quando você ativa o ObjectWorm, o sistema desativa o suporte a uploads de acréscimo.
Conceda aos usuários as permissões
oss:PutObjectRetentioneoss:GetObjectRetentionpara que você gerencie as políticas de retenção de objetos.
Sintaxe da requisição
PUT /?objectWorm HTTP/1.1
Content-MD5: ContentMD5
Content-Length: ContentLength
Content-Type: application/xml
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Cabeçalhos da requisição
|
Parâmetro |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
Content-MD5 |
String |
Sim |
B2M2Y8AsgTpgAmY7PhC**** |
O hash MD5 codificado em Base64 do corpo da requisição. O OSS usa este cabeçalho. Verifique a integridade dos dados por meio dele. |
|
Content-Length |
Inteiro positivo |
Sim |
188 |
O comprimento do corpo da requisição em bytes. |
Elementos da requisição
|
Parâmetro |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
ObjectWormConfiguration |
Contêiner |
Sim |
N/A |
Um contêiner para a configuração da política de retenção no nível do objeto do bucket. Elemento pai: Nenhum Elementos filhos: ObjectWormEnabled, Rule |
|
ObjectWormEnabled |
String |
Sim |
Enabled |
Indica se a política de retenção no nível do objeto está ativada. O valor deve ser Elemento pai: ObjectWormConfiguration |
|
Rule |
Contêiner |
Não |
N/A |
Um contêiner para a política de retenção padrão no nível do objeto do bucket. Elemento pai: ObjectWormConfiguration Elemento filho: DefaultRetention |
|
DefaultRetention |
Contêiner |
Não |
N/A |
O contêiner para a política de retenção padrão. Elemento pai: Rule Elementos filhos: Mode, Days, Years |
|
Mode |
String |
Não |
COMPLIANCE |
O modo de retenção padrão para a política de retenção no nível do objeto. O valor válido é:
Elemento pai: DefaultRetention |
|
Days |
Inteiro positivo |
Não |
1 |
O período de retenção padrão em dias. Valores válidos: 1 a 36500. Especifique Elemento pai: DefaultRetention |
|
Years |
Inteiro positivo |
Não |
1 |
O período de retenção padrão em anos. Valores válidos: 1 a 100. Especifique Days ou Years, mas não ambos. Elemento pai: DefaultRetention |
Exemplos
Exemplo 1: Ative o ObjectWorm com uma política padrão
Neste exemplo, ative o ObjectWorm para um bucket e configure uma política de retenção padrão para proteger objetos no modo de conformidade por um dia.
-
Exemplo de requisição
PUT /?objectWorm HTTP/1.1 Date: Thu, 17 Mar 2026 11:18:32 GMT Content-Length: 188 Content-Type: application/xml Content-MD5: B2M2Y8AsgTpgAmY7PhC**** Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20260317/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d**** <?xml version="1.0" encoding="UTF-8"?> <ObjectWormConfiguration> <ObjectWormEnabled>Enabled</ObjectWormEnabled> <Rule> <DefaultRetention> <Mode>COMPLIANCE</Mode> <Days>1</Days> </DefaultRetention> </Rule> </ObjectWormConfiguration> -
Exemplo de resposta
HTTP/1.1 200 OK x-oss-request-id: 5374A2880232A65C2300**** Date: Thu, 17 Mar 2026 11:18:32 GMT Content-Length: 0 Server: AliyunOSS
Exemplo 2: Ative o ObjectWorm sem uma política padrão
Neste exemplo, ative o ObjectWorm para um bucket sem uma política de retenção padrão. Posteriormente, chame PutObjectRetention e defina políticas de retenção em objetos individuais.
-
Exemplo de requisição
PUT /?objectWorm HTTP/1.1 Date: Thu, 17 Mar 2026 11:18:32 GMT Content-Length: 102 Content-Type: application/xml Content-MD5: C3N3Z9BthUpgBnZ8QiD**** Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20260317/cn-hangzhou/oss/aliyun_v4_request,Signature=**** <?xml version="1.0" encoding="UTF-8"?> <ObjectWormConfiguration> <ObjectWormEnabled>Enabled</ObjectWormEnabled> </ObjectWormConfiguration> -
Exemplo de resposta
HTTP/1.1 200 OK x-oss-request-id: 6485B3990232A65C3400**** Date: Thu, 17 Mar 2026 11:20:15 GMT Content-Length: 0 Server: AliyunOSS
Códigos de erro
|
Código de erro |
Código de status HTTP |
Descrição |
|
InvalidBucketState |
409 |
O versionamento não está ativado para o bucket, portanto, o ObjectWorm não pode ser ativado. Ative o versionamento e tente novamente. |
|
BucketWormAlreadyEnabled |
409 |
Uma política de retenção no nível do bucket (BucketWorm) já está ativada para o bucket. Não ative uma política de retenção no nível do objeto (ObjectWorm) ao mesmo tempo. |