Tous les produits
Search
Centre de documentation

Object Storage Service:PutBucketReplication

Dernière mise à jour :Sep 23, 2026

Utilisez l'opération PutBucketReplication pour spécifier une règle de réplication de données pour un bucket. OSS prend en charge la réplication inter-régions (CRR) et la réplication intra-région (SRR).

Notes d'utilisation

La réplication de données copie de manière asynchrone les objets d'un bucket source vers un bucket de destination. Cela inclut des opérations telles que la création, la mise à jour et la suppression d'objets. Tenez compte des points suivants lorsque vous utilisez la réplication de données :

  • La réplication de données est asynchrone. Le temps nécessaire pour répliquer les données vers le bucket de destination dépend de la taille des données et peut varier de quelques minutes à plusieurs heures.

  • Le bucket source et le bucket de destination ne peuvent pas avoir le même nom.

  • Lorsque vous utilisez la réplication inter-régions, le bucket source et le bucket de destination doivent se trouver dans des centres de données différents. Lorsque vous utilisez la réplication intra-région, le bucket source et le bucket de destination doivent se trouver dans le même centre de données.

Pour plus d'informations sur la réplication de données, consultez Présentation de la réplication inter-régions et Présentation de la réplication intra-région.

Syntaxe de la requête

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>

Éléments de la requête

Nom

Type

Obligatoire

Exemple

Description

ReplicationConfiguration

Conteneur

Oui

N/A

Conteneur pour les règles de réplication de données d'un bucket.

Nœud parent : Aucun

Nœud enfant : Rule

Rule

Conteneur

Oui

N/A

Conteneur pour une règle de réplication de données.

Nœud parent : ReplicationConfiguration

Nœuds enfants : Destination, HistoricalObjectReplication, ID, UserTaggings, etc.

ID

Chaîne

Non

first

Identifiant unique de la règle de réplication de données.

Nœud parent : Rule

Nœuds enfants : Aucun

PrefixSet

Conteneur

Non

N/A

Conteneur pour les préfixes. Vous pouvez spécifier un maximum de 10 préfixes par règle de réplication de données.

Nœud parent : Rule

Nœud enfant : Prefix

Prefix

Chaîne

Non

source1

Préfixe des objets à répliquer. Seuls les objets correspondant au préfixe sont répliqués vers le bucket de destination.

  • Le préfixe peut contenir jusqu'à 1 023 caractères.

  • Si vous configurez un préfixe, les nouvelles données écrites ainsi que les données historiques sont répliquées en fonction de ce préfixe.

Nœud parent : PrefixSet

Nœuds enfants : Aucun

Action

Chaîne

Non

ALL

Opérations à répliquer vers le bucket de destination. Si vous configurez une action, les nouvelles données écrites ainsi que les données historiques sont répliquées en fonction de l'action spécifiée.

Spécifiez une ou plusieurs des valeurs valides suivantes.

Valeurs valides :

  • ALL (par défaut) : Réplique les opérations PUT, DELETE et ABORT vers le bucket de destination.

    Important

    Outre la réplication des objets nouvellement téléchargés et mis à jour, cette politique de réplication inclut la réplication des suppressions, ce qui garantit la cohérence des données. Cette politique s'applique aux scénarios dans lesquels plusieurs utilisateurs ou applications doivent partager et accéder au même ensemble de données. Les objets supprimés du bucket source, manuellement ou via des politiques de cycle de vie, seront également supprimés du bucket de destination. Les objets ne peuvent pas être récupérés après leur suppression.

  • PUT : Réplique les opérations d'écriture vers le bucket de destination. Ces opérations incluent PutObject, PostObject, AppendObject, CopyObject, PutObjectACL, InitiateMultipartUpload, UploadPart, UploadPartCopy et CompleteMultipartUpload.

    Important

    Si cette politique de réplication est appliquée, seuls les objets téléchargés ou mis à jour après l'entrée en vigueur de la politique seront répliqués vers le bucket de destination, et les objets supprimés du bucket source ne seront pas supprimés du bucket de destination. Cette politique empêche efficacement la perte de données dans le bucket de destination résultant d'une suppression manuelle ou automatisée déclenchée par des politiques de cycle de vie dans le bucket source.

Nœud parent : Rule

Nœuds enfants : Aucun

Destination

Conteneur

Oui

N/A

Conteneur pour les informations relatives au bucket de destination.

Nœud parent : Rule

Nœuds enfants : Bucket et Location

Bucket

Chaîne

Oui

destbucket

Bucket de destination pour la réplication de données.

Nœud parent : Destination

Nœuds enfants : Aucun

Location

Chaîne

Oui

oss-cn-hangzhou

Région où se trouve le bucket de destination.

Nœud parent : Destination

Nœuds enfants : Aucun

TransferType

Chaîne

