All Products
Search
Document Center

Object Storage Service:PutBucketReplication

Last Updated:Sep 03, 2026

Operasi PutBucketReplication digunakan untuk menentukan aturan replikasi data pada bucket. OSS mendukung cross-region replication (CRR) dan same-region replication (SRR).

Catatan penggunaan

Replikasi data menyalin objek secara asinkron dari bucket sumber ke bucket tujuan, mencakup operasi seperti pembuatan, pembaruan, dan penghapusan objek. Perhatikan hal-hal berikut saat menggunakan replikasi data:

  • Replikasi data bersifat asinkron. Waktu yang diperlukan untuk mereplikasi data ke bucket tujuan bergantung pada ukuran data dan dapat berkisar dari beberapa menit hingga beberapa jam.

  • Nama bucket sumber dan bucket tujuan tidak boleh sama.

  • Pada cross-region replication, bucket sumber dan bucket tujuan harus berada di pusat data yang berbeda. Pada same-region replication, keduanya harus berada di pusat data yang sama.

Untuk informasi selengkapnya tentang replikasi data, lihat Pengenalan cross-region replication dan Pengenalan same-region replication.

Sintaks permintaan

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>

Elemen permintaan

Name

Type

Required

Example

Description

ReplicationConfiguration

Container

Yes

N/A

Kontainer untuk aturan replikasi data bucket.

Parent node: None

Child node: Rule

Rule

Container

Yes

N/A

Kontainer untuk aturan replikasi data.

Parent node: ReplicationConfiguration

Child nodes: Destination, HistoricalObjectReplication, ID, UserTaggings, dan lainnya

ID

String

No

first

ID unik aturan replikasi data.

Parent node: Rule

Child nodes: None

PrefixSet

Container

No

N/A

Kontainer untuk awalan. Anda dapat menentukan maksimal 10 awalan dalam setiap aturan replikasi data.

Parent node: Rule

Child node: Prefix

Prefix

String

No

source1

Awalan objek yang akan direplikasi. Hanya objek yang sesuai dengan awalan yang direplikasi ke bucket tujuan.

  • Panjang awalan dapat mencapai 1.023 karakter.

  • Jika Anda mengonfigurasi awalan, baik data baru maupun data historis direplikasi berdasarkan awalan tersebut.

Parent node: PrefixSet

Child nodes: None

Action

String

No

ALL

Operasi yang direplikasi ke bucket tujuan. Jika Anda mengonfigurasi aksi, baik data baru maupun data historis direplikasi berdasarkan aksi yang ditentukan.

Anda dapat menentukan satu atau beberapa nilai valid berikut.

Nilai valid:

  • ALL (default): Mereplikasi operasi PUT, DELETE, dan ABORT ke bucket tujuan.

    Penting

    Selain replikasi objek yang baru diunggah dan diperbarui, kebijakan replikasi ini juga mencakup replikasi penghapusan, yang menjamin konsistensi data. Kebijakan ini cocok untuk skenario di mana banyak pengguna atau aplikasi perlu berbagi dan mengakses set data yang sama. Objek yang dihapus dari bucket sumber, baik secara manual maupun melalui kebijakan lifecycle, juga akan dihapus dari bucket tujuan. Objek tidak dapat dipulihkan setelah dihapus.

  • PUT: Mereplikasi operasi tulis ke bucket tujuan. Operasi ini mencakup PutObject, PostObject, AppendObject, CopyObject, PutObjectACL, InitiateMultipartUpload, UploadPart, UploadPartCopy, dan CompleteMultipartUpload.

    Penting

    Jika kebijakan replikasi ini diterapkan, hanya objek yang diunggah atau diperbarui setelah kebijakan berlaku yang direplikasi ke bucket tujuan, dan objek yang dihapus dari bucket sumber tidak akan dihapus dari bucket tujuan. Kebijakan ini secara efektif mencegah kehilangan data di bucket tujuan akibat penghapusan manual atau penghapusan otomatis yang dipicu oleh kebijakan lifecycle di bucket sumber.

Parent node: Rule

Child nodes: None

Destination

Container

Yes

N/A

Kontainer untuk informasi tentang bucket tujuan.

Parent node: Rule

Child nodes: Bucket dan Location

Bucket

String

Yes

destbucket

Bucket tujuan untuk replikasi data.

Parent node: Destination

Child nodes: None

Location

String

Yes

oss-cn-hangzhou

Wilayah tempat bucket tujuan berada.

Parent node: Destination

Child nodes: None

TransferType

String

Yes

oss_acc

Tautan transmisi data yang digunakan untuk replikasi data.

