Halaman ini menjelaskan cara membuat, melihat, mencantumkan, membatalkan, dan menghapus tugas operasi batch penyimpanan. Panduan ini juga menjelaskan cara menggunakan Cloud Audit Logs dengan tugas operasi batch penyimpanan.
Sebelum memulai
Untuk membuat dan mengelola tugas operasi batch penyimpanan, selesaikan langkah-langkah di bagian berikut.
Mengonfigurasi Storage Intelligence
Untuk membuat dan mengelola tugas operasi batch penyimpanan, konfigurasi Storage Intelligence di bucket tempat Anda ingin menjalankan tugas.
Menyiapkan Google Cloud CLI
Anda harus menggunakan Google Cloud CLI versi 516.0.0 atau yang lebih baru.
Menetapkan project default
Tetapkan project tempat Anda ingin membuat tugas operasi batch penyimpanan.
gcloud config set project PROJECT_ID
dengan PROJECT_ID adalah ID project Anda.
Aktifkan API
Aktifkan Storage Batch Operations API.
gcloud services enable storagebatchoperations.googleapis.com
Membuat manifes
Untuk menggunakan manifes untuk pemilihan objek, buat manifes.
Membuat tugas operasi batch penyimpanan
Bagian ini menjelaskan cara membuat tugas operasi batch penyimpanan.
Untuk mendapatkan izin yang
diperlukan guna membuat tugas operasi batch penyimpanan,
minta administrator untuk memberi Anda peran IAM
Storage Admin (roles/storage.admin)
di project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membuat tugas operasi batch penyimpanan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat tugas operasi batch penyimpanan:
-
Buat tugas operasi batch penyimpanan:
storagebatchoperations.jobs.create -
Jalankan tugas operasi batch penyimpanan objek penghapusan:
storage.objects.delete -
Jalankan tugas operasi batch update metadata objek, update kunci enkripsi yang dikelola pelanggan objek, update konteks objek, atau update penyimpanan penangguhan objek:
storage.objects.update
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Command line
-
Di konsol Google Cloud , aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.
(Opsional) Jalankan tugas uji coba. Sebelum menjalankan tugas apa pun, sebaiknya jalankan tugas dalam mode uji coba untuk memverifikasi kriteria pemilihan objek dan memeriksa apakah ada error. Uji coba tidak mengubah objek apa pun.
Di lingkungan pengembangan Anda, jalankan perintah
gcloud storage batch-operations jobs createdengan flag--dry-run:gcloud storage batch-operations jobs create DRY_RUN_JOB_NAME\ --bucket=BUCKET_NAME OBJECT_SELECTION_FLAG JOB_TYPE_FLAG\ --dry-run
Uji coba menggunakan parameter yang sama dengan tugas sebenarnya. Untuk mengetahui detailnya, lihat deskripsi parameter.
Untuk melihat hasil uji coba, lihat Mendapatkan detail tugas operasi batch penyimpanan.
Setelah uji coba berhasil, jalankan perintah
gcloud storage batch-operations jobs create.gcloud storage batch-operations jobs create JOB_NAME\ --bucket=BUCKET_NAME OBJECT_SELECTION_FLAG JOB_TYPE_FLAG
Dengan parameter sebagai berikut:
DRY_RUN_JOB_NAMEadalah name tugas uji coba operasi batch penyimpanan.JOB_NAMEadalah nama tugas operasi batch penyimpanan.BUCKET_NAMEadalah nama bucket yang berisi satu atau beberapa objek yang ingin Anda proses.OBJECT_SELECTION_FLAGadalah salah satu tanda berikut yang harus Anda tentukan:--included-object-prefixes: Tentukan satu atau beberapa awalan objek. Contoh:- Untuk mencocokkan satu awalan, gunakan:
--included-object-prefixes='prefix1'. - Untuk mencocokkan beberapa awalan, gunakan daftar awalan yang dipisahkan koma:
--included-object-prefixes='prefix1,prefix2'. - Untuk menyertakan semua objek, gunakan awalan kosong:
--included-object-prefixes=''.
- Untuk mencocokkan satu awalan, gunakan:
--manifest-location: Tentukan lokasi manifest. Misalnya,gs://bucket_name/path/object_name.csv.
JOB_TYPE_FLAGadalah salah satu tanda berikut yang harus Anda tentukan, bergantung pada jenis tugas.--delete-object: Menghapus satu atau beberapa objek.Jika Pembuatan Versi Objek diaktifkan untuk bucket, objek saat ini akan bertransisi ke status tidak aktif, dan objek tidak aktif akan dilewati.
Jika Pembuatan Versi Objek dinonaktifkan untuk bucket, operasi penghapusan akan menghapus objek secara permanen dan melewati objek lama.
--enable-permanent-object-deletion: Menghapus objek secara permanen. Gunakan flag ini bersama dengan flag--delete-objectuntuk menghapus objek aktif dan lama secara permanen dalam bucket, terlepas dari konfigurasi pembuatan versi objek bucket.--rewrite-object: Perbarui kunci enkripsi yang dikelola pelanggan untuk satu atau beberapa objek.--put-object-event-based-hold: Mengaktifkan penangguhan objek berbasis peristiwa.--no-put-object-event-based-hold: Menonaktifkan penangguhan objek berbasis peristiwa.--put-object-temporary-hold: Aktifkan penangguhan objek sementara.--no-put-object-temporary-hold: Menonaktifkan penangguhan objek sementara.Contoh berikut menunjukkan cara membuat tugas untuk mengupdate metadata
Content-Languagemenjadienuntuk semua objek yang tercantum dimanifest.csv.gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --put-metadata=Content-Language=en
--put-metadata: Perbarui metadata objek. Tentukan key-value pair untuk metadata objek yang ingin Anda ubah. Anda dapat menentukan satu atau beberapa pasangan nilai kunci sebagai daftar. Anda juga dapat menetapkan konfigurasi retensi objek menggunakan tanda--put-metadata. Untuk melakukannya, tentukan parameter retensi menggunakan kolomRetain-UntildanRetention-Mode. Misalnya,gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --put-metadata=Retain-Until=RETAIN_UNTIL_TIME, Retention-Mode=RETENTION_MODE
Dengan:
RETAIN_UNTIL_TIMEadalah tanggal dan waktu, dalam format RFC 3339, hingga objek dipertahankan. Contohnya,2025-10-09T10:30:00Z. Untuk menetapkan konfigurasi retensi pada objek, Anda harus mengaktifkan retensi pada bucket yang berisi objek tersebut.RETENTION_MODEadalah mode retensi, baikUnlockedmaupunLocked.Saat Anda mengirim permintaan untuk memperbarui kolom
RETENTION_MODEdanRETAIN_UNTIL_TIME, pertimbangkan hal berikut:- Untuk memperbarui konfigurasi retensi objek, Anda harus memberikan nilai yang tidak kosong untuk kolom
RETENTION_MODEdanRETAIN_UNTIL_TIME; jika hanya menetapkan salah satu kolom, akan terjadi errorINVALID_ARGUMENT. - Anda dapat memperluas nilai
RETAIN_UNTIL_TIMEuntuk objek dalam modeUnlockedatauLocked. - Retensi objek harus dalam mode
Unlockedjika Anda ingin melakukan hal berikut:- Kurangi nilai
RETAIN_UNTIL_TIME. - Hapus konfigurasi retensi. Untuk menghapus konfigurasi, Anda harus memberikan nilai kosong untuk kolom
RETENTION_MODEdanRETAIN_UNTIL_TIME.
- Kurangi nilai
- Jika Anda menghilangkan kolom
RETENTION_MODEdanRETAIN_UNTIL_TIME, konfigurasi retensi tidak akan berubah.
- Untuk memperbarui konfigurasi retensi objek, Anda harus memberikan nilai yang tidak kosong untuk kolom
--clear-all-object-custom-contexts: Menghapus semua konteks objek yang ada.Contoh berikut menunjukkan cara membuat tugas untuk menghapus semua konteks objek untuk objek yang tercantum dalam
manifest.csv:gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --clear-all-object-custom-contexts
--clear-object-custom-contexts: Menghapus konteks dengan kunci tertentu. Anda juga dapat memperbarui konteks tertentu sekaligus menghapus kunci menggunakan flag--clear-object-custom-contextsdan salah satu flag berikut:--update-object-custom-contexts: Berikan peta pasangan nilai kunci.Contoh berikut menunjukkan cara membuat tugas untuk menghapus konteks dengan kunci
temp-iddan memperbarui atau menyisipkan konteks dengan kunciproject-iddancost-centeruntuk semua objek yang tercantum dimanifest.csv:gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --clear-object-custom-contexts=temp-id \ --update-object-custom-contexts=project-id=project-A,cost-center=engineering
--update-object-custom-contexts-file: Berikan jalur ke file JSON atau YAML dengan pasangan nilai kunci.Contoh berikut menunjukkan cara membuat tugas untuk memproses objek yang ditentukan dalam
manifest.csv. Tugas ini melakukan hal berikut:Menghapus semua konteks dengan kunci
temp-id.Memperbarui konteks yang ada dengan kunci
project-iddancost-centeryang ditentukan dalam file/tmp/context_updates.json.
gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --clear-object-custom-contexts=temp-id \ --update-object-custom-contexts-file=/tmp/context_updates.json
Dengan
/tmp/context_updates.jsonberisi konteks objek berikut:{ "project-id": {"value": "project-A"}, "cost-center": {"value": "engineering"} }
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.
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.
REST API
JSON API
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Buat file JSON yang berisi setelan untuk tugas operasi batch penyimpanan. Berikut adalah setelan umum yang dapat disertakan:
{ "Description": "JOB_DESCRIPTION", "BucketList": { "Buckets": [ { "Bucket": "BUCKET_NAME", "Manifest": { "manifest_location": "MANIFEST_LOCATION" } "PrefixList": { "include_object_prefixes": "OBJECT_PREFIXES" } } ] }, "DeleteObject": { "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE } "RewriteObject": { "kms_key":"KMS_KEY_VALUE" } "PutMetadata":{ "METADATA_KEY": "METADATA_VALUE", ..., "objectRetention": { "retainUntilTime": "RETAIN_UNTIL_TIME", "mode": "RETENTION_MODE" } } "PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE }, "updateObjectCustomContext": { "customContextUpdates": { "updates": { "CONTEXT_KEY": { "value": "CONTEXT_VALUE" } }, "keysToClear": ["CONTEXT_KEY_TO_CLEAR"] }, "clearAll": CLEAR_ALL_VALUE }, "dryRun": DRY_RUN_VALUE }
Dengan:
JOB_NAMEadalah nama tugas operasi batch penyimpanan.JOB_DESCRIPTIONadalah deskripsi tugas operasi batch penyimpanan.BUCKET_NAMEadalah nama bucket yang berisi satu atau beberapa objek yang ingin Anda proses.Untuk menentukan objek yang ingin Anda proses, gunakan salah satu atribut berikut dalam file JSON:
MANIFEST_LOCATIONadalah lokasi manifes. Misalnya,gs://bucket_name/path/object_name.csv.OBJECT_PREFIXESadalah daftar yang dipisahkan koma yang berisi satu atau beberapa awalan objek. Untuk mencocokkan semua objek, gunakan daftar kosong.
Bergantung pada tugas yang ingin Anda proses, tentukan salah satu opsi berikut:
Menghapus objek:
"DeleteObject": { "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE }
Dengan
OBJECT_DELETION_VALUEadalahTRUEuntuk menghapus objek.Memperbarui Kunci enkripsi yang dikelola pelanggan untuk objek:
"RewriteObject": { "kms_key": KMS_KEY_VALUE }
Dengan
KMS_KEY_VALUEadalah nilai kunci KMS objek yang ingin Anda perbarui.Perbarui metadata objek:
"PutMetadata": { "METADATA_KEY": "METADATA_VALUE", ..., "objectRetention": { "retainUntilTime": "RETAIN_UNTIL_TIME", "mode": "RETENTION_MODE" } }
Dengan:
METADATA_KEY/VALUEadalah key-value pair metadata objek. Anda dapat menentukan satu atau beberapa pasangan.RETAIN_UNTIL_TIMEadalah tanggal dan waktu, dalam format RFC 3339, hingga objek dipertahankan. Contoh,2025-10-09T10:30:00Z. Untuk menetapkan konfigurasi retensi pada objek, Anda harus mengaktifkan retensi pada bucket yang berisi objek tersebut.RETENTION_MODEadalah mode retensi, baikUnlockedmaupunLocked.Saat Anda mengirim permintaan untuk memperbarui kolom
RETENTION_MODEdanRETAIN_UNTIL_TIME, pertimbangkan hal berikut:- Untuk memperbarui konfigurasi retensi objek, Anda harus memberikan nilai yang tidak kosong untuk kolom
RETENTION_MODEdanRETAIN_UNTIL_TIME; jika hanya menetapkan salah satu kolom, akan terjadi errorINVALID_ARGUMENT. - Anda dapat memperluas nilai
RETAIN_UNTIL_TIMEuntuk objek dalam modeUnlockedatauLocked. - Retensi objek harus dalam mode
Unlockedjika Anda ingin melakukan hal berikut:- Kurangi nilai
RETAIN_UNTIL_TIME. - Hapus konfigurasi retensi. Untuk menghapus konfigurasi, Anda harus memberikan nilai kosong untuk kolom
RETENTION_MODEdanRETAIN_UNTIL_TIME.
- Kurangi nilai
- Jika Anda menghilangkan kolom
RETENTION_MODEdanRETAIN_UNTIL_TIME, konfigurasi retensi tidak akan berubah.
- Untuk memperbarui konfigurasi retensi objek, Anda harus memberikan nilai yang tidak kosong untuk kolom
Memperbarui penangguhan objek:
"PutObjectHold": { "temporary_hold": TEMPORARY_HOLD_VALUE, "event_based_hold": EVENT_BASED_HOLD_VALUE }
Dengan:
TEMPORARY_HOLD_VALUEdigunakan untuk mengaktifkan atau menonaktifkan penampungan objek sementara. Nilai1akan mengaktifkan penangguhan, dan nilai2akan menonaktifkan penangguhan.EVENT_BASED_HOLD_VALUEdigunakan untuk mengaktifkan atau menonaktifkan penangguhan objek berbasis peristiwa. Nilai1akan mengaktifkan penangguhan, dan nilai2akan menonaktifkan penangguhan.
Perbarui konteks objek:
"updateObjectCustomContext": { "customContextUpdates": { "updates": { "CONTEXT_KEY": { "value": "CONTEXT_VALUE" } }, "keysToClear": ["CONTEXT_KEY_TO_CLEAR"] }, "clearAll": CLEAR_ALL_VALUE }
Dengan:
CONTEXT_KEYadalah kunci konteks objek yang akan disisipkan atau diperbarui.CONTEXT_VALUEadalah nilai konteks objek untuk kunci.CONTEXT_KEY_TO_CLEARadalah kunci yang akan dihapus.CLEAR_ALL_VALUEdisetel ketrueuntuk menghapus semua konteks objek yang ada.
DRY_RUN_VALUEadalah nilai boolean opsional. Tetapkan ketrueuntuk menjalankan tugas dalam mode uji coba. Nilai defaultnya adalahfalse.
Gunakan
cURLuntuk memanggil JSON API dengan permintaanPOSTtugas operasi batch penyimpanan:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs?job_id=JOB_NAME"
Dengan:
JSON_FILE_NAMEadalah nama file JSON.PROJECT_IDadalah ID atau nomor project. Contoh,my-project.JOB_NAMEadalah nama tugas operasi batch penyimpanan.
Mendapatkan detail tugas operasi batch penyimpanan
Bagian ini menjelaskan cara mendapatkan detail tugas operasi batch penyimpanan.
Untuk mendapatkan izin yang
diperlukan guna melihat tugas operasi batch penyimpanan,
minta administrator untuk memberi Anda peran IAM
Storage Admin (roles/storage.admin)
di project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk melihat tugas operasi batch penyimpanan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk melihat tugas operasi batch penyimpanan:
-
Melihat tugas operasi batch penyimpanan:
storagebatchoperations.jobs.get,storagebatchoperations.operations.get
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Command line
-
Di konsol Google Cloud , aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.
Di lingkungan pengembangan Anda, jalankan perintah
gcloud storage batch-operations jobs describe.gcloud storage batch-operations jobs describe JOB_ID
Dengan:
JOB_IDadalah nama tugas operasi batch penyimpanan.Saat Anda melakukan uji coba tugas, output akan mencakup kolom berikut:
totalObjectCount: Menampilkan jumlah objek yang cocok dengan kriteria pilihan Anda.errorSummaries: Mencantumkan error yang ditemukan selama uji coba, seperti masalah izin atau konfigurasi yang tidak valid.totalBytesFound: Jika Anda menggunakan awalan objek untuk pemilihan objek, maka tugas juga akan menampilkan total ukuran objek yang akan terpengaruh.
Jika berhasil, respons untuk tugas uji coba akan terlihat mirip dengan contoh berikut:
bucketList: buckets: - bucket: my-bucket manifest: manifestLocation: gs://my-bucket/manifest.csv completeTime: '2025-10-27T23:56:32Z' counters: totalObjectCount: '4' createTime: '2025-10-27T23:56:22.243528568Z' dryRun: true name: projects/my-project/locations/global/jobs/my-job putMetadata: contentLanguage: en state: SUCCEEDEDRespons tugas yang berhasil akan menghilangkan kolom
dryRundan menampilkan metrik berikut di kolomcounters:- Total objek yang ditemukan.
- Total byte yang ditemukan saat menggunakan awalan objek.
- Transformasi objek yang berhasil.
- Transformasi objek gagal, jika berlaku.
- Konteks objek yang dibuat, jika ada.
- Konteks objek dihapus, jika berlaku.
- Konteks objek diperbarui, jika berlaku. Penghitung ini melacak pembaruan yang dilakukan pada kunci konteks yang ada.
Respons untuk eksekusi tugas sebenarnya akan terlihat mirip dengan contoh berikut:
bucketList: buckets: - bucket: my-bucket manifest: manifestLocation: gs://my-bucket/manifest.csv completeTime: '2025-10-31T20:19:42.357826655Z' counters: succeededObjectCount: '4' totalObjectCount: '4' createTime: '2025-10-31T20:19:22.016517077Z' name: projects/my-project/locations/global/jobs/my-job putMetadata: contentLanguage: en state: SUCCEEDED
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.
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.
REST API
JSON API
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Gunakan
cURLuntuk memanggil JSON API dengan permintaanGETtugas operasi batch penyimpanan:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Dengan:
PROJECT_IDadalah ID atau nomor project. Contoh,my-project.JOB_IDadalah nama tugas operasi batch penyimpanan.
Saat Anda melakukan uji coba tugas, output akan mencakup kolom berikut:
totalObjectCount: Menampilkan jumlah objek yang cocok dengan kriteria pilihan Anda.errorSummaries: Mencantumkan error yang ditemukan selama uji coba, seperti masalah izin atau konfigurasi yang tidak valid.totalBytesFound: Jika Anda menggunakan awalan objek untuk pemilihan objek, maka tugas juga akan menampilkan total ukuran objek yang akan terpengaruh.
Jika berhasil, respons untuk uji coba akan terlihat mirip dengan contoh berikut:
{ "name": "projects/my-project/locations/global/jobs/my-job", "description": "dry-run-job", "deleteObject": { "permanent_object_deletion_enabled": true }, "createTime": "2025-10-28T00:26:53.900882459Z", "completeTime": "2025-10-28T00:27:04.101663275Z", "counters": { "totalObjectCount": "5", "totalBytesFound": "203" }, "state": "SUCCEEDED", "bucketList": { "buckets": [ { "bucket": "my-bucket", "prefixList": { "includedObjectPrefixes": [ "" ] } } ] }, "dryRun": true }
Respons tugas yang berhasil akan menghilangkan kolom dryRun dan menampilkan metrik berikut di kolom counters:
- Total objek yang ditemukan.
- Total byte yang ditemukan saat menggunakan awalan objek.
- Transformasi objek yang berhasil.
- Transformasi objek gagal, jika berlaku.
- Konteks objek yang dibuat, jika ada.
- Konteks objek dihapus, jika berlaku.
Konteks objek diperbarui, jika berlaku. Penghitung ini melacak pembaruan yang dilakukan pada kunci konteks yang ada.
Respons untuk eksekusi tugas sebenarnya akan terlihat mirip dengan contoh berikut:
{ "name": "my-job", "description": "my-delete-objects-job", "deleteObject": { "permanent_object_deletion_enabled": true }, "createTime": "2025-10-28T00:26:53.900882459Z", "completeTime": "2025-10-28T00:27:04.101663275Z", "counters": { "succeededObjectCount: "5" "totalObjectCount": "5", "totalBytesFound": "203" }, "state": "SUCCEEDED", "bucketList": { "buckets": [ { "bucket": "my-bucket", "prefixList": { "includedObjectPrefixes": [ "" ] } } ] } }
Mencantumkan tugas operasi batch penyimpanan
Bagian ini menjelaskan cara mencantumkan tugas operasi batch penyimpanan dalam project.
Untuk mendapatkan izin yang
diperlukan guna membuat daftar tugas operasi batch penyimpanan,
minta administrator untuk memberi Anda peran IAM
Storage Admin (roles/storage.admin)
di project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk mencantumkan tugas operasi batch penyimpanan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk mencantumkan tugas operasi batch penyimpanan:
-
Mencantumkan tugas operasi batch penyimpanan:
storagebatchoperations.jobs.list,storagebatchoperations.operations.list
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Command line
-
Di konsol Google Cloud , aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.
Di lingkungan pengembangan Anda, jalankan perintah
gcloud storage batch-operations jobs list.gcloud storage batch-operations jobs list
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.
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.
REST API
JSON API
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Gunakan
cURLuntuk memanggil JSON API dengan permintaanLISTtugas operasi batch penyimpanan:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs"
Dengan:
PROJECT_IDadalah ID atau nomor project. Contoh,my-project.
Membatalkan tugas operasi batch penyimpanan
Bagian ini menjelaskan cara membatalkan tugas operasi batch penyimpanan dalam project.
Untuk mendapatkan izin yang
diperlukan guna membatalkan tugas operasi batch penyimpanan,
minta administrator untuk memberi Anda peran IAM
Storage Admin (roles/storage.admin)
di project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membatalkan tugas operasi batch penyimpanan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membatalkan tugas operasi batch penyimpanan:
-
Membatalkan tugas operasi batch penyimpanan:
storagebatchoperations.jobs.cancel,storagebatchoperations.operations.cancel
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Command line
-
Di konsol Google Cloud , aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.
Di lingkungan pengembangan Anda, jalankan perintah
gcloud storage batch-operations jobs cancel.gcloud storage batch-operations jobs cancel JOB_ID
Dengan:
JOB_IDadalah nama tugas operasi batch penyimpanan.
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.
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.
REST API
JSON API
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Gunakan
cURLuntuk memanggil JSON API dengan permintaanCANCELtugas operasi batch penyimpanan:curl -X CANCEL \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Dengan:
PROJECT_IDadalah ID atau nomor project. Contoh,my-project.JOB_IDadalah nama tugas operasi batch penyimpanan.
Menghapus tugas operasi batch penyimpanan
Bagian ini menjelaskan cara menghapus tugas operasi batch penyimpanan.
Untuk mendapatkan izin yang
diperlukan guna menghapus tugas operasi batch penyimpanan,
minta administrator untuk memberi Anda peran IAM
Storage Admin (roles/storage.admin)
di project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk menghapus tugas operasi batch penyimpanan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menghapus tugas operasi batch penyimpanan:
-
Menghapus tugas operasi batch penyimpanan:
storagebatchoperations.jobs.delete
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Command line
-
Di konsol Google Cloud , aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.
Di lingkungan pengembangan Anda, jalankan perintah
gcloud storage batch-operations jobs delete.gcloud storage batch-operations jobs delete JOB_ID
Dengan:
JOB_IDadalah nama tugas operasi batch penyimpanan.
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.
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.
REST API
JSON API
Instal dan lakukan inisialisasigcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Gunakan
cURLuntuk memanggil JSON API dengan permintaanDELETEtugas operasi batch penyimpanan:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs/JOB_ID"
Dengan:
PROJECT_IDadalah ID atau nomor project. Contoh,my-project.JOB_IDadalah nama tugas operasi batch penyimpanan.
Membuat tugas operasi batch penyimpanan menggunakan set data Storage Insights
Untuk membuat tugas operasi batch penyimpanan menggunakan set data Storage Insights, selesaikan langkah-langkah di bagian berikut.
Untuk mendapatkan izin yang
diperlukan guna membuat tugas operasi batch penyimpanan,
minta administrator untuk memberi Anda peran IAM
Storage Admin (roles/storage.admin)
di project.
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Peran bawaan ini berisi izin yang diperlukan untuk membuat tugas operasi batch penyimpanan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk membuat tugas operasi batch penyimpanan:
-
Buat tugas operasi batch penyimpanan:
storagebatchoperations.jobs.create -
Jalankan tugas operasi batch penyimpanan objek penghapusan:
storage.objects.delete -
Jalankan tugas operasi batch update metadata objek, update kunci enkripsi yang dikelola pelanggan objek, update konteks objek, atau update penyimpanan penangguhan objek:
storage.objects.update
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
Membuat manifes menggunakan set data Storage Insights
Anda dapat membuat manifes untuk tugas operasi batch penyimpanan dengan mengekstrak data dari BigQuery. Untuk melakukannya, Anda harus mengirim kueri ke set data tertaut, mengekspor data yang dihasilkan sebagai file CSV, dan menyimpannya ke bucket Cloud Storage. Kemudian, tugas operasi batch penyimpanan dapat menggunakan file CSV ini sebagai manifesnya.
Menjalankan kueri SQL berikut di BigQuery pada tampilan set data Storage Insights akan mengambil objek yang lebih besar dari 1 KiB yang diberi nama Temp_Training:
EXPORT DATA OPTIONS( uri=`URI`, format=`CSV`, overwrite=OVERWRITE_VALUE, field_delimiter=',') AS SELECT bucket, name, generation FROM DATASET_VIEW_NAME WHERE bucket = BUCKET_NAME AND name LIKE (`Temp_Training%`) AND size > 1024 * 1024 AND snapshotTime = SNAPSHOT_TIME
Dengan:
URIadalah URI ke bucket yang berisi manifes. Contoh,gs://bucket_name/path_to_csv_file/*.csv. Saat Anda menggunakan karakter pengganti*.csv, BigQuery akan mengekspor hasilnya ke beberapa file CSV.OVERWRITE_VALUEadalah nilai boolean. Jika disetel ketrue, operasi ekspor akan menimpa file yang ada di lokasi yang ditentukan.DATASET_VIEW_NAMEadalah nama lengkap tampilan set data Storage Insights dalam formatPROJECT_ID.DATASET_ID.VIEW_NAME. Untuk menemukan nama set data Anda, lihat set data tertaut.Dengan:
PROJECT_IDadalah ID atau nomor project. Contoh,my-project.DATASET_IDadalah nama set data. Contoh,objects-deletion-dataset.VIEW_NAMEadalah nama tampilan set data. Contoh,bucket_attributes_view.
BUCKET_NAMEadalah nama bucket. Contoh,my-bucket.SNAPSHOT_TIMEadalah waktu snapshot tampilan set data Storage Insights. Contoh,2024-09-10T00:00:00Z.
Membuat tugas operasi batch penyimpanan
Untuk membuat tugas operasi batch penyimpanan guna memproses objek yang ada dalam manifes, selesaikan langkah-langkah berikut:
Command line
-
Di konsol Google Cloud , aktifkan Cloud Shell.
Di bagian bawah konsol Google Cloud , sesi Cloud Shell akan dimulai dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi pada sesi.
Di lingkungan pengembangan Anda, jalankan perintah
gcloud storage batch-operations jobs create:gcloud storage batch-operations jobs create \ JOB_ID \ --bucket=SOURCE_BUCKET_NAME \ --manifest-location=URI \ --JOB_TYPE_FLAG
Dengan:
JOB_IDadalah nama tugas operasi batch penyimpanan.SOURCE_BUCKET_NAMEadalah bucket yang berisi satu atau beberapa objek yang ingin Anda proses. Contoh,my-bucket.URIadalah URI ke bucket yang berisi manifes. Contoh,gs://bucket_name/path_to_csv_file/*.csv. Saat Anda menggunakan karakter pengganti*.csv, BigQuery akan mengekspor hasilnya ke beberapa file CSV.JOB_TYPE_FLAGadalah salah satu flag berikut, bergantung pada jenis tugas.--delete-object: Menghapus satu atau beberapa objek.--put-metadata: Perbarui metadata objek. Metadata objek disimpan sebagai pasangan key-value. Tentukan key-value pair untuk metadata yang ingin Anda ubah. Anda dapat menentukan satu atau beberapa pasangan nilai kunci sebagai daftar. Anda juga dapat memberikan konfigurasi retensi objek menggunakan tanda--put-metadata.--rewrite-object: Perbarui kunci enkripsi yang dikelola pelanggan untuk satu atau beberapa objek.--put-object-event-based-hold: Mengaktifkan penangguhan objek berbasis peristiwa.--no-put-object-event-based-hold: Menonaktifkan penangguhan objek berbasis peristiwa.--put-object-temporary-hold: Aktifkan penangguhan objek sementara.--no-put-object-temporary-hold: Menonaktifkan penangguhan objek sementara.
--clear-all-object-custom-contexts: Menghapus semua konteks objek yang ada.Contoh berikut menunjukkan cara membuat tugas untuk menghapus semua konteks objek untuk objek yang tercantum dalam
manifest.csv:gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --clear-all-object-custom-contexts
--clear-object-custom-contexts: Menghapus konteks dengan kunci tertentu. Anda juga dapat memperbarui konteks tertentu sekaligus menghapus kunci menggunakan flag--clear-object-custom-contextsdan salah satu flag berikut:--update-object-custom-contexts: Berikan peta pasangan nilai kunci.Contoh berikut menunjukkan cara membuat tugas untuk menghapus konteks dengan kunci
temp-iddan memperbarui atau menyisipkan konteks dengan kunciproject-iddancost-centeruntuk semua objek yang tercantum dimanifest.csv:gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --clear-object-custom-contexts=temp-id \ --update-object-custom-contexts=project-id=project-A,cost-center=engineering
--update-object-custom-contexts-file: Berikan jalur ke file JSON atau YAML dengan pasangan nilai kunci.Contoh berikut menunjukkan cara membuat tugas untuk memproses objek yang ditentukan dalam
manifest.csv. Tugas ini melakukan hal berikut:Menghapus semua konteks dengan kunci
temp-id.Memperbarui konteks yang ada dengan kunci
project-iddancost-centeryang ditentukan dalam file/tmp/context_updates.json.
gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --clear-object-custom-contexts=temp-id \ --update-object-custom-contexts-file=/tmp/context_updates.json
Dengan
/tmp/context_updates.jsonberisi konteks objek berikut:{ "project-id": {"value": "project-A"}, "cost-center": {"value": "engineering"} }
Integrasi dengan Kontrol Layanan VPC
Anda dapat memberikan lapisan keamanan tambahan untuk resource operasi batch penyimpanan menggunakan Kontrol Layanan VPC. Saat menggunakan Kontrol Layanan VPC, Anda menambahkan project ke perimeter layanan yang melindungi resource dan layanan dari permintaan yang berasal dari luar perimeter. Untuk mempelajari lebih lanjut detail perimeter layanan Kontrol Layanan VPC untuk operasi batch penyimpanan, lihat Produk dan batasan yang didukung.
Menggunakan Cloud Audit Logs untuk tugas operasi batch penyimpanan
Transformasi rekaman tugas operasi batch penyimpanan pada objek Cloud Storage di Cloud Audit Logs Cloud Storage. Anda dapat menggunakan Cloud Audit Logs dengan Cloud Storage untuk melacak transformasi objek yang dilakukan oleh tugas operasi batch penyimpanan. Untuk mengetahui informasi tentang cara mengaktifkan log audit, lihat Mengaktifkan log audit. Dalam entri log audit, kolom metadata callUserAgent
dengan nilai StorageBatchOperations menunjukkan transformasi
operasi batch penyimpanan.
Langkah Berikutnya
- Pelajari set data Storage Insights