Oui

oss_acc

Lien de transmission de données utilisé pour la réplication de données.

Valeurs valides :

  • internal (par défaut) : Lien de transmission OSS par défaut.

  • oss_acc : Lien d'accélération de transfert. Vous pouvez utiliser le lien d'accélération de transfert uniquement lors de la création d'une règle de réplication inter-régions. Une fois cette option configurée, l'accélération de transfert est automatiquement activée sur le bucket de destination. Vous n'avez pas besoin de l'activer manuellement au préalable.

Nœud parent : Destination

Nœuds enfants : Aucun

HistoricalObjectReplication

Chaîne

Non

disabled

Indique si les données historiques doivent être répliquées. Cela détermine si les données présentes dans le bucket source avant l'activation de la réplication de données sont répliquées vers le bucket de destination.

Valeurs valides :

  • enabled (par défaut) : Réplique les données historiques.

  • disabled : Ne réplique pas les données historiques. Seules les données écrites après la création de la règle de réplication de données sont répliquées.

Nœud parent : Rule

Nœuds enfants : Aucun

SyncRole

Chaîne

Oui

aliyunramrole

Rôle RAM que vous autorisez OSS à utiliser pour la réplication de données. La réplication de données peut être effectuée au sein du même compte ou entre différents comptes. Pour les deux scénarios, vous devez accorder au rôle RAM les autorisations de réplication requises. Sinon, la tâche de réplication ne peut pas être achevée. Pour plus d'informations, consultez Autorisations de réplication de données.

Nœud parent : Rule

Nœuds enfants : Aucun

SourceSelectionCriteria

Conteneur

Non

N/A

Conteneur pour d'autres conditions de filtre identifiant les objets source à répliquer. OSS prend actuellement en charge la spécification de conditions de filtre uniquement pour les objets source chiffrés avec SSE-KMS.

Nœud parent : Rule

Nœud enfant : SseKmsEncryptedObjects

SseKmsEncryptedObjects

Conteneur

Non

N/A

Conteneur pour le filtrage des objets chiffrés avec SSE-KMS. Si vous spécifiez SourceSelectionCriteria dans la règle de réplication de données, vous devez spécifier cet élément.

Nœud parent : SourceSelectionCriteria

Nœud enfant : Status

Status

Chaîne

Non

Enabled

Indique si OSS réplique les objets créés avec le chiffrement SSE-KMS. Valeurs valides :

  • Enabled : Réplique les objets créés avec le chiffrement SSE-KMS.

  • Disabled (par défaut) : Ne réplique pas les objets créés avec le chiffrement SSE-KMS.

Nœud parent : SseKmsEncryptedObjects

Nœuds enfants : Aucun

EncryptionConfiguration

Conteneur

Non

N/A

Configuration de chiffrement pour les objets de destination. Si vous définissez Status sur Enabled, vous devez spécifier cet élément.

Nœud parent : Rule

Nœud enfant : ReplicaKmsKeyID

ReplicaKmsKeyID

Chaîne

Non

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

ID de la clé SSE-KMS. Si vous définissez Status sur Enabled, vous devez spécifier cet élément.

Nœud parent : EncryptionConfiguration

Nœuds enfants : Aucun

RTC

Conteneur

Non

N/A

Statut de la fonctionnalité RTC (Replication Time Control).

Nœud parent : Rule

Nœud enfant : Status

Status

Chaîne

Non

Enabled

Active ou désactive la fonctionnalité RTC. Vous pouvez configurer la fonctionnalité RTC uniquement pour la réplication inter-régions.

Valeurs valides :

  • enabled : Active la fonctionnalité RTC.

  • disabled (par défaut) : Désactive la fonctionnalité RTC.

Nœud parent : RTC

Nœuds enfants : Aucun

Remarque

Pour plus d'informations sur les régions qui prennent en charge la fonctionnalité RTC, consultez Régions prenant en charge RTC.

UserTaggings

Conteneur

Non

N/A

Conteneur pour les règles de filtre de tags. Après avoir configuré cet élément, seuls les objets possédant les tags spécifiés sont répliqués vers le bucket de destination. Lorsque vous configurez UserTaggings, vous devez spécifier à la fois FilterType et UserTagging.

Nœud parent : Rule

Nœuds enfants : FilterType et UserTagging

FilterType

Chaîne

Non

OR

Politique de filtre de tags. Cette valeur est sensible à la casse. Valeurs valides :

  • AND : Un objet est répliqué uniquement si chaque tag de l'objet est inclus dans l'ensemble de tags spécifié dans la règle de filtre de tags.

  • OR : Un objet est répliqué si n'importe quel tag de l'objet est inclus dans l'ensemble de tags spécifié dans la règle de filtre de tags.

Nœud parent : UserTaggings

Nœuds enfants : Aucun

