Todos os produtos
Search
Central de documentação

Object Storage Service:PutBucketReplication

Última atualização: Sep 02, 2026

Utilize a operação PutBucketReplication para definir uma regra de replicação de dados em um bucket. O OSS oferece suporte à replicação entre regiões (CRR) e à replicação na mesma região (SRR).

Observações de uso

A replicação de dados copia objetos de forma assíncrona de um bucket de origem para um bucket de destino, abrangendo operações como criação, atualização e exclusão de objetos. Ao utilizar a replicação de dados, observe os seguintes pontos:

  • O processo de replicação é assíncrono. O tempo necessário para replicar os dados no bucket de destino varia conforme o volume de informações, podendo levar de alguns minutos a várias horas.

  • Os buckets de origem e de destino não podem ter o mesmo nome.

  • Na replicação entre regiões, os buckets de origem e de destino devem estar em data centers diferentes. Já na replicação na mesma região, ambos os buckets precisam residir no mesmo data center.

Para obter mais detalhes sobre a replicação de dados, consulte Introduction to cross-region replication e Introduction to same-region replication.

Sintaxe da solicitação

POST /?replication&comp=add HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Authorization: SignatureValue
Host: BucketName.oss-cn-hangzhou.aliyuncs.com

<?xml version="1.0" encoding="UTF-8"?>
<ReplicationConfiguration>
   <Rule>     
        <RTC>
            <Status>enabled or disabled</Status>
        </RTC>
        <PrefixSet>
            <Prefix>prefix_1</Prefix>
            <Prefix>prefix_2</Prefix>
        </PrefixSet>
        <Action>ALL or PUT</Action>
        <Destination>
            <Bucket>destbucket</Bucket>
            <Location>oss-cn-hangzhou</Location>
            <TransferType>oss_acc</TransferType>
        </Destination>
        <HistoricalObjectReplication>enabled or disabled</HistoricalObjectReplication>
        <SyncRole>aliyunramrole</SyncRole>
        <UserTaggings>
            <FilterType>AND or OR</FilterType>
            <UserTagging>
                <Key>key1</Key>
                <Value>value1</Value>
            </UserTagging>
            ...
        </UserTaggings>
   </Rule>
</ReplicationConfiguration>

Elementos da solicitação

Nome

Tipo

Obrigatório

Exemplo

Descrição

ReplicationConfiguration

Container

Sim

N/A

Contêiner que armazena as regras de replicação de dados de um bucket.

Nó pai: Nenhum

Nó filho: Rule

Rule

Container

Sim

N/A

Contêiner de uma regra de replicação de dados.

Nó pai: ReplicationConfiguration

Nós filhos: Destination, HistoricalObjectReplication, ID, UserTaggings, entre outros

ID

String

Não

first

Identificador exclusivo da regra de replicação de dados.

Nó pai: Rule

Nós filhos: Nenhum

PrefixSet

Container

Não

N/A

Contêiner para prefixos. É possível especificar até 10 prefixos em cada regra de replicação de dados.

Nó pai: Rule

Nó filho: Prefix

Prefix

String

Não

source1

Prefixo dos objetos a serem replicados. Somente os objetos correspondentes ao prefixo serão copiados para o bucket de destino.

  • O prefixo pode ter no máximo 1.023 caracteres.

  • Ao configurar um prefixo, tanto os novos dados gravados quanto os dados históricos são replicados com base nesse critério.

Nó pai: PrefixSet

Nós filhos: Nenhum

Action

String

Não

ALL

Operações a serem replicadas no bucket de destino. Caso você defina uma ação, os dados recém-gravados e os históricos seguirão essa configuração.

Especifique um ou mais dos valores válidos abaixo.

