Halaman ini menjelaskan cara melampirkan dan mengelola konteks pada objek Cloud Storage dalam bentuk pasangan nilai kunci.
Mendapatkan peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk membuat dan mengelola konteks objek, minta administrator untuk memberi Anda peran IAM berikut pada objek:
-
Membuat objek dengan konteks:
Storage Object Creator (
roles/storage.objectCreator) -
Melampirkan, memperbarui, melihat, dan menghapus konteks dari objek:
Storage Object User (
roles/storage.objectUser) -
Melihat kunci dan nilai konteks yang dilampirkan ke objek:
Storage Object Viewer (
roles/storage.objectViewer) -
Menghapus konteks objek selama operasi penulisan ulang, penyalinan, dan penyusunan:
Storage Legacy Object Owner (
roles/storage.legacyObjectOwner)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membuat dan mengelola konteks objek. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat dan mengelola konteks objek:
-
Buat objek dengan konteks objek:
-
storage.objects.create -
storage.objects.createContext
-
-
Melampirkan, memperbarui, dan menghapus konteks objek:
-
storage.objects.update -
storage.objects.createContext -
storage.objects.updateContext -
storage.objects.deleteContext
-
-
Konteks pelepasan objek:
storage.objects.dropContexts -
Melihat konteks objek:
-
storage.objects.get -
storage.objects.list
-
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Melampirkan konteks ke objek baru
Lampirkan konteks ke objek saat Anda mengupload objek baru ke bucket Cloud Storage. Setiap konteks terdiri dari kunci dan nilai.
Command line
Untuk melampirkan konteks saat Anda mengupload objek dengan perintah
gcloud storage cp, gunakan flag --custom-contexts:
gcloud storage cp OBJECT_LOCATION gs://DESTINATION_BUCKET_NAME --custom-contexts=KEY=VALUE,...
Dengan:
OBJECT_LOCATIONadalah jalur lokal ke objek Anda. Contohnya,Desktop/employees.txtDESTINATION_BUCKET_NAMEadalah nama bucket tempat Anda mengupload objek. Contoh,my-bucket.KEYadalah kunci konteks yang akan dilampirkan ke objek. Contoh,Department. Anda dapat menentukan beberapa pasangan nilai kunci yang dipisahkan dengan koma.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks. Contoh,Human resources.
Atau, buat file JSON yang berisi konteks yang ingin Anda lampirkan ke objek, dan gunakan tanda --custom-contexts-file:
{ "KEY": { "value": "VALUE" }, ... }
Dengan:
KEYadalah kunci konteks yang akan dilampirkan ke objek. Contoh,Department. Anda dapat menentukan beberapa pasangan nilai kunci.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks. Contoh,Human resources.
Untuk melampirkan konteks saat Anda mengupload direktori dengan perintah
gcloud storage rsync, gunakan
flag --custom-contexts atau flag --custom-contexts-file:
gcloud storage rsync DIRECTORY_LOCATION gs://DESTINATION_BUCKET_NAME --recursive --custom-contexts=KEY=VALUE,...
Dengan:
DIRECTORY_LOCATIONadalah jalur lokal ke direktori Anda. Contoh,~/my_directory.DESTINATION_BUCKET_NAMEadalah nama bucket tempat Anda mengupload direktori. Contoh,my-bucket.KEYadalah kunci konteks yang akan dilampirkan ke objek. Contoh,Department. Anda dapat menentukan beberapa pasangan nilai kunci yang dipisahkan dengan koma.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks. Contoh,Human resources.
JSON API
Untuk melampirkan konteks ke objek saat Anda mengupload objek baru, gunakan salah satu metode berikut:
Sebagai bagian dari metadata objek dalam format JSON, sertakan kolom contexts:
{ "contexts": { "custom": { "KEY": { "value": "VALUE" }, ... } } }
Dengan:
KEYadalah kunci konteks yang akan dilampirkan ke objek. Contoh,Department. Anda dapat menentukan beberapa pasangan nilai kunci dalam objekcustom.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks. Contoh,Human resources.
Melampirkan atau mengubah konteks ke objek yang ada
Anda dapat melampirkan konteks baru ke objek yang ada di bucket Cloud Storage.
Command line
Gunakan perintah gcloud storage objects update.
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME CUSTOM_CONTEXTS_FLAG
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi objek yang konteksnya ingin Anda edit. Contoh,my-bucket.OBJECT_NAMEadalah nama objek. Contoh,employees.txt.CUSTOM_CONTEXTS_FLAGadalah salah satu flag berikut:Untuk mengganti semua konteks yang ada, gunakan
--custom-contexts=KEY=VALUE,...atau--custom-contexts-file=CUSTOM_CONTEXTS_FILEDengan:
KEYadalah kunci konteks yang akan dilampirkan ke objek. Contoh,Department. Anda dapat menentukan beberapa pasangan nilai kunci yang dipisahkan dengan koma.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks. Contoh,Human resources.CUSTOM_CONTEXTS_FILEadalah jalur ke file JSON atau YAML yang berisi konteks yang ingin Anda lampirkan ke objek.
Untuk menghapus semua konteks yang ada, gunakan flag
--clear-custom-contexts.Untuk menambahkan, mengubah, atau menghapus konteks individual, gunakan kombinasi
--update-custom-contexts=KEY=VALUE,...dan--remove-custom-contexts=KEY,...Dengan:
KEYadalah kunci konteks yang ingin Anda lampirkan ke atau hapus dari objek. Contoh,Department.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks yang ingin Anda lampirkan ke atau hapus dari objek. Contoh,Human resources.
Jika berhasil, responsnya akan terlihat seperti contoh berikut:
Patching gs://my-bucket/employees.txt#1560574162144861... Completed 1
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.
Sebelum menjalankan contoh kode, tetapkan variabel
lingkungan GOOGLE_CLOUD_UNIVERSE_DOMAIN ke s3nsapis.fr.
JSON API
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Buat file JSON yang berisi setelan untuk objek, yang harus menyertakan kolom konfigurasi
contextsuntuk objek.Untuk menambahkan, mengubah, atau mengganti konteks yang ada, gunakan format berikut:
{ "contexts": { "custom": { "KEY": { "value": "VALUE" }, ... } } }
Dengan:
KEYadalah kunci konteks yang akan dilampirkan ke objek. Contoh,Department. Anda dapat menentukan beberapa pasangan nilai kunci dalam objekcustom.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks. Contoh,Human resources.
Untuk menghapus semua konteks yang ada, gunakan format berikut:
{ "contexts": { "custom": null } }
Untuk menghapus kunci tertentu dari konteks, gunakan format berikut:
{ "contexts": { "custom": { "KEY": null, ... } } }
Dengan:
KEYadalah kunci konteks yang ingin Anda hapus dari objek. Contoh,Department. Anda dapat menentukan beberapa kunci untuk dihapus dari objekcustom.Gunakan
cURLuntuk memanggil JSON API dengan permintaanPATCHObject:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
Dengan:
JSON_FILE_NAMEadalah jalur ke file yang menyertakan informasi konteks objek.BUCKET_NAMEadalah nama bucket yang berisi objek yang konteksnya ingin Anda edit. Contoh,my-bucket.OBJECT_NAMEadalah nama objek yang dienkode ke URL. Contoh,employees.txt.
Atau, Anda dapat mengganti konteks objek dengan permintaan Objek PUT. Permintaan objek PUT juga menggantikan metadata objek lainnya. Oleh karena itu, sebaiknya jangan gunakan permintaan objek PUT.
Melihat konteks objek
Anda dapat melihat konteks objek dengan mencantumkan metadata objek atau mendeskripsikan objek tertentu.
Command line
Gunakan perintah gcloud storage objects describe.
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi objek yang konteksnya ingin Anda lihat. Contoh,my-bucket.OBJECT_NAMEadalah nama objek yang konteksnya ingin Anda lihat. Misalnya,employees.txt
Jika berhasil, responsnya akan terlihat mirip dengan contoh berikut ini:
bucket: my-bucket
contexts:
Department:
createTime: '2023-01-01T00:00:00.000000+00:00'
type: CUSTOM
updateTime: '2023-01-01T00:00:00.000000+00:00'
value: Human resources
name: employees.txt
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.
Sebelum menjalankan contoh kode, tetapkan variabel
lingkungan GOOGLE_CLOUD_UNIVERSE_DOMAIN ke s3nsapis.fr.
JSON API
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Gunakan
cURLuntuk memanggil JSON API dengan permintaanGETObject:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME"
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi objek yang konteksnya ingin Anda lihat. Contoh,my-bucket.OBJECT_NAMEadalah nama objek yang dienkode ke URL yang konteksnya ingin Anda lihat. Contoh,employees.txt.
Jika berhasil, responsnya akan terlihat mirip dengan contoh berikut ini:
{ "kind": "storage#object", "name": "employees.txt", "bucket": "my-bucket", "contexts": { "custom": { "Department": { "value": "Human resources", "createTime": "2023-01-01T00:00:00.000Z", "updateTime": "2023-01-01T00:00:00.000Z" } } } }
Memfilter objek menurut konteks
Memfilter objek berdasarkan keberadaan kunci konteks objek atau nilai tertentunya. Memfilter objek menurut konteks membantu menemukan dan mengelola grup objek tertentu secara efisien. Untuk mengetahui detailnya, lihat Memfilter objek menurut konteks.
Mengelola konteks objek selama operasi objek
Secara default, Cloud Storage mempertahankan konteks objek saat Anda menyalin, menulis ulang, menyusun, memindahkan, atau memulihkan objek.
Menyalin objek
Secara default, Cloud Storage mempertahankan konteks objek dari objek sumber selama operasi penyalinan, meskipun Anda mengganti metadata lainnya. Untuk mengubah konteks objek selama operasi penyalinan, selesaikan langkah-langkah berikut:
Command line
Perintah gcloud storage cp,
gcloud storage rsync, dan
gcloud storage mv mempertahankan konteks dari objek
sumber secara default. Untuk mengubah konteks selama operasi ini, gunakan salah satu
tanda berikut:
Flag
--custom-contextsuntuk menetapkan konteks baru bagi objek tujuan.Flag
--clear-custom-contextsuntuk mencegah konteks dari objek sumber dilampirkan ke objek tujuan.Kombinasi flag
--update-custom-contextsdan--remove-custom-contextsuntuk mengubah setiap konteks dari objek sumber sebelum melampirkannya ke objek tujuan.
Untuk menetapkan konteks baru saat Anda menyalin objek, gunakan perintah gcloud storage cp:
gcloud storage cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/DESTINATION_OBJECT_NAME --custom-contexts=KEY=VALUE,...
Dengan:
SOURCE_BUCKET_NAMEadalah nama bucket yang berisi objek yang akan disalin. Contoh,my-source-bucket.SOURCE_OBJECT_NAMEadalah nama objek yang akan disalin. Contoh,employees.txt.DESTINATION_BUCKET_NAMEadalah nama bucket tempat objek akan disalin. Contoh,my-destination-bucket.DESTINATION_OBJECT_NAMEadalah nama objek tujuan. Contoh,employees-backup.txt.KEYadalah kunci konteks yang akan dilampirkan ke objek. Contoh,Department. Anda dapat menentukan beberapa pasangan nilai kunci yang dipisahkan dengan koma.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks. Contoh,Human resources.
Untuk menghapus semua konteks dari objek sumber saat Anda menyalin objek, gunakan perintah gcloud storage cp:
gcloud storage cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/DESTINATION_OBJECT_NAME --clear-custom-contexts
Dengan:
SOURCE_BUCKET_NAMEadalah nama bucket yang berisi objek yang akan disalin. Contoh,my-source-bucket.SOURCE_OBJECT_NAMEadalah nama objek yang akan disalin. Contoh,pets/dog.png.DESTINATION_BUCKET_NAMEadalah nama bucket tempat objek akan disalin. Contoh,my-destination-bucket.DESTINATION_OBJECT_NAMEadalah nama objek tujuan. Contoh,pets/cat.png.
Untuk mengubah konteks individual dari objek sumber saat Anda menyalin objek, gunakan perintah gcloud storage cp dengan --update-custom-contexts dan --remove-custom-contexts:
gcloud storage cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/DESTINATION_OBJECT_NAME --update-custom-contexts=KEY=VALUE,... --remove-custom-contexts=KEY,...
Dengan:
SOURCE_BUCKET_NAMEadalah nama bucket yang berisi objek yang akan disalin. Contoh,my-source-bucket.SOURCE_OBJECT_NAMEadalah nama objek yang akan disalin. Contoh,pets/dog.png.DESTINATION_BUCKET_NAMEadalah nama bucket tempat objek akan disalin. Contoh,my-destination-bucket.DESTINATION_OBJECT_NAMEadalah nama objek tujuan. Contoh,pets/cat.png.KEYadalah kunci konteks yang akan dilampirkan ke objek. Contoh,Department. Anda dapat menentukan beberapa pasangan nilai kunci atau kunci yang dipisahkan dengan koma.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks. Contoh,Human resources.
JSON API
Untuk mengganti konteks saat menyalin objek, sertakan properti
contexts.custom dalam isi permintaan:
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Buat file JSON yang berisi konteks untuk dilampirkan ke objek tujuan:
{ "contexts": { "custom": { "KEY": { "value": "VALUE" } } } }
Dengan:
KEYadalah kunci konteks yang akan dilampirkan ke objek. Contoh,Department.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks. Contoh,Human resources.
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.s3nsapis.fr/storage/v1/b/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/copyTo/b/DESTINATION_BUCKET_NAME/o/DESTINATION_OBJECT_NAME"
Dengan:
JSON_FILE_NAMEadalah jalur ke file JSON yang menyertakan informasi konteks objek.SOURCE_BUCKET_NAMEadalah nama bucket yang berisi objek yang akan disalin. Contoh,my-source-bucket.SOURCE_OBJECT_NAMEadalah nama objek yang dienkode ke URL yang akan disalin. Contoh,employees.txt.DESTINATION_BUCKET_NAMEadalah nama bucket tempat objek akan disalin. Contoh,my-destination-bucket.DESTINATION_OBJECT_NAMEadalah nama objek tujuan yang dienkode ke URL. Contoh,employees-backup.txt.
Untuk menghapus semua konteks sumber tanpa memberikan penggantian, gunakan
parameter kueri dropContextGroups=custom dalam permintaan Anda:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/copyTo/b/DESTINATION_BUCKET_NAME/o/DESTINATION_OBJECT_NAME?dropContextGroups=custom"
Untuk mempertahankan konteks, hapus properti contexts.custom dari isi
permintaan dan kecualikan dropContextGroups=custom dalam parameter kueri:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/copyTo/b/DESTINATION_BUCKET_NAME/o/DESTINATION_OBJECT_NAME"
Untuk mengetahui informasi tentang perilaku konteks selama operasi penyalinan, lihat parameter kueri
dropContextGroups.
Menulis ulang objek
Secara default, Cloud Storage mempertahankan konteks objek dari objek sumber selama operasi penulisan ulang, meskipun Anda mengganti metadata lainnya. Untuk mengubah konteks objek selama operasi penulisan ulang, selesaikan langkah-langkah berikut:
Command line
Perintah gcloud storage cp, perintah gcloud storage rsync,
dan perintah gcloud storage mv melakukan penulisan ulang secara otomatis jika
diperlukan, misalnya, saat menyalin objek antara lokasi atau
kelas penyimpanan yang berbeda. gcloud storage cp dan gcloud storage rsync menghasilkan
objek sumber dan tujuan, sedangkan gcloud storage mv membuat objek
tujuan dan menghapus objek sumber. Karena operasi ini membuat objek
baru, Anda juga dapat mengubah atau melampirkan konteks sebagai bagian dari perintah yang sama dengan
menggunakan salah satu tanda berikut:
Flag
--custom-contextsuntuk menetapkan konteks baru bagi objek tujuan.Flag
--clear-custom-contextsuntuk mencegah konteks dari objek sumber dilampirkan ke objek tujuan.Kombinasi flag
--update-custom-contextsdan--remove-custom-contextsuntuk mengubah setiap konteks dari objek sumber sebelum melampirkannya ke objek tujuan.
Untuk menetapkan konteks baru saat Anda menyalin objek, gunakan perintah gcloud storage cp:
gcloud storage cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/DESTINATION_OBJECT_NAME --custom-contexts=KEY=VALUE,...
Dengan:
SOURCE_BUCKET_NAMEadalah nama bucket yang berisi objek yang akan disalin. Contoh,my-source-bucket.SOURCE_OBJECT_NAMEadalah nama objek yang akan disalin. Contoh,employees.txt.DESTINATION_BUCKET_NAMEadalah nama bucket tempat objek akan disalin. Contoh,my-destination-bucket.DESTINATION_OBJECT_NAMEadalah nama objek tujuan. Contoh,employees-backup.txt.KEYadalah kunci konteks yang akan dilampirkan ke objek. Contoh,Department. Anda dapat menentukan beberapa pasangan nilai kunci yang dipisahkan dengan koma.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks. Contoh,Human resources.
Untuk menghapus semua konteks dari objek sumber saat Anda menyalin objek, gunakan perintah gcloud storage cp:
gcloud storage cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/DESTINATION_OBJECT_NAME --clear-custom-contexts
Dengan:
SOURCE_BUCKET_NAMEadalah nama bucket yang berisi objek yang akan disalin. Contoh,my-source-bucket.SOURCE_OBJECT_NAMEadalah nama objek yang akan disalin. Contoh,pets/dog.png.DESTINATION_BUCKET_NAMEadalah nama bucket tempat objek akan disalin. Contoh,my-destination-bucket.DESTINATION_OBJECT_NAMEadalah nama objek tujuan. Contoh,pets/cat.png.
Untuk mengubah konteks individual dari objek sumber saat Anda menyalin objek, gunakan perintah gcloud storage cp dengan --update-custom-contexts dan --remove-custom-contexts:
gcloud storage cp gs://SOURCE_BUCKET_NAME/SOURCE_OBJECT_NAME gs://DESTINATION_BUCKET_NAME/DESTINATION_OBJECT_NAME --update-custom-contexts=KEY=VALUE,... --remove-custom-contexts=KEY,...
Dengan:
SOURCE_BUCKET_NAMEadalah nama bucket yang berisi objek yang akan disalin. Contoh,my-source-bucket.SOURCE_OBJECT_NAMEadalah nama objek yang akan disalin. Contoh,pets/dog.png.DESTINATION_BUCKET_NAMEadalah nama bucket tempat objek akan disalin. Contoh,my-destination-bucket.DESTINATION_OBJECT_NAMEadalah nama objek tujuan. Contoh,pets/cat.png.KEYadalah kunci konteks yang akan dilampirkan ke objek. Contoh,Department. Anda dapat menentukan beberapa pasangan nilai kunci atau kunci yang dipisahkan dengan koma.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks. Contoh,Human resources.
JSON API
Untuk mengganti konteks saat menulis ulang objek, sertakan properti
contexts.custom dalam isi permintaan:
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Buat file JSON yang berisi konteks untuk dilampirkan ke objek tujuan:
{ "contexts": { "custom": { "KEY": { "value": "VALUE" } } } }
Dengan:
KEYadalah kunci konteks yang akan dilampirkan ke objek. Misalnya,Department.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks. Misalnya,Human resources.
Gunakan
cURLuntuk memanggil JSON API dengan permintaanPOSTtulis ulang Object:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.s3nsapis.fr/storage/v1/b/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/rewriteTo/b/DESTINATION_BUCKET_NAME/o/DESTINATION_OBJECT_NAME"
Dengan:
JSON_FILE_NAMEadalah jalur ke file JSON yang mencakup informasi konteks objek.SOURCE_BUCKET_NAMEadalah nama bucket yang berisi objek yang akan ditulis ulang. Contoh,my-source-bucket.SOURCE_OBJECT_NAMEadalah nama objek yang dienkode ke URL untuk ditulis ulang. Contoh,employees.txt.DESTINATION_BUCKET_NAMEadalah nama bucket tempat objek akan ditulis ulang. Contoh,my-destination-bucket.DESTINATION_OBJECT_NAMEadalah nama objek tujuan yang dienkode ke URL. Contoh,employees-backup.txt.
Untuk menghapus semua konteks sumber tanpa memberikan penggantian, gunakan
parameter kueri dropContextGroups=custom dalam permintaan Anda:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/rewriteTo/b/DESTINATION_BUCKET_NAME/o/DESTINATION_OBJECT_NAME?dropContextGroups=custom"
Untuk mempertahankan konteks, hapus
properti contexts.custom dari isi permintaan dan kecualikan
dropContextGroups=custom dalam parameter kueri:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/SOURCE_BUCKET_NAME/o/SOURCE_OBJECT_NAME/rewriteTo/b/DESTINATION_BUCKET_NAME/o/DESTINATION_OBJECT_NAME"
Untuk mengetahui informasi tentang perilaku konteks selama operasi penulisan ulang, lihat parameter kueri
dropContextGroups.
Menyusun objek
Perintah gcloud storage objects compose dan metode JSON API
compose menggabungkan konteks dari objek sumber dan melampirkannya ke
objek tujuan secara default. Cloud Storage menyelesaikan konflik dengan memprioritaskan konteks dari objek sumber yang diproses nanti. Untuk mengetahui informasi selengkapnya tentang perilaku konteks objek selama operasi compose, lihat Konteks objek komposit.
Command line
Untuk menentukan konteks baru untuk objek tujuan saat menyusun objek, gunakan
flag --contexts:
gcloud storage objects compose gs://BUCKET_NAME/SOURCE_OBJECT_1 gs://BUCKET_NAME/SOURCE_OBJECT_2 gs://BUCKET_NAME/DESTINATION_OBJECT_NAME --contexts=KEY=VALUE,...
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi objek sumber dan tempat objek tujuan dibuat. Contoh,my-bucket.SOURCE_OBJECT_1danSOURCE_OBJECT_2adalah objek sumber yang akan disusun.DESTINATION_OBJECT_NAMEadalah nama objek tujuan yang akan dibuat. Contoh,my-composite-object.KEYadalah kunci konteks yang akan dilampirkan ke objek. Contoh,Department. Anda dapat menentukan beberapa pasangan nilai kunci yang dipisahkan dengan koma.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks. Misalnya,Human resources.
Untuk mencegah konteks sumber dilampirkan ke objek komposit, gunakan tanda
--clear-custom-contexts:
gcloud storage objects compose gs://BUCKET_NAME/SOURCE_OBJECT_1 gs://BUCKET_NAME/SOURCE_OBJECT_2 gs://BUCKET_NAME/DESTINATION_OBJECT_NAME --clear-custom-contexts
Dengan:
BUCKET_NAMEadalah nama bucket yang berisi objek sumber dan tempat objek tujuan dibuat. Contoh,my-bucket.SOURCE_OBJECT_1danSOURCE_OBJECT_2adalah objek sumber yang akan disusun.DESTINATION_OBJECT_NAMEadalah nama objek tujuan yang akan dibuat. Contoh,my-composite-object.
JSON API
Untuk menentukan konteks baru untuk objek tujuan saat menyusun objek,
sertakan konteks dalam properti destination isi permintaan.
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Buat file JSON yang berisi isi permintaan:
{ "sourceObjects": [ {"name": "SOURCE_OBJECT_1"}, {"name": "SOURCE_OBJECT_2"} ], "destination": { "contentType": "text/plain", "contexts": { "custom": { "KEY": { "value": "VALUE" } } } } }
Dengan:
SOURCE_OBJECT_1danSOURCE_OBJECT_2adalah objek sumber yang akan disusun.KEYadalah kunci konteks yang akan dilampirkan ke objek. Contoh,Department.VALUEadalah nilai yang akan dikaitkan dengan kunci konteks. Contoh,Human resources.
Gunakan
cURLuntuk memanggil JSON API dengan permintaanPOSTcompose Object:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/o/DESTINATION_OBJECT_NAME/compose"
Dengan:
JSON_FILE_NAMEadalah jalur ke file JSON yang mencakup isi permintaan.BUCKET_NAMEadalah nama bucket yang berisi objek sumber dan tempat objek tujuan akan dibuat. Contoh,my-bucket.DESTINATION_OBJECT_NAMEadalah nama objek tujuan yang akan dibuat. Contoh,my-composite-object.
Untuk mencegah konteks sumber dilampirkan ke objek komposit, gunakan parameter kueri
dropContextGroups=custom dalam permintaan Anda:
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Buat file JSON yang berisi isi permintaan:
{ "sourceObjects": [ {"name": "SOURCE_OBJECT_1"}, {"name": "SOURCE_OBJECT_2"} ], "destination": { "contentType": "text/plain" } }
Dengan:
SOURCE_OBJECT_1danSOURCE_OBJECT_2adalah objek sumber yang akan disusun.
Gunakan
cURLuntuk memanggil JSON API dengan permintaanPOSTcompose Object:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/o/DESTINATION_OBJECT_NAME/compose?dropContextGroups=custom"
Dengan:
JSON_FILE_NAMEadalah jalur ke file JSON yang mencakup isi permintaan.BUCKET_NAMEadalah nama bucket yang berisi objek sumber dan tempat objek tujuan akan dibuat. Contoh,my-bucket.DESTINATION_OBJECT_NAMEadalah nama objek tujuan yang akan dibuat. Contoh,my-composite-object.
Langkah berikutnya
- Pelajari properti konteks objek di dokumentasi Cloud Storage API.