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 mungkin dikenai biaya penghapusan awal.
Jika penghapusan sementara atau Pembuatan Versi Objek diaktifkan, menghapus objek sumber setelah penyusunan selesai dapat menyebabkan objek sumber menjadi dihapus sementara atau lama, yang mungkin dikenai biaya penyimpanan tambahan
Untuk meminimalkan penagihan 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
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 yang telah ditentukan 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 di 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_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 penyusunan, 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, 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" }, "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 penyusunan, ataufalsejika Anda ingin mempertahankan objek sumber. Defaultnya adalahfalse.
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.