Todos los productos
Search
Centro de documentos

Object Storage Service:PutBucketReplication

Última actualización: Sep 02, 2026

Utilice la operación PutBucketReplication para especificar una regla de replicación de datos en un bucket. OSS admite cross-region replication (CRR) y replicación en la misma región (SRR).

Notas de uso

La replicación de datos copia objetos de forma asíncrona desde un bucket de origen hacia un bucket de destino. Esto incluye operaciones como crear, actualizar y eliminar objetos. Tenga en cuenta lo siguiente al utilizar la replicación de datos:

  • La replicación de datos es asíncrona. El tiempo necesario para replicar los datos al bucket de destino depende del tamaño de los datos y puede variar desde varios minutos hasta varias horas.

  • El bucket de origen y el bucket de destino no pueden tener el mismo nombre.

  • Al utilizar cross-region replication, el bucket de origen y el bucket de destino deben estar en centros de datos diferentes. Cuando se usa la replicación en la misma región, ambos buckets deben encontrarse en el mismo centro de datos.

Para obtener más información sobre la replicación de datos, consulte Introduction to cross-region replication y Introduction to same-region replication.

Sintaxis de la solicitud

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 de la solicitud

Nombre

Tipo

Obligatorio

Ejemplo

Descripción

ReplicationConfiguration

Contenedor

Sí

N/A

Contenedor de las reglas de replicación de datos de un bucket.

Nodo padre: Ninguno

Nodo hijo: Rule

Rule

Contenedor

Sí

N/A

Contenedor de una regla de replicación de datos.

Nodo padre: ReplicationConfiguration

Nodos hijos: Destination, HistoricalObjectReplication, ID, UserTaggings, entre otros

ID

String

No

first

Identificador único de la regla de replicación de datos.

Nodo padre: Rule

Nodos hijos: Ninguno

PrefixSet

Contenedor

No

N/A

Contenedor de prefijos. Puede especificar un máximo de 10 prefijos en cada regla de replicación de datos.

Nodo padre: Rule

Nodo hijo: Prefix

Prefix

String

No

source1

Prefijo de los objetos que se van a replicar. Solo los objetos que coinciden con el prefijo se replican al bucket de destino.

  • El prefijo puede tener una longitud máxima de 1,023 caracteres.

  • Si configura un prefijo, tanto los datos recién escritos como los históricos se replican según dicho prefijo.

Nodo padre: PrefixSet

Nodos hijos: Ninguno

Action

String

No

ALL

Operaciones que se replican al bucket de destino. Si configura una acción, tanto los datos recién escritos como los históricos se replican según la acción especificada.

Puede especificar uno o más de los siguientes valores válidos.

Valores válidos:

  • ALL (predeterminado): Replica las operaciones PUT, DELETE y ABORT al bucket de destino.

    Importante

    Además de la replicación de objetos recién cargados y actualizados, esta política de replicación incluye la eliminación, lo cual garantiza la consistencia de los datos. Esta política es adecuada para escenarios donde varios usuarios o aplicaciones necesitan compartir y acceder al mismo conjunto de datos. Los objetos eliminados del bucket de origen, ya sea manualmente o mediante políticas de ciclo de vida, también se eliminarán del bucket de destino. Los objetos no se pueden recuperar después de su eliminación.

  • PUT: Replica las operaciones de escritura al bucket de destino. Estas operaciones incluyen PutObject, PostObject, AppendObject, CopyObject, PutObjectACL, InitiateMultipartUpload, UploadPart, UploadPartCopy y CompleteMultipartUpload.

    Importante

    Si se aplica esta política de replicación, solo los objetos cargados o actualizados después de que la política entre en vigor se replicarán al bucket de destino; los objetos eliminados del bucket de origen no se eliminarán del bucket de destino. Esta política previene eficazmente la pérdida de datos en el bucket de destino causada por eliminaciones manuales o automáticas desencadenadas por políticas de ciclo de vida en el bucket de origen.

Nodo padre: Rule

Nodos hijos: Ninguno

Destination

Contenedor

Sí

N/A

Contenedor de la información sobre el bucket de destino.

Nodo padre: Rule

Nodos hijos: Bucket y Location

Bucket

String

Sí

destbucket

Bucket de destino para la replicación de datos.

Nodo padre: Destination

Nodos hijos: Ninguno

Location

String

Sí

oss-cn-hangzhou

Región donde se encuentra el bucket de destino.

Nodo padre: Destination

