全部产品
Search
文档中心

Object Storage Service:replication

更新时间:Jul 06, 2025

Anda dapat mengelola aturan replikasi data dengan menjalankan perintah replication. Aturan replikasi data terbagi menjadi replikasi lintas wilayah (CRR) dan replikasi dalam wilayah yang sama (SRR). Setelah mengonfigurasi aturan replikasi data, Object Storage Service (OSS) akan mereplikasi objek dari bucket sumber ke bucket tujuan di wilayah yang sama atau berbeda sesuai dengan aturan tersebut.

Catatan

  • Untuk membuat aturan replikasi data atau mengaktifkan Replication Time Control (RTC) pada sebuah bucket, Anda memerlukan izin oss:PutBucketReplication. Untuk menanyakan aturan replikasi data dari sebuah bucket, Anda memerlukan izin oss:GetBucketReplication. Untuk menghapus aturan replikasi data dari sebuah bucket, Anda memerlukan izin oss:DeleteBucketReplication. Untuk menanyakan kemajuan replikasi data dari tugas replikasi data pada sebuah bucket, Anda memerlukan izin oss:GetBucketReplicationProgress. Untuk menanyakan wilayah-wilayah bucket tempat data dapat direplikasi, Anda memerlukan izin oss:GetBucketReplicationLocation. Untuk informasi lebih lanjut, lihat Lampirkan kebijakan kustom ke pengguna RAM.

  • Untuk ossutil versi 1.6.16 dan yang lebih baru, Anda dapat langsung menggunakan ossutil sebagai nama biner di baris perintah tanpa perlu memperbarui nama biner berdasarkan sistem operasi. Untuk ossutil sebelum versi 1.6.16, Anda harus memperbarui nama biner sesuai dengan sistem operasi. Untuk informasi lebih lanjut, lihat Referensi perintah ossutil.

Tambahkan aturan replikasi data

Aturan replikasi data memungkinkan Anda mereplikasi data dari bucket sumber ke satu atau lebih bucket tujuan. Anda dapat mengonfigurasi hingga 100 aturan replikasi data untuk sebuah bucket. Untuk informasi lebih lanjut tentang replikasi data, lihat CRR.

Untuk menambahkan aturan replikasi data, buat file lokal terlebih dahulu dan tentukan aturan replikasi data yang ingin ditambahkan di file tersebut. Kemudian, tambahkan aturan replikasi data ke bucket sumber.

  • Sintaks Perintah

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

    Tabel berikut menjelaskan parameter dalam perintah di atas.

    Parameter

    Deskripsi

    bucketname

    Nama bucket untuk mana Anda ingin membuat aturan replikasi data.

    local_xml_file

    Nama file lokal tempat aturan replikasi data disimpan. Contoh: localfile.xml.

    Untuk informasi lebih lanjut, lihat PutBucketReplication.

  • Contoh

    1. Buat file bernama localfile.xml di komputer lokal Anda dan konfigurasikan aturan replikasi data di file tersebut sesuai kebutuhan bisnis Anda.

      Kode berikut memberikan contoh cara mengonfigurasi aturan replikasi data. Aturan ini memungkinkan Anda mereplikasi operasi buat dan modifikasi yang dilakukan pada objek dengan awalan srcdir di bucket sumber ke bucket tujuan bernama destbucket yang berlokasi di wilayah China (Hangzhou). Selain itu, aturan ini juga menentukan bahwa percepatan transfer diaktifkan dan data historis direplikasi ke bucket tujuan.

       <?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. Tambahkan aturan replikasi data ke bucket sumber bernama srcbucket:

      ossutil replication --method put oss://srcbucket localfile.xml
  • Contoh Keluaran

    Keluaran berikut menunjukkan bahwa aturan replikasi data telah dibuat untuk bucket srcbucket:

    0.856895(s) elapsed

Aktifkan atau nonaktifkan RTC

Catatan

