Menggunakan Eventarc untuk mengelola tugas Dataflow

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

Misalnya, alur kerja Anda mungkin:

  • Mengirim pemberitahuan ke engineer yang siap siaga jika tugas penting gagal.
  • Beri tahu pengguna saat tugas batch selesai, atau mulai tugas Dataflow lain.
  • Bersihkan resource yang digunakan oleh tugas, seperti bucket Cloud Storage.

Ringkasan

Eventarc adalah Google Cloud layanan 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 mengubah status.

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

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. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Eventarc APIs.

    Enable the APIs

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 peristiwa

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 mirip dengan jenis resource Job, dengan kolom steps, pipeline_description, dan transform_name_mapping dihilangkan. Selain itu, bergantung pada status tugas, beberapa kolom mungkin tidak ada.

Berikut adalah 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 informasi selengkapnya tentang status tugas, lihat topik berikut:

Langkah berikutnya