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 berikut saat menyusun objek:
- Objek sumber tidak terpengaruh oleh proses penyusunan. 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
Jika ingin mendapatkan izin yang diperlukan untuk menyusun objek, minta administrator untuk memberi Anda peran IAM Storage Object User (roles/storage.objectUser) di bucket. Peran bawaan ini berisi
izin yang diperlukan untuk menyusun objek. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
storage.objects.createstorage.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.getstorage.objects.list- Izin ini hanya diperlukan jika Anda ingin menggunakan karakter pengganti untuk menyusun objek dengan imbuhan umum tanpa harus mencantumkan setiap objek secara terpisah dalam perintah Google Cloud CLI.
Jika ingin menetapkan konfigurasi retensi untuk objek
yang Anda susun, Anda juga memerlukan izin storage.objects.setRetention. Untuk mendapatkan izin ini, minta administrator Anda untuk memberi Anda peran Storage Object Admin (roles/storage.objectAdmin), bukan peran Storage Object User (roles/storage.objectUser).
Anda juga bisa mendapatkan izin ini dengan peran standar atau peran khusus lainnya.
Untuk mengetahui informasi tentang cara memberikan peran di bucket, lihat Menetapkan dan mengelola kebijakan IAM di 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_NAMEadalah nama bucket yang berisi objek sumber.SOURCE_OBJECT_1danSOURCE_OBJECT_2adalah nama objek sumber yang akan digunakan dalam penyusunan objek.COMPOSITE_OBJECT_NAMEadalah 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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
C#
Untuk mengetahui informasi selengkapnya, lihat Dokumentasi 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.
Go
Untuk mengetahui informasi selengkapnya, lihat Dokumentasi 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.
Java
Untuk mengetahui informasi selengkapnya, lihat Cloud Storage Java API dokumentasi referensi.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Node.js
Untuk mengetahui informasi selengkapnya, lihat Cloud Storage Node.js API dokumentasi referensi.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
PHP
Untuk mengetahui informasi selengkapnya, lihat Cloud Storage PHP API dokumentasi referensi.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Python
Untuk mengetahui informasi selengkapnya, lihat Cloud Storage Python API dokumentasi referensi.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Ruby
Untuk mengetahui informasi selengkapnya, lihat Cloud Storage Ruby API dokumentasi referensi.
Untuk melakukan autentikasi ke Cloud Storage, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Rust
REST API
JSON API
Instal dan lakukan inisialisasi gcloud CLI yang terinstal dan terinisialisasi, 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:
Gunakan
cURLuntuk 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_NAMEadalah nama file yang Anda buat di langkah sebelumnya.BUCKET_NAMEadalah nama bucket yang berisi objek sumber.COMPOSITE_OBJECT_NAMEadalah nama yang Anda berikan ke hasil penyusunan objek.
Jika berhasil, responsnya adalah resource objek untuk objek gabungan yang dihasilkan.
XML API
Instal dan lakukan inisialisasi gcloud CLI yang terinstal dan terinisialisasi, 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_1danSOURCE_OBJECT_2adalah nama objek sumber yang akan digunakan dalam penyusunan objek.
Gunakan
cURLuntuk memanggil XML API dengan permintaan ObjekPUTyang menyertakan 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_NAMEadalah nama file yang Anda buat di langkah sebelumnya.COMPOSITE_OBJECT_CONTENT_TYPEadalah Content-Type objek gabungan yang dihasilkan.BUCKET_NAMEadalah nama bucket yang berisi objek sumber.COMPOSITE_OBJECT_NAMEadalah 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.