All Products
Search
Document Center

Object Storage Service:Replikasi di wilayah yang sama (SRR) dalam akun yang sama

Last Updated:Mar 28, 2026

Replikasi di wilayah yang sama (SRR) mereplikasi objek—termasuk pembuatan, pembaruan, dan penghapusannya—secara otomatis dan asinkron (dalam waktu nyaris real-time) dari bucket sumber ke bucket tujuan. Bucket sumber dan bucket tujuan harus berada di wilayah yang sama dan dimiliki oleh Akun Alibaba Cloud yang sama. Topik ini menjelaskan cara mengonfigurasi SRR untuk bucket dalam akun yang sama.

Prasyarat

  • Bucket sumber telah dibuat di suatu wilayah di bawah Akun Alibaba Cloud Anda. UID akun, nama bucket sumber, dan wilayahnya telah dicatat.

  • Bucket tujuan telah dibuat di wilayah yang sama di bawah Akun Alibaba Cloud yang sama. Nama bucket tujuan telah dicatat.

Jenis peran RAM

Untuk menjalankan SRR, Anda harus menentukan peran RAM yang dapat diasumsikan oleh Object Storage Service (OSS) guna mereplikasi objek dari bucket sumber ke bucket tujuan. Anda dapat menggunakan salah satu jenis peran berikut untuk tugas SRR.

Penting

Anda dapat membuat peran dengan menggunakan Pengguna RAM. Pengguna RAM tersebut harus memiliki izin berikut: ram:CreateRole, ram:GetRole, ram:ListPoliciesForRole, dan ram:AttachPolicyToRole. Karena pemberian izin terkait peran seperti ram:CreateRole dan ram:GetRole kepada Pengguna RAM melibatkan risiko tinggi, kami menyarankan agar Anda menggunakan Akun Alibaba Cloud yang terkait dengan Pengguna RAM tersebut untuk membuat peran RAM dan memberikan izin kepada peran tersebut. Setelah otorisasi selesai, Pengguna RAM dapat langsung menggunakan kembali peran RAM yang dibuat oleh Akun Alibaba Cloud.

Peran RAM baru (disarankan)

Saat membuat aturan replikasi di wilayah yang sama dalam akun yang sama, Anda dapat memilih untuk membuat peran baru guna menyelesaikan tugas replikasi. Jika memilih opsi ini, sistem akan secara otomatis membuat peran dengan nama berformat oss-replication-{uuid} di latar belakang dan memberikan kebijakan izin yang berbeda tergantung pada apakah Anda memilih untuk mereplikasi objek yang dienkripsi dengan KMS.

  • Mereplikasi objek yang dienkripsi dengan KMS

    Setelah peran dibuat, Anda harus mengotorisasinya dengan mengikuti instruksi di layar. Setelah diotorisasi, peran tersebut menerima kebijakan detail halus untuk replikasi data dan kebijakan AliyunKMSCryptoUserAccess untuk mengelola KMS.

  • Tidak mereplikasi objek yang dienkripsi dengan KMS

    Setelah peran dibuat, Anda harus mengotorisasinya dengan mengikuti instruksi di layar. Setelah diotorisasi, peran tersebut menerima kebijakan detail halus untuk replikasi data.

AliyunOSSRole

Saat membuat aturan SRR, Anda dapat memilih AliyunOSSRole untuk tugas replikasi. Setelah memilih peran ini, sistem akan menyambungkan kebijakan berdasarkan apakah Anda memilih untuk mereplikasi objek yang dienkripsi dengan KMS.

  • Mereplikasi objek yang dienkripsi dengan KMS

    Jika memilih AliyunOSSRole, sistem secara otomatis menyambungkan kebijakan AliyunOSSFullAccess (memberikan izin untuk mengelola OSS) dan kebijakan AliyunKMSCryptoUserAccess (memberikan izin untuk mengelola KMS) ke peran tersebut.

    Peringatan

    Peran ini memiliki izin untuk melakukan semua operasi pada semua bucket dan kunci KMS di akun saat ini. Ini merupakan cakupan izin yang luas, sehingga gunakan peran ini dengan hati-hati.

  • Tidak mereplikasi objek yang dienkripsi dengan KMS

    Jika memilih AliyunOSSRole, sistem secara otomatis menyambungkan kebijakan AliyunOSSFullAccess (memberikan izin untuk mengelola OSS) ke peran tersebut.

    Peringatan

    Peran ini memiliki izin untuk melakukan semua operasi pada semua bucket di akun saat ini. Ini merupakan cakupan izin yang luas, sehingga gunakan peran ini dengan hati-hati.

