Todos os produtos
Search
Central de documentação

Object Storage Service:PutBucketReplication

Última atualização: Sep 23, 2026

Use a operação PutBucketReplication para especificar uma regra de replicação de dados para um bucket. O OSS suporta a replicação entre regiões (CRR) e a replicação na mesma região (SRR).

Notas de uso

A replicação de dados copia objetos assincronamente de um bucket de origem para um bucket de destino. Isso inclui operações como criação, atualização e exclusão de objetos. Ao usar a replicação de dados, observe o seguinte:

  • A replicação de dados é assíncrona. O tempo necessário para replicar os dados para o bucket de destino depende do tamanho dos dados e pode variar 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. Na replicação na mesma região, eles devem estar no mesmo data center.

Para mais informações sobre 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

Contêiner

Sim

N/A

O contêiner para as regras de replicação de dados de um bucket.

Nó pai: Nenhum

Nó filho: Rule

Rule

Contêiner

Sim

N/A

O contêiner para uma regra de replicação de dados.

Nó pai: ReplicationConfiguration

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

ID

String

Não

first

O ID exclusivo da regra de replicação de dados.

Nó pai: Rule

Nós filhos: Nenhum

PrefixSet

Contêiner

Não

N/A

O contêiner para prefixos. Especifique no máximo 10 prefixos em cada regra de replicação de dados.

Nó pai: Rule

Nó filho: Prefix

Prefix

String

Não

source1

O prefixo dos objetos a serem replicados. Apenas os objetos correspondentes ao prefixo são replicados para o bucket de destino.

  • O prefixo pode ter até 1.023 caracteres.

  • Se configurar um prefixo, tanto os dados recém-gravados quanto os históricos serão replicados com base nele.

Nó pai: PrefixSet

Nós filhos: Nenhum

Action

String

Não

ALL

As operações replicadas para o bucket de destino. Se configurar uma ação, tanto os dados recém-gravados quanto os históricos serão replicados com base na ação especificada.

Especifique um ou mais dos seguintes valores válidos.

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. Aplica-se a cenários em que vários usuários ou aplicativos precisam compartilhar e acessar o mesmo conjunto de dados. Objetos excluídos do bucket de origem, seja manualmente ou por políticas de ciclo de vida, também serão excluídos do bucket de destino e não poderão ser recuperados.

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

    Importante

    Se esta política for aplicada, apenas os objetos carregados ou atualizados após a sua entrada em vigor serão replicados para o bucket de destino. Objetos excluídos do bucket de origem não serão excluídos do bucket de destino. Isso evita efetivamente a perda de dados no bucket de destino resultante de exclusões manuais ou automatizadas por políticas de ciclo de vida no bucket de origem.

Nó pai: Rule

Nós filhos: Nenhum

Destination

Contêiner

Sim

N/A

O contêiner para informações sobre o bucket de destino.

Nó pai: Rule

Nós filhos: Bucket e Location

Bucket

String

Sim

destbucket

O bucket de destino para a replicação de dados.

Nó pai: Destination

Nós filhos: Nenhum

Location

String

Sim

oss-cn-hangzhou

A região do bucket de destino.

Nó pai: Destination

Nós filhos: Nenhum

TransferType

String

Sim

oss_acc

O link de transmissão de dados usado para a replicação.

Valores válidos:

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

  • oss_acc: o link de aceleração de transferência. Use este link apenas ao criar uma regra de replicação entre regiões. Após configurar esta opção, a aceleração de transferência é ativada automaticamente no bucket de destino, sem necessidade de ativação manual prévia.

Nó pai: Destination

Nós filhos: Nenhum

HistoricalObjectReplication

String

Não

disabled

Especifica se os dados históricos devem ser replicados. Determina se os dados existentes no bucket de origem antes da ativação da replicação serão replicados para o bucket de destino.

Valores válidos:

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

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

Nó pai: Rule

Nós filhos: Nenhum

SyncRole

String

Sim

aliyunramrole

A função do RAM autorizada para o OSS usar na replicação de dados. A replicação pode ocorrer na mesma conta ou em contas diferentes. Em ambos os cenários, conceda as permissões de replicação necessárias à função do RAM. Caso contrário, a tarefa não será concluída. Para mais informações, consulte Data replication permissions.

Nó pai: Rule

Nós filhos: Nenhum

SourceSelectionCriteria

Contêiner

Não

N/A

O contêiner para outras condições de filtro que identificam os objetos de origem a serem replicados. Atualmente, o OSS suporta a especificação de condições de filtro apenas para objetos de origem criptografados com SSE-KMS.

Nó pai: Rule

Nó filho: SseKmsEncryptedObjects

SseKmsEncryptedObjects

Contêiner

Não

N/A

O contêiner para filtrar objetos criptografados com SSE-KMS. Se especificar SourceSelectionCriteria na regra de replicação, especifique este elemento.

Nó pai: SourceSelectionCriteria

Nó filho: Status

Status

String

Não

Enabled