Nilai valid:

  • internal (default): Tautan transmisi OSS default.

  • oss_acc: Tautan akselerasi transfer. Anda hanya dapat menggunakan tautan akselerasi transfer saat membuat aturan replikasi lintas wilayah. Setelah opsi ini dikonfigurasi, akselerasi transfer akan diaktifkan secara otomatis pada bucket tujuan. Anda tidak perlu mengaktifkannya secara manual terlebih dahulu.

Parent node: Destination

Child nodes: None

HistoricalObjectReplication

String

No

disabled

Menentukan apakah data historis direplikasi. Ini menentukan apakah data di bucket sumber sebelum replikasi data diaktifkan direplikasi ke bucket tujuan.

Nilai valid:

  • enabled (default): Mereplikasi data historis.

  • disabled: Tidak mereplikasi data historis. Hanya data yang ditulis setelah aturan replikasi data dibuat yang direplikasi.

Parent node: Rule

Child nodes: None

SyncRole

String

Yes

aliyunramrole

Peran RAM yang Anda otorisasi agar OSS gunakan untuk replikasi data. Replikasi data dapat dilakukan dalam akun yang sama atau lintas akun berbeda. Untuk kedua skenario tersebut, Anda harus memberikan izin replikasi yang diperlukan kepada peran RAM. Jika tidak, tugas replikasi tidak dapat diselesaikan. Untuk informasi selengkapnya, lihat Izin replikasi data.

Parent node: Rule

Child nodes: None

SourceSelectionCriteria

Container

No

N/A

Kontainer untuk kondisi filter lain yang mengidentifikasi objek sumber yang akan direplikasi. OSS saat ini hanya mendukung penentuan kondisi filter untuk objek sumber yang dienkripsi dengan SSE-KMS.

Parent node: Rule

Child node: SseKmsEncryptedObjects

SseKmsEncryptedObjects

Container

No

N/A

Kontainer untuk memfilter objek yang dienkripsi dengan SSE-KMS. Jika Anda menentukan SourceSelectionCriteria dalam aturan replikasi data, Anda harus menentukan elemen ini.

Parent node: SourceSelectionCriteria

Child node: Status

Status

String

No

Enabled

Menentukan apakah OSS mereplikasi objek yang dibuat dengan enkripsi SSE-KMS. Nilai valid:

  • Enabled: Mereplikasi objek yang dibuat dengan enkripsi SSE-KMS.

  • Disabled (default): Tidak mereplikasi objek yang dibuat dengan enkripsi SSE-KMS.

Parent node: SseKmsEncryptedObjects

Child nodes: None

EncryptionConfiguration

Container

No

N/A

Konfigurasi enkripsi untuk objek tujuan. Jika Anda mengatur Status ke Enabled, Anda harus menentukan elemen ini.

Parent node: Rule

Child node: ReplicaKmsKeyID

ReplicaKmsKeyID

String

No

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

ID kunci SSE-KMS. Jika Anda mengatur Status ke Enabled, Anda harus menentukan elemen ini.

Parent node: EncryptionConfiguration

Child nodes: None

RTC

Container

No

N/A

Status fitur replication time control (RTC).

Parent node: Rule

Child node: Status

Status

String

No

Enabled

Mengaktifkan atau menonaktifkan fitur RTC. Anda hanya dapat mengonfigurasi fitur RTC untuk replikasi lintas wilayah.

Nilai valid:

  • enabled: Mengaktifkan fitur RTC.

  • disabled (default): Menonaktifkan fitur RTC.

Parent node: RTC

Child nodes: None

Catatan

Untuk informasi selengkapnya tentang wilayah yang mendukung fitur RTC, lihat Wilayah yang mendukung RTC.

UserTaggings

Container

No

N/A

Kontainer untuk aturan filter tag. Setelah Anda mengonfigurasi elemen ini, hanya objek yang memiliki tag yang ditentukan yang direplikasi ke bucket tujuan. Saat mengonfigurasi UserTaggings, Anda harus menentukan FilterType dan UserTagging.

Parent node: Rule

Child nodes: FilterType dan UserTagging

FilterType

String

No

OR

Kebijakan filter tag. Nilai ini peka huruf besar/kecil. Nilai valid:

  • AND: Objek direplikasi hanya jika setiap tag objek tersebut termasuk dalam himpunan tag yang ditentukan dalam aturan filter tag.

  • OR: Objek direplikasi jika salah satu tag objek tersebut termasuk dalam himpunan tag yang ditentukan dalam aturan filter tag.

Parent node: UserTaggings

Child nodes: None

UserTagging

Container

No

N/A

Kontainer untuk pasangan kunci-nilai tag tunggal. Anda dapat menentukan maksimal 10 tag. Pasangan kunci-nilai tag yang Anda tentukan tidak boleh duplikat.

