Membuat dan mengelola tugas operasi batch

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

  1. Di konsol Cloud de Confiance , buka halaman Buckets Cloud Storage.

    Buka Buckets

  2. 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.

  3. Klik Buat operasi batch.
  4. 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:
        1. Di kolom Key, masukkan nama kunci.
        2. Di kolom Nilai, masukkan nilai untuk kunci tersebut.
        3. Opsional: Klik + Tambahkan item untuk menambahkan lebih banyak pasangan nilai kunci.
      • Untuk memperbarui metadata kunci tetap, selesaikan langkah-langkah berikut:
        1. Untuk meluaskan bagian Update fixed-key metadata, klik panah peluas .
        2. Dalam daftar Pilih satu atau beberapa metadata yang akan diupdate, pilih item metadata yang akan diedit.
    • Perbarui/Rotasi kunci enkripsi: Untuk menggunakan atau memperbarui kunci enkripsi untuk objek, lakukan langkah-langkah berikut:
      1. Di daftar Select a Cloud KMS key, pilih kunci enkripsi yang dikelola pelanggan (CMEK).
      2. 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:
      1. Periksa apakah Pembuatan Versi Objek diaktifkan.
      2. 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.

  5. Klik Berikutnya.
  6. Di panel Name operation & specify objects, lakukan hal berikut:
    1. Di kolom Name, masukkan nama.
    2. Opsional: Di kolom Description, masukkan deskripsi.
    3. 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:
        1. Di kolom Enter Prefixes of the objects to be included, masukkan awalan.
        2. 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:

        1. Upload file CSV manifes Anda ke bucket. File ini harus berisi header untuk Nama bucket, Kunci objek, dan Nomor generasi.
        2. 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_*.
  7. 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:
    • --bucket atau --bucket-list untuk menentukan bucket target.
    • File CSV manifes (--manifest-location) atau awalan objek (--included-object-prefixes) untuk menentukan objek target.
  1. Di konsol Cloud de Confiance , aktifkan Cloud Shell.

    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.

  2. Gunakan Google Cloud CLI versi 516.0.0 atau yang lebih baru.

  3. Untuk menetapkan project default, jalankan perintah gcloud config set project:

    gcloud config set project PROJECT_ID

    Dengan PROJECT_ID sebagai ID project Anda.

  4. 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 create dengan 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-run

    Dengan:

    • DRY_RUN_JOB_NAME adalah 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.

  5. 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_FLAG

    Dengan parameter sebagai berikut:

    • JOB_NAME adalah nama tugas operasi batch penyimpanan.

    • --bucket: BUCKET adalah nama bucket yang berisi objek yang ingin Anda proses.

    • --bucket-list: BUCKET_LIST adalah 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_FLAG adalah 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=''.
      • --manifest-location: Tentukan lokasi manifest. Misalnya, gs://bucket_name/path/object_name.csv.

    • JOB_TYPE_FLAG adalah 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-object untuk 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 kunci storage-class. Class penyimpanan yang didukung mencakup STANDARD, NEARLINE, COLDLINE, dan ARCHIVE. 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 seperti allUsers atau allAuthenticatedUsers. Misalnya: --set-object-acls-from-file=acl-updates.yaml atau --set-object-acls-from-file=acl-updates.json.

        Struktur file YAML untuk update adalah sebagai berikut:

        grants:
          - entity: allAuthenticatedUsers
            role: READER
          remove_entities:
          - allUsers
        

        Struktur 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-Language menjadi en untuk semua objek yang tercantum dalam manifest.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-Language ke en-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 kolom Retain-Until dan Retention-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_TIME adalah 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_MODE adalah mode retensi, baik Unlocked maupun Locked.

          Saat Anda mengirim permintaan untuk memperbarui kolom RETENTION_MODE dan RETAIN_UNTIL_TIME, pertimbangkan hal berikut:

          • Untuk memperbarui konfigurasi retensi objek, Anda harus memberikan nilai yang tidak kosong untuk kolom RETENTION_MODE dan RETAIN_UNTIL_TIME; jika hanya menetapkan salah satunya, akan terjadi error INVALID_ARGUMENT.
          • Anda dapat memperluas nilai RETAIN_UNTIL_TIME untuk objek dalam mode Unlocked atau Locked.
          • Retensi objek harus dalam mode Unlocked jika Anda ingin melakukan hal berikut:
            • Kurangi nilai RETAIN_UNTIL_TIME.
            • Hapus konfigurasi retensi. Untuk menghapus konfigurasi, Anda harus memberikan nilai kosong untuk kolom RETENTION_MODE dan RETAIN_UNTIL_TIME.
          • Jika Anda menghilangkan kolom RETENTION_MODE dan RETAIN_UNTIL_TIME, konfigurasi retensi tidak akan berubah.

      • --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-contexts dan 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-id dan memperbarui atau menyisipkan konteks dengan kunci project-id dan cost-center untuk semua objek yang tercantum di manifest.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-id dan cost-center yang 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.json berisi 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.