Especifica se o OSS replica 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

Contêiner

Não

N/A

A configuração de criptografia para os objetos de destino. Se definir Status como Enabled, especifique este elemento.

Nó pai: Rule

Nó filho: ReplicaKmsKeyID

ReplicaKmsKeyID

String

Não

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

O ID da chave SSE-KMS. Se definir Status como Enabled, especifique este elemento.

Nó pai: EncryptionConfiguration

Nós filhos: Nenhum

RTC

Contêiner

Não

N/A

O 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. Configure o recurso RTC apenas para replicação 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 mais informações sobre as regiões que suportam o recurso RTC, consulte Regions that support RTC.

UserTaggings

Contêiner

Não

N/A

O contêiner para regras de filtro de tags. Após configurar este elemento, apenas os objetos com as tags especificadas são replicados para o bucket de destino. Ao configurar UserTaggings, especifique FilterType e UserTagging.

Nó pai: Rule

Nós filhos: FilterType e UserTagging

FilterType

String

Não

OR

A política de filtro de tags. Este valor diferencia maiúsculas de minúsculas. Valores válidos:

  • AND: um objeto é replicado apenas se todas as suas tags estiverem incluídas no conjunto de tags especificado na regra de filtro.

  • OR: um objeto é replicado se qualquer uma de suas tags estiver incluída no conjunto de tags especificado na regra de filtro.

Nó pai: UserTaggings

Nós filhos: Nenhum

UserTagging

Contêiner

Não

N/A

O contêiner para um único par chave-valor de tag. Especifique no máximo 10 tags. Os pares chave-valor especificados não podem ser duplicados.

Nó pai: UserTaggings

Nós filhos: Key e Value

Key

String

Não

env

A chave da tag, que pode ter até 128 caracteres. Este valor diferencia maiúsculas de minúsculas. A chave pode conter letras, dígitos, espaços e os seguintes caracteres especiais: +‑=._:/

Nó pai: UserTagging

Nós filhos: Nenhum

Value

String

Não

test

O valor da tag, que pode ter até 256 caracteres. Este valor diferencia maiúsculas de minúsculas. O valor pode conter letras, dígitos, espaços e os seguintes caracteres especiais: +‑=._:/

Nó pai: UserTagging

Nós filhos: Nenhum

Esta operação também requer cabeçalhos de solicitação comuns, como Host e Date. Para mais informações, consulte Common request headers.

Cabeçalhos de resposta

Esta operação retorna apenas cabeçalhos de resposta comuns. Para mais informações, consulte Common response headers.

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

Os SDKs para esta operação em diferentes linguagens são os seguintes:

Ferramenta de linha de comando ossutil

Para o comando do ossutil correspondente a esta operação, consulte put-bucket-replication.

Códigos de erro

Código de erro

Código de status HTTP

Descrição

InvalidTargetBucket

400 BadRequest

Este erro pode ocorrer pelos seguintes motivos:

  • O nome do bucket de destino é igual ao do bucket de origem.

  • O bucket de destino não existe.

  • Os buckets de destino e de origem não pertencem ao mesmo usuário.

InvalidTargetLocation

400 BadRequest

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

BucketReplicationAlreadyExist

400 BadRequest

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

Para configurar uma nova regra de replicação, exclua primeiro a regra existente.

BadReplicationLocation

400 BadRequest

O data center de destino especificado é inválido.

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

NoReplicationLocation

400 BadRequest

Na replicação entre regiões, o data center do bucket de origem não possui um data center pareado.

Para mais informações sobre data centers pareados para replicação entre regiões, consulte Endpoints and data centers.

TooManyReplicationRules

400 BadRequest

Mais de uma regra de replicação de dados está configurada na solicitação.

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

TooManyIncomingReplication

400 BadRequest

O número de regras de replicação configuradas para o bucket atingiu o limite de 100. Exclua as regras não utilizadas e tente novamente.

É possível configurar até 100 regras de replicação para um bucket. Se os requisitos do seu negócio excederem esse limite, entre em contato com o suporte técnico.

TooManyOutgoingReplication

400 BadRequest

O número de regras de replicação configuradas para o bucket atingiu o limite de 100. Exclua as regras não utilizadas e tente novamente.

É possível configurar até 100 regras de replicação para um bucket. Se os requisitos do seu negócio excederem esse limite, entre em contato 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 especificado não é suportado.

ReplicationLocationNotSupportRtc

400 BadRequest

O recurso RTC não pode ser ativado nesta região. Para mais informações sobre as regiões que suportam o recurso RTC, consulte RTC regions.

TooManyTaggings

400 BadRequest

O número de tags na regra de replicação configurada para o bucket não pode exceder 10.

DuplicateReplicationRuleTaggings

400 BadRequest

A regra de replicação configurada para o bucket contém tags com chaves e valores duplicados.

DuplicateReplicationRuleTaggingKeys

400 BadRequest

O FilterType está definido como AND na regra de replicação configurada para o bucket, e existem chaves de tag duplicadas.