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 adalah ID project Anda.

Aktifkan API

Aktifkan Storage Batch Operations API.

gcloud services enable storagebatchoperations.googleapis.com

Membuat manifes

Untuk menggunakan manifes untuk pemilihan objek, buat manifes.

Membuat tugas operasi batch penyimpanan

Bagian ini menjelaskan cara membuat tugas operasi batch penyimpanan.

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:

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

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

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

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

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

      • --put-object-event-based-hold: Mengaktifkan penangguhan objek berbasis peristiwa.

      • --no-put-object-event-based-hold: Menonaktifkan penangguhan objek berbasis peristiwa.

      • --put-object-temporary-hold: 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:

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

      • Memperbarui metadata objek:

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

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

      • 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 penahanan 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.

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

    Dengan:

    • 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:

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

    Dengan:

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

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:

    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:

    • 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:

    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:

    • 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 mengirim kueri ke set data tertaut, mengekspor data yang dihasilkan sebagai file CSV, dan menyimpannya ke bucket Cloud Storage. Kemudian, tugas operasi batch penyimpanan dapat menggunakan file CSV ini sebagai manifesnya.

Menjalankan kueri SQL berikut di BigQuery pada tampilan set data Storage Insights akan mengambil objek yang lebih besar dari 1 KiB yang diberi nama Temp_Training:

  EXPORT DATA OPTIONS(
   uri=`URI`,
   format=`CSV`,
   overwrite=OVERWRITE_VALUE,
   field_delimiter=',') AS
  SELECT bucket, name, generation
  FROM DATASET_VIEW_NAME
  WHERE bucket = BUCKET_NAME
  AND name LIKE (`Temp_Training%`)
  AND size > 1024 * 1024
  AND snapshotTime = SNAPSHOT_TIME
  

Dengan:

  • 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 lengkap tampilan set data Storage Insights 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

Untuk membuat tugas operasi batch penyimpanan guna memproses objek yang ada 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:

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

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

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

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

      • --put-object-event-based-hold: Mengaktifkan penangguhan objek berbasis peristiwa.

      • --no-put-object-event-based-hold: Menonaktifkan penangguhan objek berbasis peristiwa.

      • --put-object-temporary-hold: Mengaktifkan penangguhan objek sementara.

      • --no-put-object-temporary-hold: Menonaktifkan penangguhan objek sementara.

Integrasi dengan Kontrol Layanan VPC

Anda dapat memberikan lapisan keamanan tambahan untuk resource operasi batch penyimpanan menggunakan Kontrol Layanan VPC. Saat menggunakan Kontrol Layanan VPC, Anda menambahkan project ke perimeter layanan yang melindungi resource dan layanan dari permintaan yang berasal dari luar perimeter. Untuk mempelajari lebih lanjut detail perimeter layanan Kontrol Layanan VPC untuk operasi batch penyimpanan, lihat Produk dan batasan yang didukung.

Menggunakan Cloud Audit Logs untuk tugas operasi batch penyimpanan

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

Langkah Berikutnya