Menggunakan Requester Pays

Ringkasan

Halaman ini menjelaskan cara mengaktifkan dan menonaktifkan Requester Pays, serta cara memeriksa apakah Requester Pays diaktifkan di bucket.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna menyetel dan mengelola fitur Requester Pays, minta administrator untuk memberi Anda peran Storage Admin (roles.storage.Admin) di project yang berisi bucket tersebut.

Peran ini berisi izin yang diperlukan untuk menetapkan dan mengelola Requester Pays. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

  • storage.buckets.get
  • storage.buckets.update
  • resourcemanager.projects.createBillingAssignment
    • Izin ini hanya diperlukan jika Anda tidak memiliki akun penagihan yang akan digunakan saat menonaktifkan fitur Bayar oleh Pemohon. Untuk mengetahui informasi selengkapnya, lihat Persyaratan penggunaan dan akses.

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

Untuk mengetahui petunjuk cara memberikan peran pada project, lihat bagian Memberikan atau mencabut peran.

Menetapkan Requester Pays

Untuk mengaktifkan atau menonaktifkan Requester Pays di bucket:

Konsol

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

    Buka Buckets

  2. Dalam daftar bucket, temukan bucket yang ingin Anda tetapkan dan cari kolom Requester pays.

    Nilai di kolom menunjukkan status saat ini dari Requester Pays untuk bucket tersebut.

  3. Klik status Requester Pays saat ini untuk bucket.

  4. Di jendela yang muncul, klik Turn on atau Turn off, bergantung pada status yang ingin Anda tetapkan untuk Requester Pays.

Jika diaktifkan, balon hijau dan On akan muncul di kolom Requester pays untuk bucket. Jika dinonaktifkan, balon abu-abu dan Off akan muncul di kolom.

Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di Google Cloud konsol, lihat Pemecahan masalah.

Command line

Gunakan perintah gcloud storage buckets update dengan flag yang sesuai:

gcloud storage buckets update gs://BUCKET_NAME FLAG

Dengan keterangan:

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

  • FLAG dapat berupa --requester-pays untuk mengaktifkan Requester Pays atau --no-requester-pays untuk menonaktifkannya.

Jika berhasil, responsnya akan terlihat mirip dengan contoh berikut 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 Requester Pays di bucket:

namespace gcs = ::google::cloud::storage;
using ::google::cloud::StatusOr;
[](gcs::Client client, std::string const& bucket_name) {
  StatusOr<gcs::BucketMetadata> metadata = client.PatchBucket(
      bucket_name,
      gcs::BucketMetadataPatchBuilder().SetBilling(gcs::BucketBilling{true}));
  if (!metadata) throw std::move(metadata).status();

  std::cout << "Billing configuration for bucket " << metadata->name()
            << " is updated. The bucket now";
  if (!metadata->has_billing()) {
    std::cout << " has no billing configuration.\n";
  } else if (metadata->billing().requester_pays) {
    std::cout << " is configured to charge the caller for requests\n";
  } else {
    std::cout << " is configured to charge the project that owns the bucket"
              << " for requests.\n";
  }
}

Contoh berikut menonaktifkan Requester Pays di bucket:

namespace gcs = ::google::cloud::storage;
using ::google::cloud::StatusOr;
[](gcs::Client client, std::string const& bucket_name,
   std::string const& billed_project) {
  StatusOr<gcs::BucketMetadata> metadata = client.PatchBucket(
      bucket_name,
      gcs::BucketMetadataPatchBuilder().SetBilling(gcs::BucketBilling{false}),
      gcs::UserProject(billed_project));
  if (!metadata) throw std::move(metadata).status();

  std::cout << "Billing configuration for bucket " << bucket_name
            << " is updated. The bucket now";
  if (!metadata->has_billing()) {
    std::cout << " has no billing configuration.\n";
  } else if (metadata->billing().requester_pays) {
    std::cout << " is configured to charge the caller for requests\n";
  } else {
    std::cout << " is configured to charge the project that owns the bucket"
              << " for requests.\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 Requester Pays di bucket:


using Google.Apis.Storage.v1.Data;
using Google.Cloud.Storage.V1;
using System;

public class EnableRequesterPaysSample
{
    public Bucket EnableRequesterPays(string bucketName =