Menggunakan Eventarc untuk mengelola tugas Dataflow

Dokumen ini menjelaskan cara membuat alur kerja berbasis peristiwa yang dipicu oleh perubahan status di tugas Dataflow Anda.

Misalnya, alur kerja Anda dapat:

  • Mengirim pemberitahuan kepada teknisi yang bertugas jika tugas penting gagal.
  • Memberi tahu pengguna saat tugas batch selesai, atau memulai tugas Dataflow lain.
  • Membersihkan resource yang digunakan oleh tugas, seperti bucket Cloud Storage.

Ringkasan

Eventarc adalah layanan Google Cloud yang dapat memproses peristiwa dari layanan lain dan merutekannya ke berbagai tujuan.

Saat Anda menjalankan tugas Dataflow, tugas akan bertransisi melalui berbagai status, seperti JOB_STATE_QUEUED, JOB_STATE_RUNNING, dan JOB_STATE_DONE. Integrasi Dataflow dengan Eventarc memungkinkan Anda memicu tindakan saat tugas berubah status.

Karena Eventarc adalah layanan terkelola, Anda tidak perlu menyediakan atau mengelola infrastruktur dasarnya.

Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Eventarc APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Eventarc APIs.

    Enable the APIs

  8. Untuk menggunakan Eventarc API, project Anda harus memiliki kuota yang cukup. Selain itu, akun layanan yang terkait dengan pemicu Eventarc harus memiliki izin yang sesuai.

    Memilih tujuan acara

    Pilih tujuan peristiwa untuk menerima peristiwa. Tujuan menentukan langkah berikutnya dalam alur kerja Anda.

    Contoh:

    • Untuk mengirim pemberitahuan SMS, Anda dapat menggunakan fungsi Cloud Run untuk membuat pemicu HTTP mandiri.
    • Untuk alur kerja yang lebih kompleks, Anda dapat menggunakan Alur Kerja.
    • Jika pipeline Dataflow Anda adalah bagian dari solusi yang lebih besar yang berjalan di Google Kubernetes Engine, pemicu dapat merutekan peristiwa ke layanan GKE yang berjalan di cluster Anda.

    Untuk mengetahui informasi selengkapnya tentang gaya arsitektur ini, lihat Arsitektur berbasis peristiwa dalam dokumentasi Eventarc.

    Buat pemicu

    Untuk membuat pemicu Eventarc untuk perubahan status tugas Dataflow, lihat salah satu dokumen berikut:

    Secara opsional, Anda dapat memfilter peristiwa menurut ID tugas Dataflow. Misalnya, Anda dapat memilih ID tugas yang cocok dengan ekspresi reguler. Untuk mengetahui informasi selengkapnya, lihat Memahami pola jalur.

    Memproses peristiwa

    Data peristiwa menjelaskan tugas Dataflow pada saat peristiwa dipicu. Payload serupa dengan jenis resource Job, dengan kolom steps, pipeline_description, dan transform_name_mapping dihapus. Selain itu, bergantung pada status tugas, beberapa kolom mungkin tidak ada.

    Berikut contoh payload:

    {
      "id":"2023-04-13_16_28_37-12345678",
      "projectId":"my-project",
      "name":"job1",
      "currentState":"JOB_STATE_QUEUED",
      "currentStateTime":"2023-04-13T23:28:37.437622Z",
      "createTime":"2023-04-13T23:28:37.437622Z",
      "location":"us-central1",
      "startTime":"2023-04-13T23:28:37.437622Z"
    }
    

    Untuk mengetahui informasi selengkapnya tentang status tugas, lihat topik berikut:

    Langkah berikutnya