[](google::cloud::storagebatchoperations_v1::StorageBatchOperationsClient
       client,
   std::string const& project_id, std::string const& job_id,
   std::string const& target_bucket_name, std::string const& object_prefix) {
  auto const parent =
      std::string{"projects/"} + project_id + "/locations/global";
  namespace sbo = google::cloud::storagebatchoperations::v1;
  sbo::Job job;
  sbo::BucketList* bucket_list = job.mutable_bucket_list();
  sbo::BucketList::Bucket* bucket_config = bucket_list->add_buckets();
  bucket_config->set_bucket(target_bucket_name);
  sbo::PrefixList* prefix_list_config = bucket_config->mutable_prefix_list();
  prefix_list_config->add_included_object_prefixes(object_prefix);
  sbo::DeleteObject* delete_object_config = job.mutable_delete_object();
  delete_object_config->set_permanent_object_deletion_enabled(false);
  auto result = client.CreateJob(parent, job, job_id).get();
  if (!result) throw result.status();
  std::cout << "Created job: " << result->name() << "\n";
}

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.

use Google\Cloud\StorageBatchOperations\V1\Client\StorageBatchOperationsClient;
use Google\Cloud\StorageBatchOperations\V1\CreateJobRequest;
use Google\Cloud\StorageBatchOperations\V1\Job;
use Google\Cloud\StorageBatchOperations\V1\BucketList;
use Google\Cloud\StorageBatchOperations\V1\BucketList\Bucket;
use Google\Cloud\StorageBatchOperations\V1\PrefixList;
use Google\Cloud\StorageBatchOperations\V1\DeleteObject;

/**
 * Create a new batch job.
 *
 * @param string $projectId Your Google Cloud project ID.
 *        (e.g. 'my-project-id')
 * @param string $jobId A unique identifier for this job.
 *        (e.g. '94d60cc1-2d95-41c5-b6e3-ff66cd3532d5')
 * @param string $bucketName The name of your Cloud Storage bucket to operate on.
 *        (e.g. 'my-bucket')
 * @param string $objectPrefix The prefix of objects to include in the operation.
 *        (e.g. 'prefix1')
 */
