Tous les produits
Search
Centre de documentation

Object Storage Service:replication

Dernière mise à jour :Aug 18, 2026

Vous pouvez gérer les règles de réplication des données en exécutant la commande replication. Les règles de réplication des données se divisent en règles de réplication cross-region (CRR) et de réplication same-region (SRR). Une fois une règle de réplication des données configurée, Object Storage Service (OSS) réplique les objets du bucket source vers le bucket de destination situé dans la même région ou dans une région différente, conformément à la règle définie.

Notes

  • Pour créer une règle de réplication des données ou activer Replication Time Control (RTC) pour un bucket, vous devez disposer de l'autorisation oss:PutBucketReplication. Pour interroger les règles de réplication des données d'un bucket, vous devez disposer de l'autorisation oss:GetBucketReplication. Pour supprimer les règles de réplication des données d'un bucket, vous devez disposer de l'autorisation oss:DeleteBucketReplication. Pour consulter la progression de la réplication des données d'une tâche effectuée sur un bucket, vous devez disposer de l'autorisation oss:GetBucketReplicationProgress. Pour obtenir la liste des régions vers lesquelles les données peuvent être répliquées, vous devez disposer de l'autorisation oss:GetBucketReplicationLocation. Pour plus d'informations, consultez la rubrique Accorder une stratégie personnalisée.

  • À partir de la version 1.6.16 d'ossutil, vous pouvez utiliser directement ossutil comme nom binaire dans la ligne de commande. Il n'est pas nécessaire d'adapter le nom binaire en fonction du système d'exploitation. Pour les versions antérieures à 1.6.16, vous devez adapter le nom binaire selon le système d'exploitation. Pour plus d'informations, consultez la rubrique Démarrage rapide de l'outil de ligne de commande ossutil.

Ajouter une règle de réplication des données

Les règles de réplication des données vous permettent de répliquer les données d'un bucket source vers un ou plusieurs buckets de destination. Vous pouvez configurer jusqu'à 100 règles de réplication des données pour un bucket. Pour plus d'informations sur la réplication des données, consultez la rubrique CRR.

Pour ajouter une règle de réplication des données, commencez par créer un fichier local et y spécifier la règle souhaitée. Ajoutez ensuite cette règle au bucket source.

  • Syntaxe de la commande

    ossutil replication --method put oss://bucketname local_xml_file

    Le tableau suivant décrit les paramètres de la commande précédente.

    Paramètre

    Description

    bucketname

    Nom du bucket pour lequel vous souhaitez créer des règles de réplication des données.

    local_xml_file

    Nom du fichier local contenant les règles de réplication des données. Exemple : localfile.xml.

    Pour plus d'informations, consultez la rubrique PutBucketReplication.

  • Exemples

    1. Créez un fichier nommé localfile.xml sur votre ordinateur local et configurez-y une règle de réplication des données selon vos besoins métier.

      Le code suivant illustre la configuration d'une règle de réplication des données. Cette règle permet de répliquer les opérations de création et de modification effectuées sur les objets dont le nom contient le préfixe srcdir dans le bucket source, vers un bucket de destination nommé destbucket situé dans la région Chine (Hangzhou). La règle active également l'accélération de transfert et prévoit la réplication des données historiques vers le bucket de destination.

       <?xml version="1.0" encoding="UTF-8"?>
       <ReplicationConfiguration>
          <Rule>
               <PrefixSet>
                   <Prefix>srcdir</Prefix>             
               </PrefixSet>
               <Action>PUT</Action>
               <Destination>
                   <Bucket>destbucket</Bucket>
                   <Location>oss-cn-hangzhou</Location>
                   <TransferType>oss_acc</TransferType>
               </Destination>
               <HistoricalObjectReplication>enabled</HistoricalObjectReplication>
          </Rule>
       </ReplicationConfiguration>
    2. Ajoutez la règle de réplication des données à un bucket source nommé srcbucket :

      ossutil replication --method put oss://srcbucket localfile.xml
  • Sortie exemple

    La sortie suivante indique que la règle de réplication des données a été créée pour le bucket srcbucket :

    0.856895(s) elapsed

Activer ou désactiver RTC

Remarque

Vous pouvez activer Replication Time Control (RTC) lors de la configuration d'une tâche CRR. Il est également possible d'activer RTC pour des tâches CRR existantes. L'activation de RTC pour les tâches CRR permet de répliquer tous les objets d'un bucket, ou uniquement les objets portant des tags spécifiques ou dont le nom contient certains préfixes.

  • Syntaxe de la commande

    ossutil replication --method put --item rtc oss://bucketname local_xml_file

    Le tableau suivant décrit les paramètres de la commande précédente.

    Paramètre

    Description

    bucketname

    Nom du bucket source pour lequel vous souhaitez activer ou désactiver RTC.

    local_xml_file

    Nom du fichier local contenant les configurations RTC. Exemple : localfile.xml.

    Pour plus d'informations, consultez la rubrique PutBucketReplication.

  • Exemples

    1. Configurez le fichier local.

      • Activer RTC

        <?xml version="1.0" encoding="UTF-8"?>
        <ReplicationRule>
            <RTC>
                <Status>enabled</Status>
            </RTC>
            <ID>test-replication-id</ID>
        </ReplicationRule>
      • Désactiver RTC

        <?xml version="1.0" encoding="UTF-8"?>
        <ReplicationRule>
            <RTC>
                <Status>disabled</Status>
            </RTC>
            <ID>test-replication-id</ID>
        </ReplicationRule>
    2. Activez ou désactivez RTC pour un bucket source nommé srcbucket :

      ossutil replication --method put --item rtc oss://srcbucket local.xml
  • Sortie exemple

    0.856895(s) elapsed

