Membuat dan menjalankan tugas yang mengirimkan notifikasi status Pub/Sub

Dokumen ini menjelaskan cara membuat tugas Batch yang mengirimkan notifikasi Pub/Sub. Anda dapat menggunakan Pub/Sub untuk mendapatkan notifikasi saat status tugas atau tugas berubah, atau saat tugas atau tugas memasuki status tertentu. Untuk mengetahui informasi selengkapnya, lihat Memantau tugas menggunakan notifikasi.

Sebelum memulai

Membuat dan menjalankan tugas yang mengirimkan notifikasi

Anda dapat membuat tugas Batch yang mengirimkan notifikasi Pub/Sub dengan melakukan hal berikut:

Gunakan Google Cloud CLI atau REST API untuk membuat tugas yang menyertakan kolom notifications dan satu atau beberapa objek jobNotification di isi utama file JSON:

  "notifications": [
    {
      "pubsubTopic": "projects/PROJECT_ID/topics/TOPIC_ID",
      "message": {
        ATTRIBUTES
      }
    },
  ]

Ganti kode berikut:

  • PROJECT_ID: ID project project yang berisi topik Pub/Sub.
  • TOPIC_ID: ID topik Pub/Sub dari topik yang Anda buat saat mengaktifkan notifikasi Pub/Sub.
  • ATTRIBUTES: atribut yang Anda tentukan bergantung pada apakah Anda ingin menerima notifikasi tentang sebuah tugas atau semua tugas dalam tugas tersebut:

    • Untuk notifikasi tentang semua perubahan status tugas, tentukan hal berikut:

      "type": "JOB_STATE_CHANGED"
      
    • Untuk notifikasi tentang perubahan status pekerjaan tertentu, tentukan hal berikut:

      "type": "JOB_STATE_CHANGED",
      "newJobState": "JOB_STATE"
      

      Ganti JOB_STATE dengan salah satu status pekerjaan berikut:

      • QUEUED
      • SCHEDULED
      • RUNNING
      • SUCCEEDED
      • FAILED

      Untuk mengetahui informasi selengkapnya tentang status tugas, lihat Siklus proses tugas.

    • Untuk notifikasi tentang semua perubahan status tugas, tentukan hal berikut:

      "type": "TASK_STATE_CHANGED"
      
    • Untuk notifikasi tentang perubahan status tugas tertentu, tentukan hal berikut:

      "type": "TASK_STATE_CHANGED",
      "newTaskState": "TASK_STATE"
      

      Ganti TASK_STATE dengan salah satu status tugas berikut:

      • PENDING
      • ASSIGNED
      • RUNNING
      • SUCCEEDED
      • FAILED

      Untuk mengetahui informasi selengkapnya tentang status tugas, lihat Siklus proses tugas.

Misalnya, Anda ingin menerima notifikasi tentang semua perubahan status tugas dan setiap kali tugas gagal. Untuk melakukannya, tambahkan kode berikut ke file JSON konfigurasi tugas Anda:

  "notifications": [
    {
      "pubsubTopic": "projects/example-projecet/topics/example-topic",
      "message": {
        "type": "JOB_STATE_CHANGED"
      }
    },
    {
      "pubsubTopic": "projects/example-project/topics/example-topic",
      "message": {
        "type": "TASK_STATE_CHANGED",
        "newTaskState": "FAILED"
      }
    }
  ]

Langkah selanjutnya