Valores válidos:

  • ALL (padrão): Replica as operações PUT, DELETE e ABORT para o bucket de destino.

    Importante

    Além de replicar objetos recém-carregados e atualizados, esta política inclui a replicação de exclusões, garantindo a consistência dos dados. Essa abordagem é ideal para cenários onde múltiplos usuários ou aplicações compartilham e acessam o mesmo conjunto de dados. Objetos removidos do bucket de origem, seja manualmente ou por políticas de ciclo de vida, também serão excluídos do bucket de destino. Após a exclusão, não é possível recuperar esses objetos.

  • PUT: Replica operações de gravação para o bucket de destino, incluindo PutObject, PostObject, AppendObject, CopyObject, PutObjectACL, InitiateMultipartUpload, UploadPart, UploadPartCopy e CompleteMultipartUpload.

    Importante

    Com esta política ativa, apenas objetos carregados ou modificados após a entrada em vigor da regra serão replicados. Exclusões realizadas no bucket de origem não afetam o bucket de destino. Isso evita efetivamente a perda de dados no destino causada por remoções manuais ou automáticas (via ciclo de vida) na origem.

Nó pai: Rule

Nós filhos: Nenhum

Destination

Container

Sim

N/A

Contêiner com as informações do bucket de destino.

Nó pai: Rule

Nós filhos: Bucket e Location

Bucket

String

Sim

destbucket

Bucket de destino da replicação de dados.

Nó pai: Destination

Nós filhos: Nenhum

Location

String

Sim

oss-cn-hangzhou

Região onde o bucket de destino está localizado.

Nó pai: Destination

Nós filhos: Nenhum

TransferType

String

Sim

oss_acc

Link de transmissão utilizado na replicação de dados.

Valores válidos:

  • internal (padrão): Link de transmissão padrão do OSS.

  • oss_acc: Link de aceleração de transferência. Disponível exclusivamente para regras de replicação entre regiões. Ao selecionar esta opção, a aceleração de transferência é ativada automaticamente no bucket de destino, sem necessidade de configuração manual prévia.

Nó pai: Destination

Nós filhos: Nenhum

HistoricalObjectReplication

String

Não

disabled

Define se os dados históricos devem ser replicados. Determina se o conteúdo existente no bucket de origem antes da ativação da replicação será copiado para o destino.

Valores válidos:

  • enabled (padrão): Replica os dados históricos.

  • disabled: Não replica dados históricos. Apenas os dados gravados após a criação da regra de replicação serão copiados.

Nó pai: Rule

Nós filhos: Nenhum

SyncRole

String

Sim

aliyunramrole

Função do RAM autorizada pelo OSS para executar a replicação de dados. A replicação pode ocorrer dentro da mesma conta ou entre contas distintas. Em ambos os casos, conceda as permissões necessárias à função do RAM; caso contrário, a tarefa falhará. Para mais informações, consulte Data replication permissions.

Nó pai: Rule

Nós filhos: Nenhum

SourceSelectionCriteria

Container

Não

N/A

Contêiner para condições adicionais de filtro que identificam os objetos de origem a replicar. Atualmente, o OSS permite definir filtros apenas para objetos criptografados com SSE-KMS.

Nó pai: Rule

Nó filho: SseKmsEncryptedObjects

SseKmsEncryptedObjects

Container

Não

N/A

Contêiner para filtragem de objetos criptografados via SSE-KMS. Este elemento é obrigatório quando SourceSelectionCriteria é especificado na regra de replicação.

Nó pai: SourceSelectionCriteria

Nó filho: Status

Status

String

Não

Enabled

Indica se o OSS deve replicar objetos criados com criptografia SSE-KMS. Valores válidos:

  • Enabled: Replica objetos criados com criptografia SSE-KMS.

  • Disabled (padrão): Não replica objetos criados com criptografia SSE-KMS.

Nó pai: SseKmsEncryptedObjects

Nós filhos: Nenhum

EncryptionConfiguration

Container

Não

N/A

Configuração de criptografia para os objetos de destino. Obrigatório quando Status estiver definido como Enabled.

Nó pai: Rule

Nó filho: ReplicaKmsKeyID

ReplicaKmsKeyID

String

Não

c4d49f85-ee30-426b-a5ed-95e9139d****

ID da chave SSE-KMS. Campo obrigatório se Status for Enabled.

Nó pai: EncryptionConfiguration