Parent node: UserTaggings

Child nodes: Key dan Value

Key

String

No

env

Kunci tag. Panjang kunci tag dapat mencapai 128 karakter. Nilai ini peka huruf besar/kecil. Kunci tag dapat berisi huruf, angka, spasi, dan karakter khusus berikut: +‑=._:/

Parent node: UserTagging

Child nodes: None

Value

String

No

test

Nilai tag. Panjang nilai tag dapat mencapai 256 karakter. Nilai ini peka huruf besar/kecil. Nilai tag dapat berisi huruf, angka, spasi, dan karakter khusus berikut: +‑=._:/

Parent node: UserTagging

Child nodes: None

Operasi ini juga memerlukan header permintaan umum seperti Host dan Date. Untuk informasi selengkapnya, lihat Header permintaan umum.

Header respons

Operasi ini hanya mengembalikan header respons umum. Untuk informasi selengkapnya, lihat Header respons umum.

Contoh

  • Contoh permintaan 1 (kebijakan filter 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>
  • Contoh permintaan 2 (kebijakan filter 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>
  • Contoh respons

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

SDK untuk operasi ini dalam berbagai bahasa adalah sebagai berikut:

Alat baris perintah ossutil

Untuk perintah ossutil yang sesuai dengan operasi ini, lihat put-bucket-replication.

Kode error

Error code

HTTP status code

Description

InvalidTargetBucket

400 BadRequest

Error ini dapat terjadi karena alasan berikut:

  • Nama bucket tujuan sama dengan nama bucket sumber.

  • Bucket tujuan tidak ada.

  • Bucket tujuan dan bucket sumber tidak dimiliki oleh pengguna yang sama.

InvalidTargetLocation

400 BadRequest

Lokasi bucket tujuan berbeda dari lokasi yang ditentukan dalam XML permintaan.

BucketReplicationAlreadyExist

400 BadRequest

Hubungan replikasi sudah ada dari bucket sumber ke bucket tujuan.

Untuk mengonfigurasi aturan replikasi data baru, hapus aturan yang ada terlebih dahulu.

BadReplicationLocation

400 BadRequest

Data center tujuan yang ditentukan tidak valid.

Anda dapat memanggil operasi GetBucketReplicationLocation untuk mendapatkan data center tujuan yang valid.

NoReplicationLocation

400 BadRequest

Saat menggunakan replikasi lintas wilayah, data center bucket sumber tidak memiliki data center pasangan untuk replikasi lintas wilayah.

Untuk informasi selengkapnya tentang data center pasangan untuk replikasi lintas wilayah, lihat Endpoint dan data center.

TooManyReplicationRules

400 BadRequest

Lebih dari satu aturan replikasi data dikonfigurasi dalam permintaan.

Anda hanya dapat mengonfigurasi satu aturan replikasi data dalam satu permintaan.

TooManyIncomingReplication

400 BadRequest

Jumlah aturan replikasi data yang dikonfigurasi untuk bucket telah mencapai batas 100. Hapus aturan replikasi data yang tidak lagi digunakan dan coba lagi.

Anda dapat mengonfigurasi hingga 100 aturan replikasi data untuk bucket. Jika kebutuhan bisnis Anda melebihi batas ini, silakan hubungi technical support.

TooManyOutgoingReplication

400 BadRequest

Jumlah aturan replikasi data yang dikonfigurasi untuk bucket telah mencapai batas 100. Hapus aturan replikasi data yang tidak lagi digunakan dan coba lagi.

Anda dapat mengonfigurasi hingga 100 aturan replikasi data untuk bucket. Jika kebutuhan bisnis Anda melebihi batas ini, silakan hubungi technical support.

MissingArgument

400 BadRequest

Tautan transmisi data tidak ditentukan.

InvalidArgument

400 BadRequest

Tautan transmisi data yang ditentukan tidak didukung.

ReplicationLocationNotSupportRtc

400 BadRequest

Fitur RTC tidak dapat diaktifkan di wilayah ini. Untuk informasi selengkapnya tentang wilayah yang mendukung fitur RTC, lihat Wilayah RTC.

TooManyTaggings

400 BadRequest

Jumlah tag dalam aturan replikasi data yang dikonfigurasi untuk bucket tidak boleh melebihi 10.

DuplicateReplicationRuleTaggings

400 BadRequest

Aturan replikasi data yang dikonfigurasi untuk bucket berisi tag yang kunci dan nilainya duplikat.

DuplicateReplicationRuleTaggingKeys

400 BadRequest

FilterType diatur ke AND dalam aturan replikasi data yang dikonfigurasi untuk bucket, dan terdapat kunci tag yang duplikat.