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.
Mengaktifkan API operasi batch penyimpanan
Aktifkan Storage Batch Operations API.
gcloud services enable storagebatchoperations.googleapis.com
Membuat manifes
Jika Anda ingin menggunakan manifes untuk pemilihan objek, buat file manifes. Penggunaan manifes adalah salah satu cara Anda dapat memilih objek untuk diproses dalam tugas operasi batch penyimpanan.
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.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Konsol
- Di konsol Cloud de Confiance , buka halaman Buckets Cloud Storage.
Dalam daftar bucket, klik nama bucket yang berisi objek yang ingin Anda lakukan operasi batch.
Halaman Detail bucket akan terbuka, dan tab Objek akan dipilih.
- Klik Buat operasi batch.
- Di panel Select operation, pilih jenis operasi:
- Kelola penangguhan objek: Pilih Penangguhan sementara atau Penangguhan berbasis peristiwa. Untuk mengetahui informasi selengkapnya, lihat penangguhan objek.
- Perbarui metadata objek: Untuk menambahkan metadata
objek, lakukan hal berikut:
- Untuk menambahkan metadata kustom, selesaikan langkah-langkah berikut:
- Di kolom Key, masukkan nama kunci.
- Di kolom Nilai, masukkan nilai untuk kunci tersebut.
- Opsional: Klik + Tambahkan item untuk menambahkan lebih banyak pasangan nilai kunci.
- Untuk memperbarui metadata kunci tetap, selesaikan langkah-langkah berikut:
- Untuk meluaskan bagian Update fixed-key metadata, klik panah peluas .
- Dalam daftar Pilih satu atau beberapa metadata yang akan diupdate, pilih item metadata yang akan diedit.
- Untuk menambahkan metadata kustom, selesaikan langkah-langkah berikut:
- Perbarui/Rotasi kunci enkripsi: Untuk menggunakan atau memperbarui kunci
enkripsi untuk objek, lakukan langkah-langkah berikut:
- Di daftar Select a Cloud KMS key, pilih kunci enkripsi yang dikelola pelanggan (CMEK).
- Opsional: Pilih Ganti project untuk memilih kunci dari project lain atau pilih Masukkan kunci secara manual untuk mengisi detail.
- Menghapus objek: Untuk menghapus
objek, lakukan hal berikut:
- Periksa apakah Pembuatan Versi Objek diaktifkan.
Jika Pembuatan Versi Objek diaktifkan, pilih salah satu opsi penghapusan berikut:
- Pilih Hapus semua versi objek untuk menghapus versi aktif dan lama.
- Pilih Hapus versi aktif secara permanen untuk menghapus hanya versi aktif.
Jika Pembuatan Versi Objek tidak diaktifkan, semua objek yang dipilih untuk dihapus akan dihapus secara permanen.
- Klik Berikutnya.
- Di panel Name operation & specify objects, lakukan hal berikut:
- Di kolom Name, masukkan nama.
- Opsional: Di kolom Description, masukkan deskripsi.
- Di bagian Tentukan objek, tentukan kriteria untuk memproses
objek dari bucket. Pilih salah satu opsi berikut:
- Pilih semua objek: Mencakup semua objek dalam bucket.
- Memilih objek menggunakan filter awalan: Untuk menentukan daftar
objek menggunakan filter awalan, lakukan hal berikut:
- Di kolom Enter Prefixes of the objects to be included, masukkan awalan.
- Opsional: Klik + Tambahkan awalan untuk menentukan awalan tambahan.
- Mengupload daftar objek menggunakan file CSV manifes: Untuk menggunakan
file manifes untuk memilih objek, lakukan hal berikut:
- Upload file CSV manifes Anda ke bucket. File ini harus berisi header untuk Nama bucket, Kunci objek, dan Nomor generasi.
- Di daftar Select manifest file mode, pilih salah satu opsi berikut:
- Jika Anda memilih Pilih file manifes dari Cloud Storage, klik Telusuri di kolom Pilih file manifes dari Cloud Storage. Pada dialog Pilih objek yang muncul, buka file CSV manifes Anda, lalu klik Pilih.
- Jika Anda memilih Pilih beberapa file manifes menggunakan karakter pengganti,
masukkan jalur file di kolom Masukkan lokasi file manifes menggunakan
karakter pengganti. Misalnya,
bucket-name/folder/manifest_*.
- Klik Create.
Command line
Untuk menentukan daftar objek bagi tugas operasi batch, Anda dapat memilih salah satu konfigurasi sumber berikut:
- Project sebagai sumber: Menargetkan objek untuk project menggunakan konfigurasi set data Storage Insights. Daripada menentukan bucket atau awalan satu per satu, Anda dapat menentukan parameter filter lanjutan, seperti
--insights-dataset-config,--target-project,--bucket-filters, dan--object-filters. Untuk mengetahui detailnya, lihat Membuat tugas menggunakan filter lanjutan. - Bucket sebagai sumber: Menargetkan objek dalam bucket tertentu. Anda harus menentukan salah satu flag berikut:
--bucketatau--bucket-listuntuk menentukan bucket target.- File CSV manifes (
--manifest-location) atau awalan objek (--included-object-prefixes) untuk menentukan objek target.
-
Di konsol Cloud de Confiance , aktifkan Cloud Shell.
Di bagian bawah konsol Cloud de Confiance , 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.
Gunakan Google Cloud CLI versi 516.0.0 atau yang lebih baru.
Untuk menetapkan project default, jalankan perintah
gcloud config set project:gcloud config set project PROJECT_ID
Dengan PROJECT_ID sebagai ID project Anda.
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 | --bucket-list=BUCKET_LIST} OBJECT_SELECTION_FLAG JOB_TYPE_FLAG \ --dry-runDengan:
DRY_RUN_JOB_NAMEadalah name tugas uji coba operasi batch penyimpanan.
Parameter lainnya sama seperti untuk tugas sebenarnya. Untuk mengetahui informasi selengkapnya, 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 | --bucket-list=BUCKET_LIST} OBJECT_SELECTION_FLAG JOB_TYPE_FLAGDengan parameter sebagai berikut:
JOB_NAMEadalah nama tugas operasi batch penyimpanan.--bucket:BUCKETadalah nama bucket yang berisi objek yang ingin Anda proses.--bucket-list:BUCKET_LISTadalah daftar yang dipisahkan koma yang berisi satu atau beberapa nama bucket yang berisi objek yang ingin Anda proses. Anda dapat menentukan hingga 1.000 bucket dari project mana pun, asalkan setiap bucket didaftarkan dalam paket analisis penyimpanan.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 perlu Anda tentukan, bergantung pada jenis pekerjaan.--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. Anda juga dapat menggunakan tanda ini untuk mengubah kelas penyimpanan objek dengan menentukan kuncistorage-class. Class penyimpanan yang didukung mencakupSTANDARD,NEARLINE,COLDLINE, danARCHIVE. Misalnya,--rewrite-object=storage-class=NEARLINE.--set-object-acls-from-file: Memperbaiki daftar kontrol akses (ACL) objek. Berikan file JSON atau YAML dengan pemberian akses untuk ditambahkan atau diperbarui bagi entitas sepertiallUsersatauallAuthenticatedUsers. Misalnya:--set-object-acls-from-file=acl-updates.yamlatau--set-object-acls-from-file=acl-updates.json.Struktur file YAML untuk update adalah sebagai berikut:
grants: - entity: allAuthenticatedUsers role: READER remove_entities: - allUsersStruktur file JSON untuk update adalah sebagai berikut:
{ "grants": [ { "entity": "allAuthenticatedUsers", "role": "READER" } ], "remove_entities": [ "allUsers" ] }
--put-object-event-based-hold: Mengaktifkan penyimpanan objek berbasis peristiwa.--no-put-object-event-based-hold: Menonaktifkan penangguhan objek berbasis peristiwa.--put-object-temporary-hold: Mengaktifkan 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 dalammanifest.csv.gcloud storage batch-operations jobs create my-job \ --bucket=my-bucket \ --manifest-location=gs://my-bucket/manifest.csv \ --put-metadata=Content-Language=en
Contoh berikut menunjukkan cara membuat tugas yang menargetkan beberapa bucket untuk memperbarui
Content-Languagekeen-us:gcloud storage batch-operations jobs create my-job \ --bucket-list=bucket1,bucket2 \ --included-object-prefixes='' \ --put-metadata=Content-Language=en-us
--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 satunya, 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.
Sebelum menjalankan contoh kode, tetapkan variabel
lingkungan GOOGLE_CLOUD_UNIVERSE_DOMAIN ke s3nsapis.fr.
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.
Sebelum menjalankan contoh kode, tetapkan variabel
lingkungan GOOGLE_CLOUD_UNIVERSE_DOMAIN ke s3nsapis.fr.
JSON API
Untuk menentukan daftar objek bagi tugas operasi batch, Anda dapat memilih salah satu konfigurasi sumber berikut:
- Project sebagai sumber: Menargetkan objek di seluruh project menggunakan konfigurasi
projectSource. Daripada mencantumkan bucket atau awalan satu per satu, Anda menentukan parameter filter lanjutan untuk membuat kueri metadata insight penyimpanan secara dinamis. Untuk mengetahui informasi selengkapnya, lihat tab JSON API di Membuat tugas menggunakan filter lanjutan. - Bucket sebagai sumber: Menargetkan objek dalam bucket tertentu menggunakan konfigurasi
bucketList. Anda harus menentukan bucket target dan file CSV manifes (manifest_location) atau awalan objek (include_object_prefixes).
Menginstal dan melakukan inisialisasi gcloud 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", "storage_class":"STORAGE_CLASS_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 }, "SetObjectAcls": { "accessControlsUpdates": { "grants": [ { "entity": "allUsers", "role": "READER" } ], "removeEntities": ["allAuthenticatedUsers"] } }, "dryRun": DRY_RUN_VALUE }
Where: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 kelas penyimpanan untuk objek:
"RewriteObject": { "storage_class": STORAGE_CLASS_VALUE }
Dengan
STORAGE_CLASS_VALUEadalah kelas penyimpanan baru yang ingin Anda gunakan untuk mentransisikan objek. Class penyimpanan yang didukung mencakupSTANDARD,NEARLINE,COLDLINE, danARCHIVE.Memperbarui 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 satunya, 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 penangguhan 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.
Memperbarui 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.
Memperbarui daftar kontrol akses (ACL) objek:
"SetObjectAcls": { "accessControlsUpdates": { "grants": [ { "entity": "ENTITY_NAME", "role": "ROLE_NAME" } ], "removeEntities": ["ENTITY_TO_REMOVE"] } }
Dengan:
ENTITY_NAMEadalah entitas yang akan ditambahkan atau diperbarui aksesnya. Misalnya,allUsers,allAuthenticatedUsers, atau pengguna/grup tertentu.ROLE_NAMEadalah peran yang akan diberikan. Misalnya,READER,OWNER.ENTITY_TO_REMOVEadalah entity yang kredensialnya ingin Anda hapus.
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.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Konsol
- Di konsol Cloud de Confiance , buka halaman Buckets Cloud Storage.
- Dalam daftar bucket, klik nama bucket yang terkait dengan operasi.
- Di halaman Bucket details, klik tab Operations.
- Dalam daftar operasi, klik ID Operasi tugas yang ingin Anda lihat.
- Halaman detail menampilkan metrik untuk tugas Anda di tab Ringkasan, seperti objek yang ditemukan, diproses, dan error yang terjadi.
- Di tabel Ringkasan error, tinjau detail kegagalan eksekusi atau klik Lihat di Cloud Logging untuk melihat catatan.
- Untuk melihat setelan konfigurasi tugas, klik tab Konfigurasi.
Command line
-
Di konsol Cloud de Confiance , aktifkan Cloud Shell.
Di bagian bawah konsol Cloud de Confiance , 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_NAME
Dengan:
JOB_NAMEadalah 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 apa pun yang ditemukan selama uji coba, seperti masalah izin atau konfigurasi yang tidak valid.totalBytesFound: Menampilkan total ukuran objek yang terpengaruh. Kolom ini hanya muncul saat Anda menggunakan awalan objek untuk pemilihan objek.
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.
Sebelum menjalankan contoh kode, tetapkan variabel
lingkungan GOOGLE_CLOUD_UNIVERSE_DOMAIN ke s3nsapis.fr.
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.
Sebelum menjalankan contoh kode, tetapkan variabel
lingkungan GOOGLE_CLOUD_UNIVERSE_DOMAIN ke s3nsapis.fr.
JSON API
Menginstal dan melakukan inisialisasi gcloud 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_NAME"
Dengan:
PROJECT_IDadalah ID atau nomor project. Contoh,my-project.JOB_NAMEadalah 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 apa pun yang ditemukan selama uji coba, seperti masalah izin atau konfigurasi yang tidak valid.totalBytesFound: Menampilkan total ukuran objek yang terpengaruh. Kolom ini hanya muncul saat Anda menggunakan awalan objek untuk pemilihan objek.
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
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:
{ "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 operasi bucket
Untuk tugas yang mencakup beberapa bucket, Anda dapat melihat progres dan status operasi pada setiap bucket. Untuk mencantumkan operasi yang dilakukan pada bucket untuk tugas tertentu, jalankan perintah gcloud storage batch-operations bucket-operations list:
gcloud storage batch-operations bucket-operations list --job=JOB_NAME
Anda juga dapat memfilter daftar ke bucket tertentu menggunakan flag --buckets:
gcloud storage batch-operations bucket-operations list --job=JOB_NAME --buckets=BUCKET_NAME_LIST
Contoh berikut menunjukkan cara mencantumkan operasi untuk bucket1 dan bucket2 untuk tugas my-job:
gcloud storage batch-operations bucket-operations list --job=my-job --buckets=bucket1,bucket2
Dengan:
JOB_NAMEadalah nama unik tugas operasi batch penyimpanan yang Anda buat. Contoh,my-job.BUCKET_NAME_LISTadalah daftar nama bucket yang dipisahkan koma, tanpa spasi di antara nama. Contoh,bucket1,bucket2.
Mendeskripsikan operasi bucket
Untuk melihat detail operasi bucket tertentu, Anda dapat menggunakan salah satu metode berikut:
Gunakan perintah
gcloud storage batch-operations bucket-operations describedengan flag nama resource operasi:gcloud alpha storage batch-operations bucket-operations describe BUCKET_OPERATION_RESOURCE_NAME
Dengan:
BUCKET_OPERATION_RESOURCE_NAMEadalah jalur resource lengkap dari operasi bucket. Contoh,projects/my-project/locations/global/jobs/my-job/bucketOperations/bo-1.
Gunakan perintah
gcloud storage batch-operations bucket-operations describedengan flag ID operasi bucket operasi dan ID tugas:gcloud alpha storage batch-operations bucket-operations describe BUCKET_OPERATION_ID --job=JOB_NAME
Dengan:
BUCKET_OPERATION_IDadalah ID operasi bucket.JOB_NAMEadalah nama unik tugas operasi batch penyimpanan yang Anda buat. Contoh,my-job.
Mencantumkan tugas operasi batch penyimpanan
Bagian ini menjelaskan cara mencantumkan tugas operasi batch penyimpanan dalam project.
Untuk mendapatkan izin yang
diperlukan guna mencantumkan 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.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Konsol
- Di konsol Cloud de Confiance , buka halaman Buckets Cloud Storage.
- Dalam daftar bucket, klik nama bucket yang terkait dengan operasi.
- Di halaman Bucket details, klik tab Operations. Halaman Operasi menampilkan daftar operasi yang sedang berjalan dan aktif.
Command line
-
Di konsol Cloud de Confiance , aktifkan Cloud Shell.
Di bagian bawah konsol Cloud de Confiance , 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.
Sebelum menjalankan contoh kode, tetapkan variabel
lingkungan GOOGLE_CLOUD_UNIVERSE_DOMAIN ke s3nsapis.fr.
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.
Sebelum menjalankan contoh kode, tetapkan variabel
lingkungan GOOGLE_CLOUD_UNIVERSE_DOMAIN ke s3nsapis.fr.
JSON API
Menginstal dan melakukan inisialisasi gcloud 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 Anda 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.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Konsol
- Di konsol Cloud de Confiance , buka halaman Buckets Cloud Storage.
Di daftar bucket, klik nama bucket yang terkait dengan operasi batch penyimpanan yang ingin Anda batalkan.
Klik tab Operasi. Tab ini menampilkan daftar tugas operasi batch. Anda hanya dapat membatalkan tugas yang sedang berlangsung.
Dalam daftar operasi, pilih satu atau beberapa tugas yang ingin Anda batalkan, lalu klik Batalkan.
Command line
-
Di konsol Cloud de Confiance , aktifkan Cloud Shell.
Di bagian bawah konsol Cloud de Confiance , 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_NAME
Dengan:
JOB_NAMEadalah 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.
Sebelum menjalankan contoh kode, tetapkan variabel
lingkungan GOOGLE_CLOUD_UNIVERSE_DOMAIN ke s3nsapis.fr.
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.
Sebelum menjalankan contoh kode, tetapkan variabel
lingkungan GOOGLE_CLOUD_UNIVERSE_DOMAIN ke s3nsapis.fr.
JSON API
Menginstal dan melakukan inisialisasi gcloud 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_NAME"
Dengan:
PROJECT_IDadalah ID atau nomor project. Contoh,my-project.JOB_NAMEadalah 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.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Konsol
- Di konsol Cloud de Confiance , buka halaman Buckets Cloud Storage.
Di daftar bucket, klik nama bucket yang terkait dengan operasi batch penyimpanan yang ingin Anda hapus.
Klik tab Operasi. Tab ini menampilkan daftar tugas operasi batch. Anda hanya dapat menghapus tugas yang tidak berjalan, seperti tugas yang berhasil, gagal, atau dibatalkan.
Dalam daftar operasi, pilih satu atau beberapa tugas yang ingin Anda hapus, lalu klik Hapus.
Command line
-
Di konsol Cloud de Confiance , aktifkan Cloud Shell.
Di bagian bawah konsol Cloud de Confiance , 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_NAME
Dengan:
JOB_NAMEadalah 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.
Sebelum menjalankan contoh kode, tetapkan variabel
lingkungan GOOGLE_CLOUD_UNIVERSE_DOMAIN ke s3nsapis.fr.
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.
Sebelum menjalankan contoh kode, tetapkan variabel
lingkungan GOOGLE_CLOUD_UNIVERSE_DOMAIN ke s3nsapis.fr.
JSON API
Menginstal dan melakukan inisialisasi gcloud 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_NAME"
Dengan:
PROJECT_IDadalah ID atau nomor project. Contoh,my-project.JOB_NAMEadalah nama tugas operasi batch penyimpanan.
Membuat tugas operasi batch penyimpanan menggunakan set data Insight Penyimpanan
Untuk menjalankan tugas operasi batch pada objek yang tercantum dalam set data, pilih salah satu opsi berikut:
Menggunakan filter lanjutan: Memfilter objek secara dinamis di tingkat project langsung dalam perintah Google Cloud CLI.
Set data Insight Penyimpanan dibuat dari snapshot metadata penyimpanan Anda yang diambil secara berkala pada waktu tertentu. Setiap snapshot memiliki waktu snapshot yang menunjukkan kapan metadata diambil. Saat Anda menjalankan tugas batch menggunakan filter lanjutan, waktu snapshot ini menentukan objek dan versi mana yang diproses. Secara default, Operasi batch penyimpanan akan otomatis memilih waktu snapshot terbaru. Untuk mencegah operasi pada data yang sudah tidak berlaku, pembuatan tugas akan gagal jika snapshot yang dipilih sudah lebih dari dua hari. Untuk mengetahui informasi tentang cara mengatasi kegagalan ini, lihat Memecahkan masalah operasi batch Storage.
Menggunakan file manifes: Buat file manifes CSV dengan menjalankan kueri BigQuery, lalu berikan ke tugas.
Metode ini dijelaskan di bagian berikut.
Menggunakan filter lanjutan
Daripada membuat file manifes, Anda dapat menggunakan filter Common Expression Language (CEL) untuk memilih objek secara langsung berdasarkan kolom dalam set data Insight Penyimpanan. Anda dapat menjalankan tugas di beberapa bucket dalam sebuah project. Saat Anda menggunakan filter set data untuk pemilihan objek, operasi batch penyimpanan menargetkan objek yang aktif dan terbaru pada saat snapshot set data yang dipilih. Akibatnya, tugas hanya menyertakan objek yang memiliki nilai NULL untuk softDeleteTime dan timeDeleted pada saat snapshot.
Command line
-
Di konsol Cloud de Confiance , aktifkan Cloud Shell.
Di bagian bawah konsol Cloud de Confiance , 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.
Jalankan perintah
gcloud storage batch-operations jobs create:gcloud storage batch-operations jobs create JOB_NAME \ {--insights-dataset-config=INSIGHTS_DATASET_CONFIG_RESOURCE_NAME --target-project=TARGET_PROJECT [--bucket-filters=BUCKET_FILTER_CEL] [--object-filters=OBJECT_FILTER_CEL] [--target-locations=TARGET_LOCATIONS] [--target-snapshot-time=TARGET_SNAPSHOT_TIME] | --dry-run-job-id=DRY_RUN_JOB_ID} \ --JOB_TYPE_FLAGDengan:
JOB_NAMEadalah nama tugas operasi batch penyimpanan.INSIGHTS_DATASET_CONFIG_RESOURCE_NAME: Nama resource konfigurasi set data. Contoh:projects/{project-id}/locations/{location-id}/datasetConfigs/{dataset_config_id}. Anda harus menentukan parameter ini sebelum menggunakan flag--bucket-filtersdan--object-filters.TARGET_PROJECT: Project ID atau nomor project yang terkait dengan resource target.BUCKET_FILTER_CELdanOBJECT_FILTER_CEL(Opsional): Ekspresi filter CEL yang digunakan untuk memilih objek. Berikut adalah contohnya:--bucket-filters="name in ['bucket-1', 'bucket-2']"--object-filters="size >= 5000 && name.endsWith('.pdf')"Untuk mengetahui informasi tentang kolom, operator, dan fungsi yang didukung, lihat referensi filter CEL.
TARGET_LOCATIONS(Opsional): Daftar lokasi Cloud Storage yang digunakan untuk mempersempit cakupan tugas. Contoh:us,us-central1,us-east4. Gunakan parameter ini untuk mengecualikan lokasi yang mengalami gangguan layanan. Jika hanyaTARGET_LOCATIONSyang ditentukan danTARGET_SNAPSHOT_TIMEdihilangkan, tugas akan otomatis memilih stempel waktu snapshot terbaru yang berhasil diisi di tampilan atribut objek dan bucket di semua lokasi yang ditentukan.TARGET_SNAPSHOT_TIME(Opsional): Stempel waktu UTC dari snapshot set data yang akan digunakan, dalam format RFC 3339. Contoh,2026-05-03T16:00:00Z. Snapshot ini harus ada di seluruh tampilan atribut bucket dan objek Anda. Jika menentukan parameter ini, Anda juga harus menentukan parameterTARGET_LOCATIONS.DRY_RUN_JOB_ID: ID tugas uji coba yang sebelumnya dijalankan. Jika Anda menentukan parameter ini, Anda tidak dapat menentukan parameter pemilihan objek lainnya, termasuk--insights-dataset-config,--target-project,--bucket-filters,--object-filters,--target-locations, dan--target-snapshot-time. Pekerjaan aktif melakukan polling semua kriteria pemilihan langsung dari pekerjaan uji coba.JOB_TYPE_FLAG: Flag yang sesuai dengan operasi massal yang ingin Anda lakukan, seperti--put-metadataatau--delete-object.
JSON API
Menginstal dan melakukan inisialisasi gcloud CLI, yang memungkinkan Anda membuat token akses untuk header
Authorization.Buat file konfigurasi JSON yang menentukan filter set data dan setelan operasi massal. Contoh:
{ "description": "JOB_DESCRIPTION", "projectSource": { "project": "projects/TARGET_PROJECT", "insightsDatasetConfig": "INSIGHTS_DATASET_CONFIG_RESOURCE_NAME", "bucketFilters": { "expression": "BUCKET_FILTER_CEL" }, "objectFilters": { "expression": "OBJECT_FILTER_CEL" }, "snapshotTime": "SNAPSHOT_TIME", "targetLocations": { "locations": ["LOCATION_1", "LOCATION_2"] } }, "deleteObject": { "permanentObjectDeletionEnabled": OBJECT_DELETION_VALUE } }
Dengan:
JOB_DESCRIPTIONadalah deskripsi pekerjaan.TARGET_PROJECTadalah project ID atau nomor project yang terkait dengan objek target.
INSIGHTS_DATASET_CONFIG_RESOURCE_NAMEadalah nama resource yang sepenuhnya memenuhi syarat dari konfigurasi set data (misalnya,projects/{project-id}/locations/{location-id}/datasetConfigs/{dataset_config_id}).BUCKET_FILTER_CELadalah ekspresi filter CEL untuk bucket. Contoh,name in ['bucket-1', 'bucket-2']. Untuk mengetahui detail tentang kata kunci, kolom, dan operator yang didukung, lihat referensi filter CEL.OBJECT_FILTER_CELadalah ekspresi filter CEL untuk objek. Contoh,size >= 5000 && name.endsWith('.pdf').snapshotTime(Opsional): Stempel waktu UTC tertentu dalam format RFC 3339 (misalnya,"2026-05-03T16:00:00Z") yang menentukan snapshot set data yang akan digunakan. Snapshot ini harus ada di tampilan set data bucket dan objek Anda di semua lokasi target. Jika menentukan kolom ini, Anda juga harus menentukan kolomtargetLocations.targetLocations(Opsional): Objek JSON yang menentukan daftar lokasi Cloud Storage (misalnya,["us", "us-central1", "us-east4"]) untuk memfilter cakupan tugas. Jika dependensi mengalami gangguan di lokasi tertentu, Anda dapat mempersempit tugas ke lokasi tertentu. Jika hanyatargetLocationsyang ditentukan dansnapshotTimedihilangkan, tugas akan otomatis memilih stempel waktu snapshot terbaru yang berhasil diisi di tampilan atribut objek dan bucket di semua lokasi yang ditentukan.OBJECT_DELETION_VALUEadalah Boolean yang mengalihkan penghapusan permanen. Misalnyatrueataufalse.
Kirim permintaan
POSTmenggunakancURLuntuk menjalankan tugas:curl -X POST \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ -d @JSON_FILE_NAME \ "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.
Menggunakan file manifes
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.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Membuat manifes menggunakan set data Insight Penyimpanan
Anda dapat membuat manifest 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 Insight Penyimpanan 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 yang sepenuhnya memenuhi syarat dari tampilan set data Insight Penyimpanan 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 Insight Penyimpanan. Contoh,2024-09-10T00:00:00Z.
Membuat tugas operasi batch penyimpanan menggunakan file manifes
Untuk membuat tugas operasi batch penyimpanan guna memproses objek yang ada dalam manifes, selesaikan langkah-langkah berikut:
Konsol
- Di konsol Cloud de Confiance , buka halaman Buckets Cloud Storage.
Dalam daftar bucket, klik nama bucket yang berisi objek yang ingin Anda lakukan operasi batch.
Halaman Detail bucket akan terbuka, dan tab Objek akan dipilih.
- Klik Buat operasi batch.
- Di panel Select operation, pilih jenis operasi:
- Kelola penangguhan objek: Pilih Penangguhan sementara atau Penangguhan berbasis peristiwa. Untuk mengetahui informasi selengkapnya, lihat penangguhan objek.
- Perbarui metadata objek: Untuk menambahkan metadata
objek, lakukan hal berikut:
- Untuk menambahkan metadata kustom, selesaikan langkah-langkah berikut:
- Di kolom Key, masukkan nama kunci.
- Di kolom Nilai, masukkan nilai untuk kunci tersebut.
- Opsional: Klik + Tambahkan item untuk menambahkan lebih banyak pasangan nilai kunci.
- Untuk memperbarui metadata kunci tetap, selesaikan langkah-langkah berikut:
- Untuk meluaskan bagian Update fixed-key metadata, klik panah peluas .
- Dalam daftar Pilih satu atau beberapa metadata yang akan diupdate, pilih item metadata yang akan diedit.
- Untuk menambahkan metadata kustom, selesaikan langkah-langkah berikut:
- Perbarui/Rotasi kunci enkripsi: Untuk menggunakan atau memperbarui kunci
enkripsi untuk objek, lakukan langkah-langkah berikut:
- Di daftar Select a Cloud KMS key, pilih kunci enkripsi yang dikelola pelanggan (CMEK).
- Opsional: Pilih Ganti project untuk memilih kunci dari project lain atau pilih Masukkan kunci secara manual untuk mengisi detail.
- Menghapus objek: Untuk menghapus
objek, lakukan hal berikut:
- Periksa apakah Pembuatan Versi Objek diaktifkan.
Jika Pembuatan Versi Objek diaktifkan, pilih salah satu opsi penghapusan berikut:
- Pilih Hapus semua versi objek untuk menghapus versi aktif dan lama.
- Pilih Hapus versi aktif secara permanen untuk menghapus hanya versi aktif.
Jika Pembuatan Versi Objek tidak diaktifkan, semua objek yang dipilih untuk dihapus akan dihapus secara permanen.
- Klik Berikutnya.
- Di panel Name operation & specify objects, lakukan hal berikut:
- Di kolom Name, masukkan nama.
- Opsional: Di kolom Description, masukkan deskripsi.
- Di bagian Tentukan objek, pilih Upload daftar objek menggunakan file CSV manifes, lalu lakukan hal berikut:
- Upload file CSV manifes Anda ke bucket. File ini harus berisi header untuk Nama bucket, Kunci objek, dan Nomor generasi.
- Di daftar Select manifest file mode, pilih salah satu opsi berikut:
- Jika Anda memilih Pilih file manifes dari Cloud Storage, klik Telusuri di kolom Pilih file manifes dari Cloud Storage. Pada dialog Pilih objek yang muncul, buka file CSV manifes Anda, lalu klik Pilih.
- Jika Anda memilih Pilih beberapa file manifes menggunakan karakter pengganti,
masukkan jalur file di kolom Masukkan lokasi file manifes menggunakan
karakter pengganti. Misalnya,
bucket-name/folder/manifest_*.
- Klik Create.
Command line
-
Di konsol Cloud de Confiance , aktifkan Cloud Shell.
Di bagian bawah konsol Cloud de Confiance , 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_NAME \ {--bucket=SOURCE_BUCKET | --bucket-list=SOURCE_BUCKET_LIST} \ --manifest-location=URI \ JOB_TYPE_FLAGDengan:
JOB_NAMEadalah nama tugas operasi batch penyimpanan.SOURCE_BUCKETadalah nama bucket yang berisi objek yang ingin Anda proses. Contoh,my-bucket.SOURCE_BUCKET_LISTadalah daftar nama bucket yang dipisahkan koma yang berisi objek yang ingin Anda proses. Contoh,bucket1,bucket2.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 tanda berikut, bergantung pada jenis pekerjaan.--delete-object: Menghapus satu atau beberapa objek.--put-metadata: Perbarui metadata objek. Metadata objek disimpan sebagai key-value pair. 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. Anda juga dapat menggunakan tanda ini untuk mengubah kelas penyimpanan objek dengan menentukan kuncistorage-class. Class penyimpanan yang didukung mencakupSTANDARD,NEARLINE,COLDLINE, danARCHIVE. Misalnya:--rewrite-object=storage-class=NEARLINE.--set-object-acls-from-file: Memperbaiki daftar kontrol akses (ACL) objek. Berikan jalur ke file JSON atau YAML dengan pemberian akses untuk ditambahkan atau diperbarui bagi entitas sepertiallUsersatauallAuthenticatedUsers. Misalnya:--set-object-acls-from-file=acl-updates.yaml.--put-object-event-based-hold: Mengaktifkan penyimpanan objek berbasis peristiwa.--no-put-object-event-based-hold: Menonaktifkan penangguhan objek berbasis peristiwa.--put-object-temporary-hold: Mengaktifkan 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
Kontrol Layanan VPC memberikan lapisan keamanan tambahan untuk resource operasi batch penyimpanan. Dengan menempatkan project dalam perimeter layanan, Anda membantu 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
Tugas operasi batch penyimpanan mencatat transformasi pada objek Cloud Storage di Cloud Audit Logs untuk Cloud Storage. Gunakan Cloud Audit Logs dengan Cloud Storage untuk melacak transformasi ini. Untuk mengetahui detail cara mengaktifkan log audit, lihat Mengaktifkan log audit. Dalam entri log audit, kolom metadata callUserAgent dengan nilai StorageBatchOperations menunjukkan bahwa transformasi dilakukan oleh operasi batch penyimpanan.
Langkah berikutnya
- Pelajari kumpulan data Insight Penyimpanan