Interroger les règles de réplication des données d'un bucket

  • Syntaxe de la commande

    ossutil replication --method get oss://bucketname
  • Exemples

    Exécutez la commande suivante pour interroger et afficher les règles de réplication des données du bucket srcbucket :

    ossutil replication --method get oss://srcbucket

    La sortie exemple suivante indique que les règles de réplication des données du bucket srcbucket ont été interrogées :

    <?xml version="1.0" encoding="UTF-8"?>
    <ReplicationConfiguration>
      <Rule>
        <ID>37417af4-f2dc-4b24-92d3-82092af6****</ID>
        <Action>ALL</Action>
        <Destination>
          <Bucket>destbucket</Bucket>
          <Location>oss-cn-beijing</Location>
        </Destination>
        <Status>doing</Status>
        <HistoricalObjectReplication>enabled</HistoricalObjectReplication>
      </Rule>
    </ReplicationConfiguration>
    
    0.069195(s) elapsed

Interroger les régions vers lesquelles les données peuvent être répliquées

  • Syntaxe de la commande

    ossutil replication --method get --item location oss://bucketname
  • Exemples

    Exécutez la commande suivante pour obtenir la liste des régions des buckets vers lesquels les données du bucket srcbucket peuvent être répliquées :

    ossutil replication --method get --item location oss://srcbucket

    La sortie exemple suivante indique que les régions des buckets vers lesquels les données peuvent être répliquées ont été interrogées :

    <?xml version="1.0" ?>
    <ReplicationLocation>
      <Location>oss-cn-beijing</Location>
      <Location>oss-cn-qingdao</Location>
      <Location>oss-cn-shenzhen</Location>
      <Location>oss-cn-hongkong</Location>
      <Location>oss-us-west-1</Location>
      <LocationTransferTypeConstraint>
        <LocationTransferType>
          <Location>oss-cn-hongkong</Location>
            <TransferTypes>
              <Type>oss_acc</Type>          
            </TransferTypes>
          </LocationTransferType>
          <LocationTransferType>
            <Location>oss-us-west-1</Location>
            <TransferTypes>
              <Type>oss_acc</Type>
            </TransferTypes>
          </LocationTransferType>
        </LocationTransferTypeConstraint>
      </ReplicationLocation>
    
    0.226523(s) elapsed

Interroger la progression d'une tâche de réplication des données effectuée sur un bucket

  • Syntaxe de la commande

    ossutil replication --method get --item progress oss://bucketname [ruleID]

    Le tableau suivant décrit les paramètres de la commande précédente.

    Paramètre

    Description

    bucketname

    Nom du bucket pour lequel vous souhaitez interroger la progression de la réplication des données.

    ruleID

    ID de la règle de réplication des données. Si vous spécifiez l'ID de règle, seule la progression associée à cette règle est interrogée. En l'absence d'ID de règle, la progression associée à toutes les règles de réplication des données du bucket est interrogée. La progression de la réplication s'affiche uniquement à l'écran.

  • Exemples

    Exécutez la commande suivante pour interroger la progression de la réplication des données associée à une règle spécifique pour le bucket srcbucket :

    ossutil replication --method get --item progress oss://srcbucket 37417af4-f2dc-4b24-92d3-82092af6****

    Exécutez la commande suivante pour interroger la progression de la réplication des données associée à toutes les règles de réplication des données du bucket srcbucket :

    ossutil replication --method get --item progress oss://srcbucket

    Si la sortie suivante s'affiche, la progression de la réplication des données historiques du bucket srcbucket vers le bucket destbucket avant l'activation de la réplication des données est de 100 %. Après activation de la réplication des données, les données écrites dans le bucket srcbucket avant 06:00:59 (UTC+8) le 9 août 2021 sont répliquées vers le bucket de destination nommé destbucket.

    <?xml version="1.0" encoding="UTF-8"?>
    <ReplicationProgress>
      <Rule>
        <ID>37417af4-f2dc-4b24-92d3-82092af6****</ID>
        <Action>ALL</Action>
        <Destination>
          <Bucket>destbucket</Bucket>
          <Location>oss-cn-beijing</Location>
        </Destination>
        <Status>doing</Status>
        <HistoricalObjectReplication>enabled</HistoricalObjectReplication>
        <Progress>
          <HistoricalObject>1.00</HistoricalObject>
          <NewObject>2021-08-09T06:00:59.000Z</NewObject>
        </Progress>
      </Rule>
    </ReplicationProgress>
    
    0.125002(s) elapsed

Supprimer une règle de réplication des données

  • Syntaxe de la commande

    ossutil replication --method delete oss://bucketname ruleID
  • Exemples

    Exécutez la commande suivante pour supprimer une règle de réplication des données spécifique configurée pour le bucket srcbucket :

    ossutil replication --method delete oss://srcbucket 37417af4-f2dc-4b24-92d3-82092af6****

    La sortie exemple suivante indique que la règle de réplication des données spécifiée a été supprimée.

    0.069195(s) elapsed

Options courantes

Pour accéder à un bucket situé dans une autre région, utilisez l'option -e pour spécifier l'endpoint. Pour accéder à un bucket appartenant à un autre compte Alibaba Cloud, utilisez l'option -i pour l'AccessKey ID et l'option -k pour l'AccessKey Secret.

Par exemple, exécutez la commande suivante pour créer une règle de réplication des données dans le fichier localfile.txt pour le bucket testbucket situé dans la région Chine (Shanghai) et appartenant à un autre compte Alibaba Cloud :

ossutil replication --method put oss://testbucket localfile.txt -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID  -k yourAccessKeySecret

Options courantes.