function create_job(string $projectId, string $jobId, string $bucketName, string $objectPrefix): void
{
    // Create a client.
    $storageBatchOperationsClient = new StorageBatchOperationsClient();

    $parent = $storageBatchOperationsClient->locationName($projectId, 'global');

    $prefixListConfig = new PrefixList(['included_object_prefixes' => [$objectPrefix]]);
    $bucket = new Bucket(['bucket' => $bucketName, 'prefix_list' => $prefixListConfig]);
    $bucketList = new BucketList(['buckets' => [$bucket]]);

    $deleteObject = new DeleteObject(['permanent_object_deletion_enabled' => false]);

    $job = new Job(['bucket_list' => $bucketList, 'delete_object' => $deleteObject]);

    $request = new CreateJobRequest([
        'parent' => $parent,
        'job_id' => $jobId,
        'job' => $job,
    ]);
    $response = $storageBatchOperationsClient->createJob($request);

    printf('Created job: %s', $response->getName());
}

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).
  1. Menginstal dan melakukan inisialisasi gcloud CLI, yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. 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_NAME adalah nama tugas operasi batch penyimpanan.

    • JOB_DESCRIPTION adalah deskripsi tugas operasi batch penyimpanan.

    • BUCKET_NAME adalah 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_LOCATION adalah lokasi manifes. Misalnya, gs://bucket_name/path/object_name.csv.

      • OBJECT_PREFIXES adalah 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_VALUE adalah TRUE untuk menghapus objek.

      • Memperbarui Kunci enkripsi yang dikelola pelanggan untuk objek:

        "RewriteObject":
          {
          "kms_key": KMS_KEY_VALUE
          }

        Dengan KMS_KEY_VALUE adalah nilai kunci KMS objek yang ingin Anda perbarui.

      • Perbarui kelas penyimpanan untuk objek:

        "RewriteObject":
          {
          "storage_class": STORAGE_CLASS_VALUE
          }

        Dengan STORAGE_CLASS_VALUE adalah kelas penyimpanan baru yang ingin Anda gunakan untuk mentransisikan objek. Class penyimpanan yang didukung mencakup STANDARD, NEARLINE, COLDLINE, dan ARCHIVE.

      • Memperbarui metadata objek:

        "PutMetadata": {
             "METADATA_KEY": "METADATA_VALUE",
             ...,
            "objectRetention": {
               "retainUntilTime": "RETAIN_UNTIL_TIME",
               "mode": "RETENTION_MODE"
             }
           }

        Dengan:

        • METADATA_KEY/VALUE adalah key-value pair metadata objek. Anda dapat menentukan satu atau beberapa pasangan.
        • RETAIN_UNTIL_TIME adalah 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_MODE adalah mode retensi, baik Unlocked maupun Locked.

          Saat Anda mengirim permintaan untuk memperbarui kolom RETENTION_MODE dan RETAIN_UNTIL_TIME, pertimbangkan hal berikut:

          • Untuk memperbarui konfigurasi retensi objek, Anda harus memberikan nilai yang tidak kosong untuk kolom RETENTION_MODE dan RETAIN_UNTIL_TIME; jika hanya menetapkan salah satunya, akan terjadi error INVALID_ARGUMENT.
          • Anda dapat memperluas nilai RETAIN_UNTIL_TIME untuk objek dalam mode Unlocked atau Locked.
          • Retensi objek harus dalam mode Unlocked jika Anda ingin melakukan hal berikut:
            • Kurangi nilai RETAIN_UNTIL_TIME.
            • Hapus konfigurasi retensi. Untuk menghapus konfigurasi, Anda harus memberikan nilai kosong untuk kolom RETENTION_MODE dan RETAIN_UNTIL_TIME.
          • Jika Anda menghilangkan kolom RETENTION_MODE dan RETAIN_UNTIL_TIME, konfigurasi retensi tidak akan berubah.
        • Memperbarui penangguhan objek:

          "PutObjectHold": {
              "temporary_hold": TEMPORARY_HOLD_VALUE,
              "event_based_hold": EVENT_BASED_HOLD_VALUE
            }

          Dengan:

          • TEMPORARY_HOLD_VALUE digunakan untuk mengaktifkan atau menonaktifkan penangguhan objek sementara. Nilai 1 akan mengaktifkan penangguhan, dan nilai 2 akan menonaktifkan penangguhan.

          • EVENT_BASED_HOLD_VALUE digunakan untuk mengaktifkan atau menonaktifkan penangguhan objek berbasis peristiwa. Nilai 1 akan mengaktifkan penangguhan, dan nilai 2 akan menonaktifkan penangguhan.

        • Memperbarui konteks objek:

          "updateObjectCustomContext": {
              "customContextUpdates": {
                "updates": {
                  "CONTEXT_KEY": { "value": "CONTEXT_VALUE" }
                },
                "keysToClear": ["CONTEXT_KEY_TO_CLEAR"]
              },
              "clearAll": CLEAR_ALL_VALUE
            }

          Dengan:

          • CONTEXT_KEY adalah kunci konteks objek yang akan disisipkan atau diperbarui.
          • CONTEXT_VALUE adalah nilai konteks objek untuk kunci.
          • CONTEXT_KEY_TO_CLEAR adalah kunci yang akan dihapus.
          • CLEAR_ALL_VALUE disetel ke true untuk 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_NAME adalah entitas yang akan ditambahkan atau diperbarui aksesnya. Misalnya, allUsers, allAuthenticatedUsers, atau pengguna/grup tertentu.
          • ROLE_NAME adalah peran yang akan diberikan. Misalnya, READER, OWNER.
          • ENTITY_TO_REMOVE adalah entity yang kredensialnya ingin Anda hapus.
      • DRY_RUN_VALUE adalah nilai boolean opsional. Tetapkan ke true untuk menjalankan tugas dalam mode uji coba. Nilai defaultnya adalah false.

      1. Gunakan curl untuk memanggil JSON API dengan permintaan POST tugas 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_NAME adalah nama file JSON.
        • PROJECT_ID adalah ID atau nomor project. Contoh, my-project.
        • JOB_NAME adalah 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

  1. Di konsol Cloud de Confiance , buka halaman Buckets Cloud Storage.

    Buka Buckets

  2. Dalam daftar bucket, klik nama bucket yang terkait dengan operasi.
  3. Di halaman Bucket details, klik tab Operations.
  4. Dalam daftar operasi, klik ID Operasi tugas yang ingin Anda lihat.
  5. Halaman detail menampilkan metrik untuk tugas Anda di tab Ringkasan, seperti objek yang ditemukan, diproses, dan error yang terjadi.
  6. Di tabel Ringkasan error, tinjau detail kegagalan eksekusi atau klik Lihat di Cloud Logging untuk melihat catatan.
  7. Untuk melihat setelan konfigurasi tugas, klik tab Konfigurasi.

