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 izinoss:GetBucketReplication. Untuk menghapus aturan replikasi data dari sebuah bucket, Anda memerlukan izinoss:DeleteBucketReplication. Untuk menanyakan kemajuan replikasi data dari tugas replikasi data pada sebuah bucket, Anda memerlukan izinoss:GetBucketReplicationProgress. Untuk menanyakan wilayah-wilayah bucket tempat data dapat direplikasi, Anda memerlukan izinoss: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_fileTabel 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
Buat file bernama
localfile.xmldi 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>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
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_fileTabel 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
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>
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://bucketnameContoh
Anda dapat menjalankan perintah berikut untuk menanyakan dan menampilkan aturan replikasi data dari bucket srcbucket:
ossutil replication --method get oss://srcbucketKeluaran 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://bucketnameContoh
Anda dapat menjalankan perintah berikut untuk menanyakan wilayah-wilayah bucket tempat data di bucket srcbucket dapat direplikasi:
ossutil replication --method get --item location oss://srcbucketKeluaran 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://srcbucketJika 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 ruleIDContoh
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 yourAccessKeySecretUntuk informasi lebih lanjut tentang opsi umum, lihat Opsi Umum.