Nós filhos: Nenhum

RTC

Container

Não

N/A

Status do recurso de controle de tempo de replicação (RTC).

Nó pai: Rule

Nó filho: Status

Status

String

Não

Enabled

Ativa ou desativa o recurso RTC. Configurável apenas em replicações entre regiões.

Valores válidos:

  • enabled: Ativa o recurso RTC.

  • disabled (padrão): Desativa o recurso RTC.

Nó pai: RTC

Nós filhos: Nenhum

Nota

Para verificar quais regiões suportam o recurso RTC, consulte Regions that support RTC.

UserTaggings

Container

Não

N/A

Contêiner para regras de filtro de tags. Após configurar este elemento, somente objetos com as tags especificadas serão replicados no bucket de destino. Ao definir UserTaggings, é obrigatório especificar FilterType e UserTagging.

Nó pai: Rule

Nós filhos: FilterType e UserTagging

FilterType

String

Não

OR

Política de filtro de tags. Valor sensível a maiúsculas e minúsculas. Opções válidas:

  • AND: O objeto é replicado apenas se todas as suas tags estiverem presentes no conjunto definido na regra de filtro.

  • OR: O objeto é replicado se qualquer uma de suas tags corresponder ao conjunto especificado na regra de filtro.

Nó pai: UserTaggings

Nós filhos: Nenhum

UserTagging

Container

Não

N/A

Contêiner para um único par chave-valor de tag. Limite máximo de 10 tags. Não é permitido duplicar pares chave-valor.

Nó pai: UserTaggings

Nós filhos: Key e Value

Key

String

Não

env

Chave da tag. Comprimento máximo de 128 caracteres, sensível a maiúsculas e minúsculas. Aceita letras, dígitos, espaços e os caracteres especiais: +‑=._:/

Nó pai: UserTagging

Nós filhos: Nenhum

Value

String

Não

test

Valor da tag. Comprimento máximo de 256 caracteres, sensível a maiúsculas e minúsculas. Aceita letras, dígitos, espaços e os caracteres especiais: +‑=._:/

Nó pai: UserTagging

Nós filhos: Nenhum

Esta operação também requer cabeçalhos comuns de solicitação, como Host e Date. Consulte Common request headers para mais detalhes.

Cabeçalhos de resposta

A operação retorna apenas cabeçalhos de resposta comuns. Veja Common response headers para mais informações.

Exemplos

  • Exemplo de solicitação 1 (política de filtro OR)

POST /?replication&comp=add HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com 
Content-Type: application/xml
Content-Length: 186
Date: Thu, 17 Apr 2025 15:39:12 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<ReplicationConfiguration>
  <Rule>  
     <RTC>
        <Status>enabled</Status>
     </RTC>
     <PrefixSet>
        <Prefix>source1</Prefix>
        <Prefix>video</Prefix>
     </PrefixSet>
     <Action>PUT</Action>
     <Destination>
        <Bucket>destbucket</Bucket>
        <Location>oss-cn-beijing</Location>
        <TransferType>oss_acc</TransferType>
     </Destination>
     <HistoricalObjectReplication>enabled</HistoricalObjectReplication>
      <SyncRole>aliyunramrole</SyncRole>
      <SourceSelectionCriteria>
         <SseKmsEncryptedObjects>
           <Status>Enabled</Status>
         </SseKmsEncryptedObjects>
      </SourceSelectionCriteria>
      <EncryptionConfiguration>
           <ReplicaKmsKeyID>c4d49f85-ee30-426b-a5ed-95e9139d****</ReplicaKmsKeyID>
      </EncryptionConfiguration>
      <UserTaggings>
           <FilterType>OR</FilterType>
           <UserTagging>
               <Key>env</Key>
               <Value>test</Value>
           </UserTagging>
           <UserTagging>
               <Key>dept</Key>
               <Value>dev</Value>
           </UserTagging>
      </UserTaggings>
  </Rule>
</ReplicationConfiguration>
  • Exemplo de solicitação 2 (política de filtro AND)

