Halaman ini menunjukkan cara menyusun objek Cloud Storage menjadi satu objek. Permintaan penyusunan membutuhkan antara 1 hingga 32 objek dan membuat objek gabungan baru. Objek gabungan adalah penyambungan objek sumber sesuai urutan yang ditentukan dalam permintaan.
Perhatikan hal-hal berikut saat menyusun objek:
- Objek sumber tidak terpengaruh oleh proses komposisi. Jika dimaksudkan untuk bersifat sementara, Anda harus menghapusnya setelah berhasil menyelesaikan penyusunan.
- Karena kelas penyimpanan lainnya dikenai biaya penghapusan awal, Anda harus selalu menggunakan Standard Storage untuk objek sementara.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan guna membuat objek, minta administrator untuk memberi Anda peran IAM Storage Object User (roles/storage.objectUser
) di bucket. Peran bawaan ini berisi izin yang diperlukan untuk membuat objek. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
storage.objects.create
storage.objects.delete
- Izin ini hanya diperlukan jika Anda ingin memberi objek yang Anda susun nama yang sama dengan objek yang sudah ada di bucket.
storage.objects.get
storage.objects.list
- Izin ini hanya diperlukan jika Anda ingin menggunakan karakter pengganti untuk membuat objek dengan awalan umum tanpa harus mencantumkan setiap objek secara terpisah dalam perintah Google Cloud CLI.
Jika ingin menetapkan konfigurasi retensi untuk objek
yang Anda tulis, Anda juga memerlukan izin storage.objects.setRetention
. Untuk mendapatkan izin ini, minta administrator untuk memberi Anda peran Storage Object Admin (roles/storage.objectAdmin
), bukan Storage Object User (roles/storage.objectUser
).
Anda juga bisa mendapatkan izin ini dengan peran standar atau peran khusus lainnya.
Untuk informasi tentang cara memberikan peran pada bucket, lihat Menggunakan IAM dengan bucket.
Membuat objek gabungan
Command line
Gunakan perintah gcloud storage objects compose
:
gcloud storage objects compose gs://BUCKET_NAME/SOURCE_OBJECT_1 gs://BUCKET_NAME/SOURCE_OBJECT_2 gs://BUCKET_NAME/COMPOSITE_OBJECT_NAME
Dengan keterangan:
BUCKET_NAME
adalah nama bucket yang berisi objek sumber.SOURCE_OBJECT_1
danSOURCE_OBJECT_2
adalah nama objek sumber yang akan digunakan dalam penyusunan objek.COMPOSITE_OBJECT_NAME
adalah nama yang Anda berikan ke hasil penyusunan objek.
Library klien
C++
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C++ API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
C#
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage C# API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Go
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Go API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Java
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Java API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Node.js API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
PHP
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage PHP API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Python API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Ruby
Untuk mengetahui informasi selengkapnya, lihatDokumentasi referensi Cloud Storage Ruby API.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
REST API
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Buat file JSON yang berisi informasi berikut:
{ "sourceObjects": [ { "name": "SOURCE_OBJECT_1" }, { "name": "SOURCE_OBJECT_2" } ], "destination": { "contentType": "COMPOSITE_OBJECT_CONTENT_TYPE" } }
Dengan keterangan:
SOURCE_OBJECT_1
danSOURCE_OBJECT_2
adalah nama objek sumber yang akan digunakan dalam penyusunan objek.COMPOSITE_OBJECT_CONTENT_TYPE
adalah Content-Type dari objek gabungan yang dihasilkan.
Gunakan
cURL
untuk memanggil JSON API dengan permintaan ObjekPOST
:curl -X POST --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/o/COMPOSITE_OBJECT_NAME/compose"
Dengan keterangan:
JSON_FILE_NAME
adalah nama file yang Anda buat di langkah sebelumnya.BUCKET_NAME
adalah nama bucket yang berisi objek sumber.COMPOSITE_OBJECT_NAME
adalah nama yang Anda berikan ke hasil penyusunan objek.
Jika berhasil, responsnya adalah resource objek untuk objek gabungan yang dihasilkan.
XML API
Menginstal dan melakukan inisialisasi gcloud CLI , yang memungkinkan Anda membuat token akses untuk header
Authorization
.Buat file XML yang berisi informasi berikut:
<ComposeRequest> <Component> <Name>SOURCE_OBJECT_1</Name> </Component> <Component> <Name>SOURCE_OBJECT_2</Name> </Component> </ComposeRequest>
Dengan keterangan:
SOURCE_OBJECT_1
danSOURCE_OBJECT_2
adalah nama objek sumber yang akan digunakan dalam penyusunan objek.
Gunakan
cURL
untuk memanggil XML API dengan permintaan ObjekPUT
dan parameter string kuericompose
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: COMPOSITE_OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/BUCKET_NAME/COMPOSITE_OBJECT_NAME?compose"
Dengan keterangan:
XML_FILE_NAME
adalah nama file yang Anda buat di langkah sebelumnya.COMPOSITE_OBJECT_CONTENT_TYPE
adalah Content-Type objek gabungan yang dihasilkan.BUCKET_NAME
adalah nama bucket yang berisi objek sumber.COMPOSITE_OBJECT_NAME
adalah nama yang Anda berikan ke hasil penyusunan objek.
Jika berhasil, isi respons kosong akan ditampilkan.
Langkah berikutnya
- Pelajari penyusunan objek lebih lanjut.
- Pelajari cara menggunakan prasyarat permintaan untuk mencegah kondisi race.