Peran kustom

Saat membuat aturan SRR, Anda dapat menggunakan peran kustom untuk tugas replikasi. Anda harus membuat peran kustom di Konsol RAM dan memberikan izin yang diperlukan kepada peran tersebut.

  1. Buat peran layanan reguler.

    Saat membuat peran, pilih Alibaba Cloud Service sebagai tipe entitas tepercaya dan Object Storage Service sebagai layanan tepercaya. Untuk informasi selengkapnya, lihat Buat peran layanan reguler.

  2. Berikan izin kepada peran tersebut.

    Anda dapat memberikan izin kepada peran tersebut dengan salah satu cara berikut.

    Kebijakan sistem

    Peringatan

    Anda dapat memberikan kebijakan sistem AliyunOSSFullAccess kepada peran RAM. Kebijakan AliyunOSSFullAccess memberikan izin penuh atas semua bucket di akun saat ini secara default. Gunakan kebijakan ini dengan hati-hati.

    Jika Anda ingin menyalin objek yang dienkripsi dengan KMS ke bucket tujuan, Anda juga perlu memberikan kebijakan sistem AliyunKMSFullAccess kepada peran tersebut.

    Untuk informasi selengkapnya, lihat Berikan izin kepada peran RAM.

    Kebijakan kustom

    Kami menyarankan agar Anda memberikan izin minimum yang diperlukan kepada peran RAM untuk mereplikasi objek dari bucket sumber (src-bucket) ke bucket tujuan (dest-bucket).

    Catatan

    Saat menggunakan kebijakan ini, ganti nama bucket sumber dan bucket tujuan dengan nama aktualnya.

    {
       "Version":"1",
       "Statement":[
          {
             "Effect":"Allow",
             "Action":[
                "oss:ReplicateList",
              	"oss:ReplicateGet"
             ],
             "Resource":[
              	"acs:oss:*:*:src-bucket",
                "acs:oss:*:*:src-bucket/*"
             ]
          },
          {
             "Effect":"Allow",
             "Action":[
              	"oss:ReplicateList",
                "oss:ReplicateGet",
                "oss:ReplicatePut",
                "oss:ReplicateDelete"
             ],
             "Resource":[
              	"acs:oss:*:*:dest-bucket",
                "acs:oss:*:*:dest-bucket/*"
             ]
          }
       ]
    }

    Untuk informasi selengkapnya, lihat Berikan izin kepada peran RAM.

    Catatan

    Jika Anda ingin menyalin objek yang dienkripsi dengan KMS ke bucket tujuan, Anda juga perlu memberikan kebijakan sistem AliyunKMSFullAccess kepada peran tersebut.

Penting

Untuk SRR dalam akun yang sama, OSS hanya mengevaluasi izin berdasarkan kebijakan peran RAM. OSS tidak memeriksa kebijakan bucket dari bucket sumber atau bucket tujuan.

Prosedur