POST /?replication&comp=add HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com 
Content-Type: application/xml
Content-Length: 350
Date: Thu, 17 Apr 2025 16:00:00 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=b8d4e5f6a7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4
<?xml version="1.0" encoding="UTF-8"?>
<ReplicationConfiguration>
  <Rule>  
     <PrefixSet>
        <Prefix>source1</Prefix>
        <Prefix>video</Prefix>
     </PrefixSet>
     <Action>PUT</Action>
     <Destination>
        <Bucket>destbucket</Bucket>
        <Location>oss-cn-beijing</Location>
        <TransferType>oss_acc</TransferType>
     </Destination>
     <HistoricalObjectReplication>disabled</HistoricalObjectReplication>
      <SyncRole>aliyunramrole</SyncRole>
      <UserTaggings>
           <FilterType>AND</FilterType>
           <UserTagging>
               <Key>env</Key>
               <Value>production</Value>
           </UserTagging>
           <UserTagging>
               <Key>dept</Key>
               <Value>finance</Value>
           </UserTagging>
      </UserTaggings>
  </Rule>
</ReplicationConfiguration>
  • Exemplo de resposta

HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906****
Date: Thu, 24 Sep 2025 15:39:12 GMT
Content-Length: 0
Connection: close
Server: AliyunOSS

SDK

Confira abaixo os SDKs disponíveis para esta operação em diversas linguagens:

Ferramenta de linha de comando ossutil

Para consultar o comando ossutil equivalente a esta operação, veja put-bucket-replication.

Códigos de erro

Código de erro

Código de status HTTP

Descrição

InvalidTargetBucket

400 BadRequest

Este erro ocorre pelos seguintes motivos:

  • O nome do bucket de destino é idêntico ao do bucket de origem.

  • O bucket de destino não existe.

  • Os buckets de origem e destino pertencem a usuários diferentes.

InvalidTargetLocation

400 BadRequest

A localização do bucket de destino difere daquela especificada no XML da solicitação.

BucketReplicationAlreadyExist

400 BadRequest

Já existe uma relação de replicação configurada do bucket de origem para o de destino.

Para criar uma nova regra, remova primeiro a regra existente.

BadReplicationLocation

400 BadRequest

O data center de destino informado é inválido.

Utilize a operação GetBucketReplicationLocation para listar os data centers de destino válidos.

NoReplicationLocation

400 BadRequest

Em replicações entre regiões, o data center do bucket de origem não possui um par compatível para esse tipo de replicação.

Consulte Endpoints and data centers para ver a lista de data centers pareados para replicação entre regiões.

TooManyReplicationRules

400 BadRequest

Mais de uma regra de replicação foi detectada na solicitação.

Configure apenas uma regra de replicação de dados por solicitação.

TooManyIncomingReplication

400 BadRequest

O bucket atingiu o limite máximo de 100 regras de replicação. Remova as regras desnecessárias e tente novamente.

Cada bucket suporta até 100 regras de replicação. Se sua demanda superar esse limite, entre em contato com o suporte técnico.

TooManyOutgoingReplication

400 BadRequest

O bucket atingiu o teto de 100 regras de replicação configuradas. Exclua as regras obsoletas antes de prosseguir.

É permitido configurar até 100 regras de replicação por bucket. Caso precise ultrapassar esse limite, abra um chamado com o suporte técnico.

MissingArgument

400 BadRequest

O link de transmissão de dados não foi especificado.

InvalidArgument

400 BadRequest

O link de transmissão de dados informado não é suportado.

ReplicationLocationNotSupportRtc

400 BadRequest

O recurso RTC não pode ser ativado nesta região. Verifique as regiões compatíveis com RTC em RTC regions.

TooManyTaggings

400 BadRequest

A regra de replicação do bucket excede o limite de 10 tags permitidas.

DuplicateReplicationRuleTaggings

400 BadRequest

A regra de replicação configurada contém tags com pares de chave e valor duplicados.

DuplicateReplicationRuleTaggingKeys

400 BadRequest

FilterType está definido como AND na regra de replicação, mas existem chaves de tag duplicadas.