Mengelola replikasi turbo

Ringkasan

Halaman ini menjelaskan cara menggunakan fitur replikasi turbo pada bucket dual-region.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna menggunakan replikasi turbo, minta administrator Anda untuk memberi Anda peran IAM Storage Admin (roles/storage.admin) di bucket.

Peran bawaan ini berisi izin yang diperlukan untuk menggunakan replikasi turbo. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

  • storage.buckets.get
  • storage.buckets.update
  • storage.buckets.list
    • Izin ini hanya diperlukan jika Anda berencana menggunakan konsolGoogle Cloud untuk menjalankan petunjuk di halaman ini.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui petunjuk tentang cara memberikan peran pada bucket, lihat Menetapkan dan mengelola kebijakan IAM pada bucket.

Menetapkan replikasi turbo

Untuk mengaktifkan atau menonaktifkan replikasi turbo pada bucket yang ada, selesaikan petunjuk berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Buckets Cloud Storage.

    Buka Buckets

  2. Di daftar bucket, klik nama bucket yang diinginkan.

  3. Klik tab Configuration.

  4. Di baris Replikasi, klik Edit.

    Jendela yang muncul menunjukkan apakah Anda akan Mengaktifkan replikasi turbo atau Menonaktifkan replikasi turbo.

  5. Klik Simpan untuk mengonfirmasi setelan baru.

Command line

Gunakan perintah gcloud storage buckets update dengan flag --rpo:

gcloud storage buckets update gs://BUCKET_NAME --rpo=STATE

Dengan keterangan:

  • BUCKET_NAME adalah nama bucket yang relevan. Contoh, my-bucket.

  • STATE adalah ASYNC_TURBO untuk mengaktifkan Replikasi Turbo atau DEFAULT untuk menonaktifkan Replikasi Turbo.

Jika berhasil, responsnya akan terlihat seperti ini:

Updating gs://my-bucket/...
  Completed 1  

Library klien

C++

Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.

Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

Contoh berikut mengaktifkan replikasi turbo pada bucket:

namespace gcs = ::google::cloud::storage;
using ::google::cloud::StatusOr;
[](gcs::Client client, std::string const& bucket_name) {
  auto updated = client.PatchBucket(
      bucket_name,
      gcs::BucketMetadataPatchBuilder().SetRpo(gcs::RpoAsyncTurbo()));
  if (!updated) throw std::move(updated).status();

  std::cout << "RPO is set to 'ASYNC_TURBO' for " << updated->name() << "\n";
}

Contoh berikut mengaktifkan replikasi default pada bucket:

namespace gcs = ::google::cloud::storage;
using ::google::cloud::StatusOr;
[](gcs::Client client, std::string const& bucket_name) {
  auto updated = client.PatchBucket(
      bucket_name,
      gcs::BucketMetadataPatchBuilder().SetRpo(gcs::RpoDefault()));
  if (!updated) throw std::move(updated).status();

  std::cout << "RPO is set to 'default' for " << updated->name() << "\n";
}

C#

Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.

Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

Contoh berikut mengaktifkan replikasi turbo pada bucket:


using System;
using Google.Cloud.Storage.V1;

public class SetRpoAsyncTurboSample
{
    public void SetRpoAsyncTurbo(string bucketName = "your-unique-bucket-name")
    {
        // Enabling turbo replication requires a bucket with dual-region configuration
        var storage = StorageClient.Create();
        var bucket = storage.GetBucket(bucketName);
        bucket.Rpo = "ASYNC_TURBO";
        storage.UpdateBucket(bucket);

        Console.WriteLine($"Turbo replication enabled for bucket {bucketName}");
    }
}

Contoh berikut mengaktifkan replikasi default pada bucket:


using System;
using Google.Cloud.Storage.V1;

public class SetRpoDefaultSample
{
    public void SetRpoDefault(string bucketName = "your-unique-bucket-name")
    {
        var storage = StorageClient.Create();
        var bucket = storage.GetBucket(bucketName);
        bucket.Rpo = "DEFAULT";
        storage.UpdateBucket(bucket);

        Console.WriteLine($"Turbo replication disabled for bucket {bucketName}");
    }
}

Go

Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.

Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

Contoh berikut mengaktifkan replikasi turbo pada bucket:

import (
	"context"
	"fmt"
	"io"
	"time"

	"cloud.google.com/go/storage"
)

// setRPOAsyncTurbo enables turbo replication for the bucket by setting RPO to
// "ASYNC_TURBO". The bucket must be dual-region to use this feature.
func setRPOAsyncTurbo(w io.Writer, bucketName string) error {
	// bucketName := "bucket-name"
	ctx := context.Background()
	client, err := storage.NewClient(ctx)
	if err != nil {
		return fmt.Errorf("storage.NewClient: %w", err)
	}
	defer client.Close()

	ctx, cancel