Konsol OSS

  1. Masuk ke Konsol OSS.

  2. Di panel navigasi kiri, klik Buckets. Di halaman Buckets, klik nama bucket sumber.

  3. Di panel navigasi kiri, pilih Data Management > SRR.

  4. Di tab SRR, klik SRR.

  5. Di panel SRR, konfigurasikan parameter berikut.

    Bagian

    Parameter

    Deskripsi

    Configure Destination Bucket

    Source bucket

    Wilayah dan nama bucket sumber ditampilkan.

    Destination Bucket

    Pilih Select a bucket in this account, lalu pilih bucket tujuan di wilayah yang sama dari daftar drop-down.

    Configure Replication Policy

    Objects to Replicate

    Pilih objek sumber yang ingin direplikasi.

    • Synchronize all files: Mereplikasi semua objek di bucket ke bucket tujuan.

    • Objects with specified prefixes: Mereplikasi objek dengan awalan tertentu ke bucket tujuan. Secara default, Anda dapat menambahkan hingga 10 awalan. Untuk meningkatkan batas ini, hubungi technical support. Batas tersebut dapat ditingkatkan hingga 100.

    Object Tagging

    Catatan

    Untuk mengonfigurasi parameter ini, kondisi berikut harus dipenuhi:

    • Tag sudah ditetapkan pada Objek.

    • Opsi "Replicate Delete Markers" maupun "Replicate Delete Operations" tidak dipilih.

    Setelah memilih kotak centang Configure Rules, Anda dapat mereplikasi Objek dengan tag tertentu ke bucket tujuan. Anda dapat menambahkan hingga 10 tag (pasangan kunci-nilai). Setelah tag ditambahkan, Anda dapat memilih salah satu Tag filtering policy berikut:

    • Include all tags: Objek direplikasi hanya jika semua tag yang didefinisikan dalam aturan penyaringan ada pada Objek tersebut.

    • Include any one tag: Objek direplikasi jika setidaknya satu tag yang didefinisikan dalam aturan penyaringan ada pada Objek tersebut.

      Catatan

      Penyaringan tag saat ini tidak didukung di wilayah berikut: Tiongkok (Zhangjiakou), Tiongkok (Zhongwei), dan Meksiko.

    Copy and delete operation

    Pilih cara data direplikasi.

    Catatan

    Setelah aturan replikasi dibuat, perubahan kelas penyimpanan objek di bucket sumber (yang disebabkan oleh aturan siklus hidup atau operasi CopyObject) dan waktu akses terakhir objek (properti x-oss-last-access-time) tidak direplikasi ke bucket tujuan.

    • No (untuk skenario disaster recovery): Mereplikasi operasi pembuatan dan pembaruan objek dari bucket sumber ke bucket tujuan.

      Penting
      • Ini mencegah kehilangan data secara tidak sengaja di bucket tujuan akibat penghapusan (baik manual maupun oleh aturan siklus hidup) di bucket sumber.

      • Jika Pengendalian versi diaktifkan untuk bucket sumber, menghapus objek dari bucket sumber tanpa ID versi akan membuat penanda hapus, yang kemudian direplikasi ke bucket tujuan.

    • Yes (untuk skenario berbagi data): Mereplikasi operasi pembuatan, pembaruan, dan penghapusan objek dari bucket sumber ke bucket tujuan.

      Penting

      Opsi ini menjaga sinkronisasi bucket dengan mereplikasi pembuatan, pembaruan, dan penghapusan. Opsi ini cocok untuk lingkungan tempat beberapa pengguna atau aplikasi perlu mengakses set data yang sama. Namun, perlu diperhatikan bahwa menghapus objek di bucket sumber (secara manual atau oleh aturan siklus hidup) juga akan menghapus objek tersebut di bucket tujuan, dan tidak dapat dipulihkan.

    Untuk objek yang diunggah menggunakan unggah multi-bagian, OSS mereplikasi setiap bagian saat diunggah. Objek akhir juga direplikasi setelah operasi CompleteMultipartUpload.

    Untuk informasi lebih lanjut tentang perilaku replikasi saat Anda menggunakan SRR dengan Pengendalian versi, lihat SRR dengan Pengendalian versi.

    Replicate Historical Data

    Pilih apakah akan mereplikasi data historis dari bucket sumber.

    • Yes: Mereplikasi data historis ke bucket tujuan.

      Penting

      Saat data historis direplikasi, objek dari bucket sumber dapat menimpa objek dengan nama yang sama di bucket tujuan. Untuk mencegah kehilangan data, kami menyarankan agar Anda mengaktifkan Pengendalian versi untuk kedua bucket, baik sumber maupun tujuan.

    • No: Hanya mereplikasi objek yang diunggah atau diperbarui setelah aturan SRR berlaku.

    Replicate Objects Encrypted Based on KMS

    Pilih apakah akan mereplikasi objek yang dienkripsi dengan KMS ke bucket tujuan.

    • Yes: Mereplikasi objek ke bucket tujuan jika objek sumber atau bucket tujuan dienkripsi menggunakan enkripsi sisi server dengan kunci yang dikelola KMS (SSE-KMS) dan ID CMK tertentu.

      Catatan

      Anda dapat memanggil operasi HeadObject dan GetBucketEncryption untuk menanyakan status enkripsi objek sumber dan bucket tujuan, masing-masing.

    • No: Tidak mereplikasi objek yang dienkripsi dengan KMS ke bucket tujuan.

    CMK ID

    Jika Anda memilih untuk mereplikasi objek yang dienkripsi dengan KMS, Anda harus menentukan ID CMK dari kunci KMS yang digunakan untuk mengenkripsi objek di bucket tujuan.

    Sebelum menentukan ID CMK, Anda harus terlebih dahulu membuat kunci yang sesuai di Konsol KMS. Kunci KMS harus berada di wilayah yang sama dengan bucket tujuan. Untuk informasi selengkapnya, lihat Buat CMK.

    RAM Role

    Kami menyarankan agar Anda memilih New RAM Role. Jika Anda memilih opsi ini, ikuti instruksi di layar untuk mengotorisasi peran baru tersebut.

    Anda juga dapat memilih AliyunOSSRole atau peran kustom. Untuk informasi selengkapnya tentang ketiga jenis peran ini, lihat Jenis peran RAM.

  6. Klik OK. Di kotak dialog konfirmasi yang muncul, klik Enable.

    • Setelah aturan SRR dibuat, Anda tidak dapat mengedit atau menghapusnya.

    • Tugas replikasi dimulai 3 hingga 5 menit setelah aturan SRR dikonfigurasi. Anda dapat melihat progres replikasi di tab SRR bucket sumber.

    • Waktu yang diperlukan untuk mereplikasi data bergantung pada ukurannya dan dapat berkisar dari beberapa menit hingga beberapa jam.