Nodos hijos: Ninguno

TransferType

String

Sí

oss_acc

Enlace de transmisión de datos utilizado para la replicación.

Valores válidos:

  • internal (predeterminado): Enlace de transmisión predeterminado de OSS.

  • oss_acc: Enlace de aceleración de transferencia. Este enlace solo se puede usar al crear una regla de cross-region replication. Una vez configurada esta opción, la aceleración de transferencia se habilita automáticamente en el bucket de destino. No es necesario habilitarla manualmente con antelación.

Nodo padre: Destination

Nodos hijos: Ninguno

HistoricalObjectReplication

String

No

disabled

Indica si se deben replicar los datos históricos. Determina si los datos existentes en el bucket de origen antes de habilitar la replicación se copian al bucket de destino.

Valores válidos:

  • enabled (predeterminado): Replica los datos históricos.

  • disabled: No replica los datos históricos. Solo se replican los datos escritos después de crear la regla de replicación.

Nodo padre: Rule

Nodos hijos: Ninguno

SyncRole

String

Sí

aliyunramrole

Rol de RAM que autoriza a OSS para realizar la replicación de datos. La replicación puede efectuarse dentro de la misma cuenta o entre cuentas distintas. En ambos casos, debe otorgar al rol de RAM los permisos de replicación obligatorios; de lo contrario, la tarea de replicación no podrá completarse. Para obtener más información, consulte Data replication permissions.

Nodo padre: Rule

Nodos hijos: Ninguno

SourceSelectionCriteria

Contenedor

No

N/A

Contenedor de otras condiciones de filtro que identifican los objetos de origen a replicar. Actualmente, OSS solo admite especificar condiciones de filtro para objetos de origen cifrados con SSE-KMS.

Nodo padre: Rule

Nodo hijo: SseKmsEncryptedObjects

SseKmsEncryptedObjects

Contenedor

No

N/A

Contenedor para filtrar objetos cifrados con SSE-KMS. Si especifica SourceSelectionCriteria en la regla de replicación de datos, debe especificar este elemento.

Nodo padre: SourceSelectionCriteria

Nodo hijo: Status

Status

String

No

Enabled

Indica si OSS replica objetos creados con cifrado SSE-KMS. Valores válidos:

  • Enabled: Replica objetos creados con cifrado SSE-KMS.

  • Disabled (predeterminado): No replica objetos creados con cifrado SSE-KMS.

Nodo padre: SseKmsEncryptedObjects

Nodos hijos: Ninguno

EncryptionConfiguration

Contenedor

No

N/A

Configuración de cifrado para los objetos de destino. Si establece Status en Enabled, debe especificar este elemento.

Nodo padre: Rule

Nodo hijo: ReplicaKmsKeyID

ReplicaKmsKeyID

String

No

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

ID de la clave SSE-KMS. Si establece Status en Enabled, debe especificar este elemento.

Nodo padre: EncryptionConfiguration

Nodos hijos: Ninguno

RTC

Contenedor

No

N/A

Estado de la función de control de tiempo de replicación (RTC).

Nodo padre: Rule

Nodo hijo: Status

Status

String

No

Enabled

Habilita o deshabilita la función RTC. Esta función solo se puede configurar para cross-region replication.

Valores válidos:

  • enabled: Habilita la función RTC.

  • disabled (predeterminado): Deshabilita la función RTC.

Nodo padre: RTC

Nodos hijos: Ninguno

Nota

Para obtener más información sobre las regiones compatibles con la función RTC, consulte Regions that support RTC.

UserTaggings

Contenedor

No

N/A

Contenedor de reglas de filtro de etiquetas. Al configurar este elemento, solo los objetos que tienen las etiquetas especificadas se replican al bucket de destino. Cuando configure UserTaggings, debe especificar tanto FilterType como UserTagging.

Nodo padre: Rule

Nodos hijos: FilterType y UserTagging

FilterType

String

No

OR

Política de filtro de etiquetas. Este valor distingue entre mayúsculas y minúsculas. Valores válidos:

  • AND: Un objeto se replica solo si todas sus etiquetas están incluidas en el conjunto de etiquetas especificado en la regla de filtro.

  • OR: Un objeto se replica si alguna de sus etiquetas está incluida en el conjunto de etiquetas especificado en la regla de filtro.

Nodo padre: UserTaggings

Nodos hijos: Ninguno

UserTagging

Contenedor

No

N/A

