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 menulis objek:
- Objek sumber tidak terpengaruh oleh proses komposisi. Jika dimaksudkan untuk bersifat sementara, Anda harus menghapusnya setelah berhasil menyelesaikan komposisi.
- Karena kelas penyimpanan lain dikenai biaya penghapusan awal, Anda harus selalu menggunakan Penyimpanan standar untuk objek sementara.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menulis 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 persis yang
diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
storage.objects.create
storage.objects.delete
- Izin ini hanya diperlukan jika ingin memberi objek yang Anda tulis 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 menyusun 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 peran 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 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 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
.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
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:
<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 dari 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 selanjutnya
- Pelajari penyusunan objek lebih lanjut.
- Pelajari cara menggunakan prasyarat permintaan untuk mencegah kondisi race.