Anda dapat mengaktifkan Replication Time Control (RTC) saat mengonfigurasi tugas CRR. Anda juga dapat mengaktifkan RTC untuk tugas CRR yang sudah ada. RTC dapat digunakan untuk mereplikasi semua objek dalam bucket, atau hanya objek dengan tag tertentu atau nama yang mengandung awalan tertentu dalam bucket.

  • Sintaks Perintah

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

    Tabel berikut menjelaskan parameter dalam perintah di atas.

    Parameter

    Deskripsi

    bucketname

    Nama bucket sumber untuk mana Anda ingin mengaktifkan atau menonaktifkan RTC.

    local_xml_file

    Nama file lokal yang menyimpan konfigurasi RTC. Contoh: localfile.xml.

    Untuk informasi lebih lanjut, lihat PutBucketReplication.

  • Contoh

    1. Konfigurasikan file lokal.

      • Aktifkan RTC

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

        <?xml version="1.0" encoding="UTF-8"?>
        <ReplicationRule>
            <RTC>
                <Status>disabled</Status>
            </RTC>
            <ID>test-replication-id</ID>
        </ReplicationRule>
    2. Aktifkan atau nonaktifkan RTC untuk bucket sumber bernama srcbucket:

      ossutil replication --method put --item rtc oss://srcbucket local.xml
  • Contoh Keluaran

    0.856895(s) elapsed

Tanyakan aturan replikasi data dari sebuah bucket

  • Sintaks Perintah

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

    Anda dapat menjalankan perintah berikut untuk menanyakan dan menampilkan aturan replikasi data dari bucket srcbucket:

    ossutil replication --method get oss://srcbucket

    Keluaran sampel berikut menunjukkan bahwa aturan replikasi data dari bucket srcbucket telah ditanyakan:

    <?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

Tanyakan wilayah-wilayah tempat data dapat direplikasi

  • Sintaks Perintah

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

    Anda dapat menjalankan perintah berikut untuk menanyakan wilayah-wilayah bucket tempat data di bucket srcbucket dapat direplikasi:

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

    Keluaran sampel berikut menunjukkan wilayah-wilayah bucket tempat data dapat direplikasi telah ditanyakan:

    <?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

Tanyakan kemajuan tugas replikasi data yang dilakukan pada sebuah bucket

  • Sintaks Perintah

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

    Tabel berikut menjelaskan parameter dalam perintah di atas.

    Parameter

    Deskripsi

    bucketname

    Nama bucket untuk mana Anda ingin menanyakan kemajuan replikasi data.

    ruleID

    ID aturan replikasi data. Setelah Anda menentukan ID aturan, kemajuan replikasi yang terkait dengan aturan tersebut akan ditanyakan. Jika Anda tidak menentukan ID aturan, kemajuan replikasi yang terkait dengan semua aturan replikasi data untuk bucket tersebut akan ditanyakan. Kemajuan replikasi hanya dapat ditampilkan di layar.

  • Contoh

    Anda dapat menjalankan perintah berikut untuk menanyakan kemajuan replikasi data yang terkait dengan aturan replikasi data tertentu untuk bucket srcbucket:

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

    Anda dapat menjalankan perintah berikut untuk menanyakan kemajuan replikasi data yang terkait dengan semua aturan replikasi data untuk bucket srcbucket:

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

    Jika keluaran berikut ditampilkan, kemajuan replikasi data historis dari bucket srcbucket ke bucket destbucket sebelum replikasi data diaktifkan adalah 100%. Setelah replikasi data diaktifkan, data yang ditulis ke bucket srcbucket sebelum pukul 06:00:59 (UTC+8) pada tanggal 9 Agustus 2021 direplikasi ke bucket tujuan bernama 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

Hapus aturan replikasi data

  • Sintaks Perintah

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

    Anda dapat menjalankan perintah berikut untuk menghapus aturan replikasi data tertentu yang dikonfigurasi untuk bucket srcbucket:

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

    Keluaran sampel berikut menunjukkan bahwa aturan replikasi data yang ditentukan telah dihapus.

    0.069195(s) elapsed

Opsi umum

Jika Anda menggunakan ossutil untuk beralih ke bucket yang berada di wilayah lain, tambahkan opsi -e untuk menentukan titik akhir wilayah tempat bucket tersebut berada. Jika Anda menggunakan ossutil untuk beralih ke bucket yang dimiliki oleh akun Alibaba Cloud lain, tambahkan opsi -i untuk menentukan ID AccessKey dari akun yang ditentukan, dan tambahkan opsi -k untuk menentukan Rahasia AccessKey dari akun yang ditentukan.

Sebagai contoh, Anda dapat menjalankan perintah berikut untuk membuat aturan replikasi data di file localfile.txt untuk bucket testbucket yang berada di wilayah China (Shanghai) dan dimiliki oleh akun Alibaba Cloud lain:

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

Untuk informasi lebih lanjut tentang opsi umum, lihat Opsi Umum.