Menggunakan Eventarc untuk mengelola tugas Dataflow

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

Misalnya, alur kerja Anda mungkin:

  • Kirim peringatan kepada engineer panggilan jika tugas penting gagal.
  • Memberi tahu pengguna saat tugas batch selesai, atau memulai tugas Dataflow lainnya.
  • Membersihkan resource yang digunakan oleh tugas, misalnya bucket Cloud Storage.

Ringkasan

Eventarc adalah layanan Google Cloud yang dapat memproses peristiwa dari layanan lain dan mengarahkannya 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 yang mendasarinya.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Aktifkan API Eventarc.

    Mengaktifkan API

  5. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  6. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  7. Aktifkan API Eventarc.

    Mengaktifkan API

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.

Pilih tujuan acara

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

Contoh:

  • Untuk mengirim pemberitahuan SMS, Anda dapat menggunakan Cloud Functions untuk membuat pemicu HTTP mandiri.
  • Untuk alur kerja yang lebih kompleks, Anda dapat menggunakan Workflows.
  • Jika pipeline Dataflow Anda adalah bagian dari solusi lebih besar yang berjalan di Google Kubernetes Engine, pemicu dapat mengarahkan 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

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

Secara opsional, Anda dapat memfilter peristiwa berdasarkan ID tugas Dataflow. Misalnya, Anda dapat memilih ID pekerjaan 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 ini mirip dengan jenis resource Job, dengan kolom steps, pipeline_description, dan transform_name_mapping dihapus. Selain itu, bergantung pada status pekerjaan, 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 pekerjaan, lihat topik berikut:

Langkah selanjutnya