UserTagging

Conteneur

Non

N/A

Conteneur pour une paire clé-valeur de tag unique. Vous pouvez spécifier un maximum de 10 tags. Les paires clé-valeur de tags que vous spécifiez ne peuvent pas être dupliquées.

Nœud parent : UserTaggings

Nœuds enfants : Key et Value

Key

Chaîne

Non

env

Clé du tag. La clé du tag peut contenir jusqu'à 128 caractères. Cette valeur est sensible à la casse. La clé du tag peut contenir des lettres, des chiffres, des espaces et les caractères spéciaux suivants : +‑=._:/

Nœud parent : UserTagging

Nœuds enfants : Aucun

Value

Chaîne

Non

test

Valeur du tag. La valeur du tag peut contenir jusqu'à 256 caractères. Cette valeur est sensible à la casse. La valeur du tag peut contenir des lettres, des chiffres, des espaces et les caractères spéciaux suivants : +‑=._:/

Nœud parent : UserTagging

Nœuds enfants : Aucun

Cette opération nécessite également des en-têtes de requête courants tels que Host et Date. Pour plus d'informations, consultez En-têtes de requête courants.

En-têtes de réponse

Cette opération renvoie uniquement des en-têtes de réponse courants. Pour plus d'informations, consultez En-têtes de réponse courants.

Exemples

  • Exemple de requête 1 (politique de filtre 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>
  • Exemple de requête 2 (politique de filtre 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>
  • Exemple de réponse

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

Les SDK pour cette opération dans différents langages sont les suivants :

Outil de ligne de commande ossutil

Pour la commande ossutil correspondant à cette opération, consultez put-bucket-replication.

Codes d'erreur

Code d'erreur

Code d'état HTTP

Description

InvalidTargetBucket

400 BadRequest

Cette erreur peut se produire pour les raisons suivantes :

  • Le nom du bucket de destination est identique à celui du bucket source.

  • Le bucket de destination n'existe pas.

  • Le bucket de destination et le bucket source n'appartiennent pas au même utilisateur.

InvalidTargetLocation

400 BadRequest

L'emplacement du bucket de destination diffère de celui spécifié dans le XML de la requête.

BucketReplicationAlreadyExist

400 BadRequest

Une relation de réplication existe déjà du bucket source vers le bucket de destination.

Pour configurer une nouvelle règle de réplication de données, supprimez d'abord la règle existante.

BadReplicationLocation

400 BadRequest

Le centre de données de destination spécifié n'est pas valide.

Vous pouvez appeler l'opération GetBucketReplicationLocation pour obtenir les centres de données de destination valides.

NoReplicationLocation

400 BadRequest

Lorsque vous utilisez la réplication inter-régions, le centre de données du bucket source ne dispose pas d'un centre de données apparié pour la réplication inter-régions.

Pour plus d'informations sur les centres de données appariés pour la réplication inter-régions, consultez Points de terminaison et centres de données.

TooManyReplicationRules

400 BadRequest

Plus d'une règle de réplication de données est configurée dans la requête.

Vous ne pouvez configurer qu'une seule règle de réplication de données par requête.

TooManyIncomingReplication

400 BadRequest

Le nombre de règles de réplication de données configurées pour le bucket a atteint la limite de 100. Supprimez les règles de réplication de données inutilisées et réessayez.

Vous pouvez configurer jusqu'à 100 règles de réplication de données pour un bucket. Si vos besoins métier dépassent cette limite, veuillez contacter le support technique.

TooManyOutgoingReplication

400 BadRequest

Le nombre de règles de réplication de données configurées pour le bucket a atteint la limite de 100. Supprimez les règles de réplication de données inutilisées et réessayez.

Vous pouvez configurer jusqu'à 100 règles de réplication de données pour un bucket. Si vos besoins métier dépassent cette limite, veuillez contacter le support technique.

MissingArgument

400 BadRequest

Le lien de transmission de données n'est pas spécifié.

InvalidArgument

400 BadRequest

Le lien de transmission de données spécifié n'est pas pris en charge.

ReplicationLocationNotSupportRtc

400 BadRequest

La fonctionnalité RTC ne peut pas être activée dans cette région. Pour plus d'informations sur les régions qui prennent en charge la fonctionnalité RTC, consultez Régions RTC.

TooManyTaggings

400 BadRequest

Le nombre de tags dans la règle de réplication de données configurée pour le bucket ne peut pas dépasser 10.

DuplicateReplicationRuleTaggings

400 BadRequest

La règle de réplication de données configurée pour le bucket contient des tags dont les clés et les valeurs sont dupliquées.

DuplicateReplicationRuleTaggingKeys

400 BadRequest

FilterType est défini sur AND dans la règle de réplication de données configurée pour le bucket, et des clés de tag dupliquées existent.