Halaman ini menunjukkan cara menyusun beberapa 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.
Objek sumber tidak terpengaruh kecuali jika Anda memutuskan untuk menghapusnya selama proses penyusunan.
Pertimbangan biaya untuk objek sementara
Jika objek sumber dimaksudkan untuk bersifat sementara, perhatikan pertimbangan biaya berikut saat menyusun objek:
Objek sumber tunduk pada durasi penyimpanan minimum, bergantung pada kelas penyimpanan, dan dapat dikenai biaya penghapusan awal.
Jika penghapusan sementara atau Pembuatan Versi Objek diaktifkan, menghapus objek sumber setelah komposisi selesai dapat menyebabkan objek sumber dihapus sementara atau menjadi tidak berlaku, yang dapat menimbulkan biaya penyimpanan tambahan.
Untuk meminimalkan penagihan untuk objek sementara, hapus permanen objek sementara selama proses penyusunan menggunakan opsi
deleteSourceObjects. Objek yang dihapus dengan opsi ini tidak dikenai biaya penghapusan awal. Selain itu, objek yang dihapus dengan opsi ini tidak dipertahankan oleh penghapusan sementara atau Pembuatan Versi Objek karena data dipertahankan dalam objek gabungan.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk menyusun objek, minta
administrator untuk memberi Anda peran IAM Storage Object User (roles/storage.objectUser)
pada bucket. Peran bawaan ini berisi izin yang diperlukan untuk menyusun objek. Untuk melihat izin yang benar-benar diperlukan, luaskan 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 membuat objek dengan imbuhan umum tanpa harus mencantumkan setiap objek secara terpisah di perintah Google Cloud CLI Anda.
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 Storage Object User (roles/storage.objectUser).
Anda juga bisa mendapatkan izin ini dengan peran bawaan atau peran khusus lainnya.
Untuk mengetahui informasi tentang cara memberikan peran pada bucket, lihat Menetapkan dan mengelola kebijakan IAM pada 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_NAMEDengan 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.
Untuk menghapus objek sumber sebagai bagian dari proses penggabungan, sertakan flag --delete-source-objects dalam perintah sebelumnya.
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, 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.
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.
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, 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 mengetahui 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 mengetahui 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 mengetahui 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 mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Rust
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" }, "deleteSourceObjects": DELETE_SOURCE_OBJECTS_BOOLEAN }
Dengan keterangan:
SOURCE_OBJECT_1danSOURCE_OBJECT_2adalah nama objek sumber yang akan digunakan dalam penyusunan objek.COMPOSITE_OBJECT_CONTENT_TYPEadalah Content-Type objek gabungan yang dihasilkan.DELETE_SOURCE_OBJECTS_BOOLEANditetapkan ketruejika Anda ingin menghapus objek sumber sebagai bagian dari proses penggabungan, ataufalsejika Anda ingin mempertahankan objek sumber. Defaultnya adalahfalse.
Gunakan
cURLuntuk memanggil JSON API dengan permintaanPOSTObject: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
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_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:
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.