Contenedor de un par clave-valor de etiqueta individual. Puede especificar un máximo de 10 etiquetas. Los pares clave-valor que especifique no pueden estar duplicados.

Nodo padre: UserTaggings

Nodos hijos: Key y Value

Key

String

No

env

Clave de la etiqueta. La clave puede tener una longitud máxima de 128 caracteres. Este valor distingue entre mayúsculas y minúsculas. La clave puede contener letras, dígitos, espacios y los siguientes caracteres especiales: +‑=._:/

Nodo padre: UserTagging

Nodos hijos: Ninguno

Value

String

No

test

Valor de la etiqueta. El valor puede tener una longitud máxima de 256 caracteres. Este valor distingue entre mayúsculas y minúsculas. El valor puede contener letras, dígitos, espacios y los siguientes caracteres especiales: +‑=._:/

Nodo padre: UserTagging

Nodos hijos: Ninguno

Esta operación también requiere encabezados de solicitud comunes como Host y Date. Para obtener más información, consulte Common request headers.

Encabezados de respuesta

Esta operación solo devuelve encabezados de respuesta comunes. Para obtener más información, consulte Common response headers.

Ejemplos

  • Ejemplo de solicitud 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>
  • Ejemplo de solicitud 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>
  • Ejemplo de respuesta

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

Los SDK correspondientes a esta operación en diferentes lenguajes son los siguientes:

Herramienta de línea de comandos ossutil

Para consultar el comando de ossutil correspondiente a esta operación, consulte put-bucket-replication.

Códigos de error

Código de error

Código de estado HTTP

Descripción

InvalidTargetBucket

400 BadRequest

Este error puede ocurrir por las siguientes razones:

  • El nombre del bucket de destino es igual al nombre del bucket de origen.

  • El bucket de destino no existe.

  • El bucket de destino y el bucket de origen no pertenecen al mismo usuario.

InvalidTargetLocation

400 BadRequest

La ubicación del bucket de destino difiere de la ubicación especificada en el XML de la solicitud.

BucketReplicationAlreadyExist

400 BadRequest

Ya existe una relación de replicación desde el bucket de origen hacia el bucket de destino.

Para configurar una nueva regla de replicación de datos, elimine primero la regla existente.

BadReplicationLocation

400 BadRequest

El centro de datos de destino especificado no es válido.

Puede llamar a la operación GetBucketReplicationLocation para obtener los centros de datos de destino válidos.

NoReplicationLocation

400 BadRequest

Al utilizar cross-region replication, el centro de datos del bucket de origen no tiene un centro de datos emparejado disponible para este tipo de replicación.

Para obtener más información sobre los centros de datos emparejados para cross-region replication, consulte Endpoints and data centers.

TooManyReplicationRules

400 BadRequest

Se ha configurado más de una regla de replicación de datos en la solicitud.

Solo se puede configurar una regla de replicación de datos por solicitud.

TooManyIncomingReplication

400 BadRequest

El número de reglas de replicación de datos configuradas para el bucket ha alcanzado el límite de 100. Elimine las reglas que ya no utilice e inténtelo de nuevo.

Se pueden configurar hasta 100 reglas de replicación de datos por bucket. Si sus requisitos empresariales superan este límite, póngase en contacto con technical support.

TooManyOutgoingReplication

400 BadRequest

El número de reglas de replicación de datos configuradas para el bucket ha alcanzado el límite de 100. Elimine las reglas que ya no utilice e inténtelo de nuevo.

Se pueden configurar hasta 100 reglas de replicación de datos por bucket. Si sus requisitos empresariales superan este límite, póngase en contacto con technical support.

MissingArgument

400 BadRequest

No se especificó el enlace de transmisión de datos.

InvalidArgument

400 BadRequest

El enlace de transmisión de datos especificado no es compatible.

ReplicationLocationNotSupportRtc

400 BadRequest

La función RTC no se puede habilitar en esta región. Para obtener más información sobre las regiones compatibles con la función RTC, consulte RTC regions.

TooManyTaggings

400 BadRequest

El número de etiquetas en la regla de replicación de datos configurada para el bucket no puede exceder 10.

DuplicateReplicationRuleTaggings

400 BadRequest

La regla de replicación de datos configurada para el bucket contiene etiquetas cuyas claves y valores están duplicados.

DuplicateReplicationRuleTaggingKeys

400 BadRequest

FilterType está establecido en AND en la regla de replicación de datos configurada para el bucket y existen claves de etiqueta duplicadas.