Halaman ini menjelaskan cara menyiapkan fitur Requester Pays dan memberikan contoh pembuatan permintaan pada bucket yang telah mengaktifkan fitur Requester Pays.
Menyiapkan Requester Pays
Bagian berikut menunjukkan cara mengaktifkan dan menonaktifkan Requester Pays, serta cara memeriksa apakah Requester Pays diaktifkan di bucket.
Prasyarat
Anda harus memiliki izin
storage.buckets.get
, yang memungkinkan Anda mendapatkan status pemohon membayar untuk bucket dan juga diperlukan untuk mengaktifkan dan menonaktifkan Pemohon Membayar dengan Konsol Google Cloud atau Google Cloud CLI.Saat mengaktifkan atau menonaktifkan Requester Pays, Anda harus memiliki izin
storage.buckets.update
.Saat menonaktifkan Requster Pays, Anda harus menyertakan project penagihan dalam permintaan Anda atau memiliki izin
resourcemanager.projects.createBillingAssignment
. Lihat Persyaratan penggunaan dan akses Requester Pays untuk informasi selengkapnya.
Izin diberikan kepada pengguna melalui peran. Misalnya, pengguna
yang diberi peran Storage Admin memiliki semua izin storage.buckets
di atas. Peran dapat diberikan pada project yang berisi bucket.
Menetapkan Requester Pays
Untuk mengaktifkan atau menonaktifkan Requester Pays di bucket:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
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.
Klik status Pemohon Membayar saat ini untuk bucket yang diinginkan.
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 Konsol Google Cloud, 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
adalah--requester-pays
untuk mengaktifkan Pemohon Membayar 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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut mengaktifkan Requester Pays di bucket:
Contoh berikut menonaktifkan Requester Pays di bucket:
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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut mengaktifkan Requester Pays di bucket:
Contoh berikut menonaktifkan Requester Pays di bucket:
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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut mengaktifkan Requester Pays di bucket:
Contoh berikut menonaktifkan Requester Pays di bucket:
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut mengaktifkan Requester Pays di bucket:
Contoh berikut menonaktifkan Requester Pays di bucket:
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut mengaktifkan Requester Pays di bucket:
Contoh berikut menonaktifkan Requester Pays di bucket:
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut mengaktifkan Requester Pays di bucket:
Contoh berikut menonaktifkan Requester Pays di bucket:
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut mengaktifkan Requester Pays di bucket:
Contoh berikut menonaktifkan Requester Pays di bucket:
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut mengaktifkan Requester Pays di bucket:
Contoh berikut menonaktifkan Requester Pays di bucket:
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Buat file JSON yang berisi informasi berikut:
{ "billing": { "requesterPays": STATE } }
Dengan STATE adalah
true
ataufalse
.Gunakan
cURL
untuk memanggil JSON API dengan permintaan BucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=billing"
Dengan keterangan:
JSON_FILE_NAME
adalah jalur untuk file JSON yang Anda buat pada Langkah 2.BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.
XML API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Buat file XML yang berisi informasi berikut:
<BillingConfiguration> <RequesterPays>STATE</RequesterPays> </BillingConfiguration>
Dengan STATE adalah
Enabled
atauDisabled
.Gunakan
cURL
untuk memanggil XML API dengan permintaan BucketPUT
dan parameter string kueribilling
.curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
Dengan keterangan:
XML_FILE_NAME
adalah jalur untuk file XML yang Anda buat di Langkah 2.BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.
Memeriksa apakah Requester Pays diaktifkan
Untuk memeriksa apakah Requester Pays diaktifkan di bucket:
Konsol
- Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.
Dalam daftar bucket, status Requester Pays setiap bucket ditemukan di kolom Requester Pays.
Jika diaktifkan, statusnya akan berwarna hijau dan kata On akan muncul.
Command line
Gunakan perintah gcloud storage buckets describe
dengan flag --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(requester_pays)"
Dengan BUCKET_NAME
yang merupakan nama bucket
yang statusnya ingin Anda lihat. Contoh, my-bucket
.
Jika berhasil, responsnya akan terlihat mirip dengan contoh berikut ini:
requester_pays: true
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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Gunakan
cURL
untuk memanggil JSON API dengan permintaan BucketGET
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=billing"
Dengan
BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.
XML API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Gunakan
cURL
untuk memanggil XML API dengan permintaan BucketGET
dan parameter string kueribilling
.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
Dengan
BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.
Mengakses bucket Requester Pays
Contoh berikut menunjukkan cara menyertakan project penagihan sehingga Anda dapat mendownload objek yang disimpan dalam bucket Requester Pays. Gunakan prosedur serupa untuk melakukan permintaan lain di bucket Requester Pays atau pada objek di dalamnya. Lihat Persyaratan akses Requester Pays untuk pertimbangan prasyarat.
Konsol
- Di Konsol Google Cloud, buka halaman Buckets Cloud Storage.
Dalam daftar bucket, klik nama bucket yang berisi objek yang ingin didownload.
Di jendela yang muncul, gunakan menu dropdown untuk memilih project untuk penagihan.
Centang kotak untuk mengonfirmasi bahwa Anda diizinkan untuk menggunakan project yang dipilih untuk tujuan penagihan.
Klik Save.
Download objek seperti biasa Anda lakukan.
Untuk mempelajari cara mendapatkan informasi error mendetail tentang operasi Cloud Storage yang gagal di Konsol Google Cloud, lihat Pemecahan masalah.
Command line
Gunakan flag --billing-project
dalam permintaan Anda:
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME SAVE_TO_LOCATION --billing-project=PROJECT_IDENTIFIER
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang berisi objek yang akan Anda download. Contoh,my-bucket
.OBJECT_NAME
adalah nama objek yang akan Anda download. Contoh,pets/dog.png
.SAVE_TO_LOCATION
adalah jalur lokal tempat Anda akan menyimpan objek. Contoh,Desktop/Images
.PROJECT_IDENTIFIER
adalah ID atau nomor project yang akan ditagih. Contoh,my-project
.
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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
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, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
REST API
JSON API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Dalam permintaan Anda, sertakan parameter string kueri
userProject
yang ditetapkan ke ID project yang akan ditagih:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media&userProject=PROJECT_IDENTIFIER"
Dengan keterangan:
SAVE_TO_LOCATION
adalah lokasi tempat Anda ingin menyimpan objek. Contoh,Desktop/dog.png
.BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.OBJECT_NAME
adalah nama objek berenkode URL yang ingin Anda download. Contohnya,pets/dog.png
, yang berenkode URL menjadipets%2Fdog.png
.PROJECT_IDENTIFIER
adalah ID atau nomor project yang akan ditagih. Contoh,my-project
.
XML API
Telah menginstal dan melakukan inisialisasigcloud CLI, agar dapat membuat token akses untuk header
Authorization
.Atau, Anda dapat membuat token akses menggunakan OAuth 2.0 Playground dan menyertakannya di header
Authorization
.Dalam permintaan Anda, sertakan header
x-goog-user-project
yang ditetapkan ke ID project yang akan ditagih:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: PROJECT_ID" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Dengan keterangan:
PROJECT_ID
adalah ID project yang akan ditagih. Contoh,my-project
.SAVE_TO_LOCATION
adalah lokasi tempat Anda ingin menyimpan objek. Contoh,Desktop/dog.png
.BUCKET_NAME
adalah nama bucket yang relevan. Contoh,my-bucket
.OBJECT_NAME
adalah nama objek berenkode URL yang ingin Anda download. Contohnya,pets/dog.png
, yang berenkode URL menjadipets%2Fdog.png
.
Langkah selanjutnya
- Mempelajari Requester Pays lebih lanjut.
- Menyediakan data untuk publik.