SDK

SRR untuk bucket dalam akun yang sama hanya didukung oleh Alibaba Cloud SDK untuk Java, Python, dan Go.

Java

import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.AddBucketReplicationRequest;
import com.aliyun.oss.ClientBuilderConfiguration;
import com.aliyun.oss.common.comm.SignVersion;

public class Demo {

    public static void main(String[] args) throws Exception {
        // Tentukan endpoint. Misalnya, jika bucket Anda berada di wilayah Tiongkok (Hangzhou), atur endpoint menjadi https://oss-cn-hangzhou.aliyuncs.com.
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Tentukan ID wilayah yang sesuai dengan endpoint, misalnya cn-hangzhou.
        String region = "cn-hangzhou";
        // Kami sangat menyarankan agar Anda tidak menyimpan kredensial akses di kode Anda. Jika tidak, kredensial akses dapat bocor, yang menimbulkan ancaman terhadap keamanan semua resource di akun Anda. Dalam contoh ini, kredensial akses diperoleh dari variabel lingkungan. Sebelum menjalankan kode contoh, konfigurasikan variabel lingkungan yang diperlukan.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Tentukan nama bucket sumber.
        String bucketName = "src-bucket";
        // Tentukan bucket tujuan. Bucket tujuan dan bucket sumber harus dimiliki oleh akun yang sama.
        String targetBucketName = "dest-bucket";
        // Tentukan wilayah tempat bucket tujuan berada. Bucket tujuan dan bucket sumber harus berada di wilayah yang sama.
        String targetBucketLocation = "oss-cn-hangzhou";

        // Buat instance OSSClient.
        // Saat instance OSSClient tidak lagi diperlukan, panggil metode shutdown untuk melepaskan resource.
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        // Secara eksplisit deklarasikan bahwa algoritma signature V4 digunakan.
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {
            AddBucketReplicationRequest request = new AddBucketReplicationRequest(bucketName);

            request.setTargetBucketName(targetBucketName);
            request.setTargetBucketLocation(targetBucketLocation);
            // Secara default, data historis direplikasi. Atur parameter ini ke false untuk menonaktifkan replikasi data historis.
            request.setEnableHistoricalObjectReplication(false);
            // Tentukan nama peran RAM yang diotorisasi untuk mereplikasi data. Peran tersebut harus memiliki izin untuk menjalankan SRR pada bucket sumber dan menulis ke bucket tujuan.
            request.setSyncRole("yourRole");
            // Tentukan apakah akan mereplikasi objek yang dienkripsi menggunakan SSE-KMS.
            //request.setSseKmsEncryptedObjectsStatus("Enabled");
            // Tentukan ID CMK yang digunakan untuk SSE-KMS. Jika Anda mengatur SseKmsEncryptedObjectsStatus ke Enabled, Anda harus menentukan parameter ini.
            //request.setReplicaKmsKeyID("3542abdd-5821-4fb5-a425-90adca***");
            //List prefixes = new ArrayList();
            //prefixes.add("image/");
            //prefixes.add("video");
            //prefixes.add("a");
            //prefixes.add("A");
            // Tentukan awalan objek yang akan direplikasi. Hanya objek dengan awalan yang ditentukan yang direplikasi ke bucket tujuan.
            //request.setObjectPrefixList(prefixes);
            //List actions = new ArrayList();
            //actions.add(AddBucketReplicationRequest.ReplicationAction.PUT);
            // Replikasi operasi pembuatan dan pembaruan objek dari bucket sumber ke bucket tujuan.
            //request.setReplicationActionList(actions);
            ossClient.addBucketReplication(request);
        } catch (OSSException oe) {
            System.out.println("Caught an OSSException, which means your request made it to OSS, "
                    + "but was rejected with an error response for some reason.");
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:" + oe.getErrorCode());
            System.out.println("Request ID:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Caught a ClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with OSS, "
                    + "such as not being able to access the network.");
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}        

Python

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
from oss2.models import ReplicationRule
# Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# Tentukan endpoint wilayah tempat bucket sumber berada. Misalnya, untuk wilayah Tiongkok (Hangzhou), atur endpoint menjadi https://oss-cn-hangzhou.aliyuncs.com.
# Tentukan nama bucket sumber, misalnya src-bucket.
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'src-bucket')
replica_config = ReplicationRule(
    # Tentukan bucket tujuan. Bucket tujuan dan bucket sumber harus dimiliki oleh akun yang sama.
    target_bucket_name='dest-bucket',
    # Tentukan wilayah tempat bucket tujuan berada. Bucket tujuan dan bucket sumber harus berada di wilayah yang sama.
    target_bucket_location='oss-cn-hangzhou',
    # Tentukan nama peran RAM yang diotorisasi untuk mereplikasi data. Peran tersebut harus memiliki izin untuk menjalankan SRR pada bucket sumber dan menulis ke bucket tujuan.
    sync_role_name='roleNameTest',
)

# Tentukan awalan objek yang akan direplikasi. Hanya objek dengan awalan yang ditentukan yang direplikasi ke bucket tujuan.
# prefix_list = ['prefix1', 'prefix2']
# Konfigurasikan aturan replikasi data.
# replica_config = ReplicationRule(
     # prefix_list=prefix_list,
     # Replikasi operasi pembuatan dan pembaruan objek dari bucket sumber ke bucket tujuan.
     # action_list=[ReplicationRule.PUT],
     # Tentukan bucket tujuan.
     # target_bucket_name='dest-bucket',
     # Tentukan wilayah tempat bucket tujuan berada.
     # target_bucket_location='yourTargetBucketLocation',
     # Secara default, data historis direplikasi. Atur parameter ini ke False untuk menonaktifkan replikasi data historis.
     # is_enable_historical_object_replication=False,    
     # Replikasi objek yang dienkripsi menggunakan SSE-KMS.
     # sse_kms_encrypted_objects_status=ReplicationRule.ENABLED
     # Tentukan ID CMK yang digunakan untuk SSE-KMS. Jika Anda memilih untuk mereplikasi objek yang dienkripsi menggunakan SSE-KMS, Anda harus menentukan parameter ini.
     # replica_kms_keyid='9468da86-3509-4f8d-a61e-6eab1eac****',
  #)

# Aktifkan replikasi data.
bucket.put_bucket_replication(replica_config)

Go

package main

import (
	"encoding/xml"
	"fmt"
	"github.com/aliyun/aliyun-oss-go-sdk/oss"
	"os"
)

func HandleError(err error) {
	fmt.Println("Error:", err)
	os.Exit(-1)
}

// Aktifkan replikasi data.
func main() {
	// Peroleh kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// Buat instance OSSClient.
	// Atur yourEndpoint ke endpoint wilayah bucket. Misalnya, untuk wilayah Tiongkok (Hangzhou), atur endpoint menjadi https://oss-cn-hangzhou.aliyuncs.com.
	client, err := oss.New("yourEndpoint", "", "", oss.SetCredentialsProvider(&provider))
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}
	// Tentukan nama bucket sumber.
	srcbucketName := "yourSrcBucket"
	// Tentukan nama bucket tujuan.
	destBucketName := "yourDestBucket"
	// Tentukan awalan objek yang akan direplikasi, seperti prefix_1 dan prefix_2. Hanya objek dengan awalan ini yang direplikasi.
	// Jika Anda ingin mereplikasi semua objek di bucket sumber, jangan atur awalan.
	prefix1 := "prefix_1"
	prefix2 := "prefix_2"
	// Tentukan ID CMK yang digunakan untuk SSE-KMS. Jika status diatur ke Enabled, Anda harus menentukan parameter ini.
	keyId := "c4d49f85-ee30-426b-a5ed-95e9****"
	// Tentukan apakah akan mereplikasi objek yang dienkripsi menggunakan SSE-KMS.
	source := "Enabled"
	prefixSet := oss.ReplicationRulePrefix{Prefix: []*string{&prefix1, &prefix2}}	
	reqReplication := oss.PutBucketReplication{
		Rule: []oss.ReplicationRule{
			{
				PrefixSet: &prefixSet,
				//Replikasi operasi pembuatan dan pembaruan objek dari bucket sumber ke bucket tujuan.
				Action: "PUT",				
				Destination: &oss.ReplicationRuleDestination{
					Bucket: destBucketName,
					// Tentukan wilayah bucket tujuan. Bucket sumber dan tujuan harus berada di wilayah yang sama.
					Location: "oss-cn-hangzhou",					
				},
				// Secara default, data historis direplikasi. Atur parameter ini ke "disabled" untuk menonaktifkan replikasi data historis.
				HistoricalObjectReplication: "disabled",
				// Tentukan nama peran RAM yang diotorisasi untuk mereplikasi data. Peran tersebut harus memiliki izin untuk menjalankan SRR pada bucket sumber dan menulis ke bucket tujuan.
				SyncRole:                "yourRole",
				EncryptionConfiguration: &keyId,
				SourceSelectionCriteria: &source,
			},
		},
	}

	xmlBody, err := xml.Marshal(reqReplication)
	if err != nil {
		HandleError(err)
	}
	err = client.PutBucketReplication(srcbucketName, string(xmlBody))

	if err != nil {
		HandleError(err)
	}

	fmt.Println("Put Bucket Replication Success!")
}

ossutil

Untuk informasi tentang cara mengaktifkan SRR menggunakan ossutil, lihat put-bucket-replication.

REST API

Untuk kasus penggunaan lanjutan, Anda dapat langsung memanggil operasi REST API. Hal ini memerlukan perhitungan tanda tangan permintaan secara manual dalam kode Anda. Untuk informasi selengkapnya, lihat PutBucketReplication.