Command line

  1. Di konsol Cloud de Confiance , aktifkan Cloud Shell.

    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.

  2. Di lingkungan pengembangan Anda, jalankan perintah gcloud storage batch-operations jobs describe.

    gcloud storage batch-operations jobs describe JOB_NAME

    Dengan:

    JOB_NAME adalah 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: SUCCEEDED
    

    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:

      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.

[](google::cloud::storagebatchoperations_v1::StorageBatchOperationsClient
       client,
   std::string const& project_id, std::string const& job_id) {
  auto const parent =
      std::string{"projects/"} + project_id + "/locations/global";
  auto const name = parent + "/jobs/" + job_id;
  auto job = client.GetJob(name);
  if (!job) throw job.status();
  std::cout << "Got job: " << job->name() << "\n";
}

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.

use Google\Cloud\StorageBatchOperations\V1\Client\StorageBatchOperationsClient;
use Google\Cloud\StorageBatchOperations\V1\GetJobRequest;

/**
 * Gets a batch job.
 *
 * @param string $projectId Your Google Cloud project ID.
 *        (e.g. 'my-project-id')
 * @param string $jobId A unique identifier for this job.
 *        (e.g. '94d60cc1-2d95-41c5-b6e3-ff66cd3532d5')
 */
function get_job(string $projectId, string $jobId): void
{
    // Create a client.
    $storageBatchOperationsClient = new StorageBatchOperationsClient();

    $parent = $storageBatchOperationsClient->locationName($projectId, 'global');
    $formattedName = $parent . '/jobs/' . $jobId;

    $request = new GetJobRequest([
        'name' => $formattedName,
    ]);

    $response = $storageBatchOperationsClient->getJob($request);

    printf('Got job: %s', $response->getName());
}

JSON API

  1. Menginstal dan melakukan inisialisasi gcloud CLI, yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Gunakan cURL untuk memanggil JSON API dengan permintaan GET tugas 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_ID adalah ID atau nomor project. Contoh, my-project.
    • JOB_NAME adalah 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 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 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_NAME adalah nama unik tugas operasi batch penyimpanan yang Anda buat. Contoh, my-job.
  • BUCKET_NAME_LIST adalah 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 describe dengan flag nama resource operasi:

    gcloud alpha storage batch-operations bucket-operations describe BUCKET_OPERATION_RESOURCE_NAME

    Dengan:

    • BUCKET_OPERATION_RESOURCE_NAME adalah 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 describe dengan 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_ID adalah ID operasi bucket.
    • JOB_NAME adalah 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

  1. Di konsol Cloud de Confiance , buka halaman Buckets Cloud Storage.

    Buka Buckets

  2. Dalam daftar bucket, klik nama bucket yang terkait dengan operasi.
  3. Di halaman Bucket details, klik tab Operations. Halaman Operasi menampilkan daftar operasi yang sedang berjalan dan aktif.

Command line

  1. Di konsol Cloud de Confiance , aktifkan Cloud Shell.

    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.

  2. 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.

[](google::cloud::storagebatchoperations_v1::StorageBatchOperationsClient
       client,
   std::string const& project_id) {
  auto const parent =
      std::string{"projects/"} + project_id + "/locations/global";
  for (auto const& job : client.ListJobs(parent)) {
    if (!job) throw job.status();
    std::cout << job->name() << "\n";
  }
}

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.

use Google\Cloud\StorageBatchOperations\V1\Client\StorageBatchOperationsClient;
use Google\Cloud\StorageBatchOperations\V1\ListJobsRequest;

/**
 * List Jobs in a given project.
 *
 * @param string $projectId Your Google Cloud project ID.
 *        (e.g. 'my-project-id')
 */
function list_jobs(string $projectId): void
{
    // Create a client.
    $storageBatchOperationsClient = new StorageBatchOperationsClient();

    $parent = $storageBatchOperationsClient->locationName($projectId, 'global');

    $request = new ListJobsRequest([
        'parent' => $parent,
    ]);

    $jobs = $storageBatchOperationsClient->listJobs($request);

    foreach ($jobs as $job) {
        printf('Job name: %s' . PHP_EOL, $job->getName());
    }
}

JSON API

  1. Menginstal dan melakukan inisialisasi gcloud CLI, yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Gunakan cURL untuk memanggil JSON API dengan permintaan LIST tugas 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_ID adalah 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

  1. Di konsol Cloud de Confiance , buka halaman Buckets Cloud Storage.

    Buka Buckets

  2. Di daftar bucket, klik nama bucket yang terkait dengan operasi batch penyimpanan yang ingin Anda batalkan.

  3. Klik tab Operasi. Tab ini menampilkan daftar tugas operasi batch. Anda hanya dapat membatalkan tugas yang sedang berlangsung.

  4. Dalam daftar operasi, pilih satu atau beberapa tugas yang ingin Anda batalkan, lalu klik Batalkan.

Command line

  1. Di konsol Cloud de Confiance , aktifkan Cloud Shell.

    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.

  2. Di lingkungan pengembangan Anda, jalankan perintah gcloud storage batch-operations jobs cancel.

    gcloud storage batch-operations jobs cancel JOB_NAME

    Dengan:

    JOB_NAME adalah 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.

[](google::cloud::storagebatchoperations_v1::StorageBatchOperationsClient
       client,
   std::string const& project_id, std::string const& job_id) {
  auto const parent =
      std::string{"projects/"} + project_id + "/locations/global";
  auto const name = parent + "/jobs/" + job_id;
  auto response = client.CancelJob(name);
  if (!response) throw response.status();
  std::cout << "Cancelled job: " << name << "\n";
}

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.

use Google\Cloud\StorageBatchOperations\V1\Client\StorageBatchOperationsClient;
use Google\Cloud\StorageBatchOperations\V1\CancelJobRequest;

/**
 * Cancel a batch job.
 *
 * @param string $projectId Your Google Cloud project ID.
 *        (e.g. 'my-project-id')
 * @param string $jobId A unique identifier for this job.
 *        (e.g. '94d60cc1-2d95-41c5-b6e3-ff66cd3532d5')
 */
function cancel_job(string $projectId, string $jobId): void
{
    // Create a client.
    $storageBatchOperationsClient = new StorageBatchOperationsClient();

    $parent = $storageBatchOperationsClient->locationName($projectId, 'global');
    $formattedName = $parent . '/jobs/' . $jobId;

    $request = new CancelJobRequest([
        'name' => $formattedName,
    ]);

    $storageBatchOperationsClient->cancelJob($request);

    printf('Cancelled job: %s', $formattedName);
}

JSON API

  1. Menginstal dan melakukan inisialisasi gcloud CLI, yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Gunakan cURL untuk memanggil JSON API dengan permintaan CANCEL tugas 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_ID adalah ID atau nomor project. Contoh, my-project.

    • JOB_NAME adalah 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

  1. Di konsol Cloud de Confiance , buka halaman Buckets Cloud Storage.

    Buka Buckets

  2. Di daftar bucket, klik nama bucket yang terkait dengan operasi batch penyimpanan yang ingin Anda hapus.

  3. 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.

  4. Dalam daftar operasi, pilih satu atau beberapa tugas yang ingin Anda hapus, lalu klik Hapus.

Command line

  1. Di konsol Cloud de Confiance , aktifkan Cloud Shell.

    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.

  2. Di lingkungan pengembangan Anda, jalankan perintah gcloud storage batch-operations jobs delete.

    gcloud storage batch-operations jobs delete JOB_NAME

    Dengan:

    JOB_NAME adalah 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.

[](google::cloud::storagebatchoperations_v1::StorageBatchOperationsClient
       client,
   std::string const& project_id, std::string const& job_id) {
  auto const parent =
      std::string{"projects/"} + project_id + "/locations/global";
  auto const name = parent + "/jobs/" + job_id;
  auto status = client.DeleteJob(name);
  if (!status.ok()) throw status;
  std::cout << "Deleted job: " << name << "\n";
}

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.

use Google\Cloud\StorageBatchOperations\V1\Client\StorageBatchOperationsClient;
use Google\Cloud\StorageBatchOperations\V1\DeleteJobRequest;

/**
 * Delete a batch job.
 *
 * @param string $projectId Your Google Cloud project ID.
 *        (e.g. 'my-project-id')
 * @param string $jobId A unique identifier for this job.
 *        (e.g. '94d60cc1-2d95-41c5-b6e3-ff66cd3532d5')
 */
function delete_job(string $projectId, string $jobId): void
{
    // Create a client.
    $storageBatchOperationsClient = new StorageBatchOperationsClient();

    $parent = $storageBatchOperationsClient->locationName($projectId, 'global');
    $formattedName = $parent . '/jobs/' . $jobId;

    $request = new DeleteJobRequest([
        'name' => $formattedName,
    ]);

    $storageBatchOperationsClient->deleteJob($request);

    printf('Deleted job: %s', $formattedName);
}

JSON API

  1. Menginstal dan melakukan inisialisasi gcloud CLI, yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. Gunakan cURL untuk memanggil JSON API dengan permintaan DELETE tugas 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_ID adalah ID atau nomor project. Contoh, my-project.

    • JOB_NAME adalah 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

  1. Di konsol Cloud de Confiance , aktifkan Cloud Shell.

    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.

  2. 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_FLAG

    Dengan:

    • JOB_NAME adalah 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-filters dan --object-filters.
    • TARGET_PROJECT: Project ID atau nomor project yang terkait dengan resource target.
    • BUCKET_FILTER_CEL dan OBJECT_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 hanya TARGET_LOCATIONS yang ditentukan dan TARGET_SNAPSHOT_TIME dihilangkan, 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 parameter TARGET_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-metadata atau --delete-object.

JSON API

  1. Menginstal dan melakukan inisialisasi gcloud CLI, yang memungkinkan Anda membuat token akses untuk header Authorization.

  2. 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_DESCRIPTION adalah deskripsi pekerjaan.
      • TARGET_PROJECT adalah project ID atau nomor project yang terkait dengan objek target.
    • INSIGHTS_DATASET_CONFIG_RESOURCE_NAME adalah nama resource yang sepenuhnya memenuhi syarat dari konfigurasi set data (misalnya, projects/{project-id}/locations/{location-id}/datasetConfigs/{dataset_config_id}).
    • BUCKET_FILTER_CEL adalah 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_CEL adalah 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 kolom targetLocations.
    • 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 hanya targetLocations yang ditentukan dan snapshotTime dihilangkan, tugas akan otomatis memilih stempel waktu snapshot terbaru yang berhasil diisi di tampilan atribut objek dan bucket di semua lokasi yang ditentukan.
    • OBJECT_DELETION_VALUE adalah Boolean yang mengalihkan penghapusan permanen. Misalnya true atau false.
  3. Kirim permintaan POST menggunakan cURL untuk 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_NAME adalah nama file JSON.
    • PROJECT_ID adalah ID atau nomor project. Contoh, my-project.
    • JOB_NAME adalah 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:

  • URI adalah 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_VALUE adalah nilai boolean. Jika disetel ke true, operasi ekspor akan menimpa file yang ada di lokasi yang ditentukan.
  • DATASET_VIEW_NAME adalah nama yang sepenuhnya memenuhi syarat dari tampilan set data Insight Penyimpanan dalam format PROJECT_ID.DATASET_ID.VIEW_NAME. Untuk menemukan nama set data Anda, lihat set data tertaut.

    Dengan:

    • PROJECT_ID adalah ID atau nomor project. Contoh, my-project.
    • DATASET_ID adalah nama set data. Contoh, objects-deletion-dataset.
    • VIEW_NAME adalah nama tampilan set data. Contoh, bucket_attributes_view.
  • BUCKET_NAME adalah nama bucket. Contoh, my-bucket.

  • SNAPSHOT_TIME adalah 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

  1. Di konsol Cloud de Confiance , buka halaman Buckets Cloud Storage.

    Buka Buckets

  2. 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.

  3. Klik Buat operasi batch.
  4. 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:
        1. Di kolom Key, masukkan nama kunci.
        2. Di kolom Nilai, masukkan nilai untuk kunci tersebut.
        3. Opsional: Klik + Tambahkan item untuk menambahkan lebih banyak pasangan nilai kunci.
      • Untuk memperbarui metadata kunci tetap, selesaikan langkah-langkah berikut:
        1. Untuk meluaskan bagian Update fixed-key metadata, klik panah peluas .
        2. Dalam daftar Pilih satu atau beberapa metadata yang akan diupdate, pilih item metadata yang akan diedit.
    • Perbarui/Rotasi kunci enkripsi: Untuk menggunakan atau memperbarui kunci enkripsi untuk objek, lakukan langkah-langkah berikut:
      1. Di daftar Select a Cloud KMS key, pilih kunci enkripsi yang dikelola pelanggan (CMEK).
      2. 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:
      1. Periksa apakah Pembuatan Versi Objek diaktifkan.
      2. 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.

  5. Klik Berikutnya.
  6. Di panel Name operation & specify objects, lakukan hal berikut:
    1. Di kolom Name, masukkan nama.
    2. Opsional: Di kolom Description, masukkan deskripsi.
    3. Di bagian Tentukan objek, pilih Upload daftar objek menggunakan file CSV manifes, lalu lakukan hal berikut:

      1. Upload file CSV manifes Anda ke bucket. File ini harus berisi header untuk Nama bucket, Kunci objek, dan Nomor generasi.
      2. 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_*.
  7. Klik Create.

Command line

  1. Di konsol Cloud de Confiance , aktifkan Cloud Shell.

    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.

  2. 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_FLAG

    Dengan:

    • JOB_NAME adalah nama tugas operasi batch penyimpanan.

    • SOURCE_BUCKET adalah nama bucket yang berisi objek yang ingin Anda proses. Contoh, my-bucket.

    • SOURCE_BUCKET_LIST adalah daftar nama bucket yang dipisahkan koma yang berisi objek yang ingin Anda proses. Contoh, bucket1,bucket2.

    • URI adalah 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_FLAG adalah 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 kunci storage-class. Class penyimpanan yang didukung mencakup STANDARD, NEARLINE, COLDLINE, dan ARCHIVE. 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 seperti allUsers atau allAuthenticatedUsers. 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-contexts dan 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-id dan memperbarui atau menyisipkan konteks dengan kunci project-id dan cost-center untuk semua objek yang tercantum di manifest.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-id dan cost-center yang 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.json berisi 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