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
- 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.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Eventarc.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Eventarc.
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:
- Merutekan peristiwa Dataflow ke Cloud Run
- Merutekan peristiwa Dataflow ke Google Kubernetes Engine
- Merutekan peristiwa Dataflow ke Workflows
- Membuat pemicu untuk Cloud Functions
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: