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.

Menyiapkan Google Cloud CLI

Anda harus menggunakan Google Cloud CLI versi 516.0.0 atau yang lebih baru.

Menetapkan project default

Tetapkan project tempat Anda ingin membuat tugas operasi batch penyimpanan.

gcloud config set project PROJECT_ID

dengan PROJECT_ID sebagai project ID Anda.

Aktifkan API

Aktifkan API operasi batch penyimpanan.

gcloud services enable storagebatchoperations.googleapis.com

Membuat manifes

Untuk menggunakan manifes untuk pemilihan objek, buat manifes.

Membuat tugas operasi batch penyimpanan

Bagian ini menjelaskan cara membuat tugas operasi batch penyimpanan.

Command line

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

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

    gcloud storage batch-operations jobs create JOB_NAME --bucket=BUCKET_NAME OBJECT_SELECTION_FLAG JOB_TYPE_FLAG

    Dengan keterangan:

    • JOB_NAME adalah nama tugas operasi batch penyimpanan.
    • BUCKET_NAME adalah nama bucket yang berisi satu atau beberapa objek yang ingin Anda proses.
    • OBJECT_SELECTION_FLAG adalah salah satu flag berikut:

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

    • JOB_TYPE_FLAG adalah salah satu flag berikut, bergantung pada jenis tugas.

      • --delete-object: Menghapus satu atau beberapa objek.

      • --put-metadata: Memperbarui metadata objek. Metadata objek disimpan sebagai pasangan nilai kunci. Tentukan pasangan nilai kunci untuk metadata yang ingin Anda ubah. Anda dapat menentukan satu atau beberapa pasangan nilai kunci sebagai daftar.

      • --rewrite-object: Memperbarui kunci enkripsi yang dikelola pelanggan untuk satu atau beberapa objek.

      • --put-object-event-based-hold: Mengaktifkan penahanan 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.

REST API

JSON API

  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"
          }
        "PutMetadata": {
          METADATA_KEY= METADATA_VALUE,
          ...,
          }
        "PutObjectHold": {
          "temporary_hold": TEMPORARY_HOLD_VALUE,
          "event_based_hold": EVENT_BASED_HOLD_VALUE
        }
     }
         

    Dengan keterangan:

    • 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 diproses, tentukan salah satu opsi berikut:

      • Menghapus objek:

        "DeleteObject":
        {
        "permanent_object_deletion_enabled": OBJECT_DELETION_VALUE
        }

        Dengan OBJECT_DELETION_VALUE adalah TRUE untuk menghapus objek.

      • Perbarui 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 metadata objek:

        "PutMetadata": {
        METADATA_KEY= METADATA_VALUE,
        ...,
        }

        Dengan METADATA_VALUE adalah nilai kunci metadata objek. Anda dapat menentukan satu atau beberapa pasangan nilai kunci sebagai daftar.

      • Perbarui penangguhan objek:

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

        Dengan keterangan:

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

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

  3. Gunakan cURL untuk memanggil JSON API dengan permintaan POST storage batch operations job:

    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/project=PROJECT_ID/locations/global/jobs?job_id=JOB_ID"

    Dengan keterangan:

    • JSON_FILE_NAME adalah nama file JSON.
    • PROJECT_ID adalah ID atau nomor project. Contoh, my-project.
    • JOB_ID adalah nama tugas operasi batch penyimpanan.

Mendapatkan detail tugas operasi batch penyimpanan

Bagian ini menjelaskan cara mendapatkan detail tugas operasi batch penyimpanan.

Command line

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

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

    gcloud storage batch-operations jobs describe JOB_ID

    Dengan keterangan:

    JOB_ID adalah nama tugas operasi batch penyimpanan.

REST API

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 storage batch operations job:

    curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs?JOB_ID"

    Dengan keterangan:

    • PROJECT_ID adalah ID atau nomor project. Contoh, my-project.
    • JOB_ID adalah nama tugas operasi batch penyimpanan.

Mencantumkan tugas operasi batch penyimpanan

Bagian ini menjelaskan cara mencantumkan tugas operasi batch penyimpanan dalam project.

Command line

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

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

    gcloud storage batch-operations jobs list

REST API

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 storage batch operations jobs:

    curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://storagebatchoperations.googleapis.com/v1/projects/PROJECT_ID/locations/global/jobs"

    Dengan keterangan:

    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.

Command line

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

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

    gcloud storage batch-operations jobs cancel JOB_ID

    Dengan keterangan:

    JOB_ID adalah nama tugas operasi batch penyimpanan.

REST API

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_ID"

    Dengan keterangan:

    • PROJECT_ID adalah ID atau nomor project. Contoh, my-project.

    • JOB_ID adalah nama tugas operasi batch penyimpanan.

Menghapus tugas operasi batch penyimpanan

Bagian ini menjelaskan cara menghapus tugas operasi batch penyimpanan.

Command line

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

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

    gcloud storage batch-operations jobs delete JOB_ID

    Dengan keterangan:

    JOB_ID adalah nama tugas operasi batch penyimpanan.

REST API

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_ID"

    Dengan keterangan:

    • PROJECT_ID adalah ID atau nomor project. Contoh, my-project.

    • JOB_ID adalah nama tugas operasi batch penyimpanan.

Membuat tugas operasi batch penyimpanan menggunakan set data Storage Insights

Untuk membuat tugas operasi batch penyimpanan menggunakan set data Storage Insights, selesaikan langkah-langkah di bagian berikut.

Membuat manifes menggunakan set data Storage Insights

Anda dapat membuat manifes untuk tugas operasi batch penyimpanan dengan mengekstrak data dari BigQuery. Untuk melakukannya, Anda harus mengkueri set data yang tertaut, mengekspor data yang dihasilkan sebagai file CSV, dan menyimpannya ke bucket Cloud Storage. Tugas operasi batch penyimpanan kemudian dapat menggunakan file CSV ini sebagai manifesnya.

Menjalankan kueri SQL berikut di BigQuery pada tampilan set data Storage Insights akan mengambil objek yang lebih besar dari 1 KiB yang bernama 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 keterangan:

  • 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 ditetapkan ke true, operasi ekspor akan menimpa file yang ada di lokasi yang ditentukan.
  • DATASET_VIEW_NAME adalah nama yang sepenuhnya memenuhi syarat untuk tampilan set data Storage Insights dalam format PROJECT_ID.DATASET_ID.VIEW_NAME. Untuk menemukan nama set data Anda, lihat set data tertaut.

    Dengan keterangan:

    • 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 Storage Insights. Contoh, 2024-09-10T00:00:00Z.

Membuat tugas operasi batch penyimpanan

Untuk membuat tugas operasi batch penyimpanan guna memproses objek yang terdapat dalam manifes, selesaikan langkah-langkah berikut:

Command line

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

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

    gcloud storage batch-operations jobs create \
    JOB_ID \
    --bucket=SOURCE_BUCKET_NAME \
    --manifest-location=URI \
    --JOB_TYPE_FLAG

    Dengan keterangan:

    • JOB_ID adalah nama tugas operasi batch penyimpanan.

    • SOURCE_BUCKET_NAME adalah bucket yang berisi satu atau beberapa objek yang ingin Anda proses. Contoh, my-bucket.

    • 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 flag berikut, bergantung pada jenis tugas.

      • --delete-object: Menghapus satu atau beberapa objek.

      • --put-metadata: Memperbarui metadata objek. Metadata objek disimpan sebagai pasangan nilai kunci. Tentukan pasangan nilai kunci untuk metadata yang ingin Anda ubah. Anda dapat menentukan satu atau beberapa pasangan nilai kunci sebagai daftar.

      • --rewrite-object: Memperbarui kunci enkripsi yang dikelola pelanggan untuk satu atau beberapa objek.

      • --put-object-event-based-hold: Mengaktifkan penahanan 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.

Menggunakan Cloud Audit Logs untuk tugas operasi batch penyimpanan

Tugas operasi batch penyimpanan mencatat transformasi pada objek Cloud Storage di Cloud Audit Logs Cloud Storage. Anda dapat menggunakan Cloud Audit Logs dengan Cloud Storage untuk melacak transformasi objek yang dilakukan oleh tugas operasi batch penyimpanan. Untuk informasi tentang cara mengaktifkan log audit, lihat Mengaktifkan log audit. Dalam entri log audit, kolom metadata callUserAgent dengan nilai StorageBatchOperations menunjukkan transformasi operasi batch penyimpanan.

Langkah Berikutnya