Jadwal berulang tradisional dapat membuang sumber daya dan menyebabkan penundaan pemrosesan data, terutama ketika pemrosesan bergantung pada event eksternal yang tidak dapat diprediksi—seperti unggahan file baru ke OSS atau pesan baru di Kafka. Pendekatan tersebut mengandalkan polling berbasis waktu tetap. Trigger DataWorks dirancang untuk skenario semacam ini dengan memantau sinyal event eksternal secara real time guna menjalankan pipa data terkait sesuai permintaan. Hal ini memungkinkan implementasi pipa data berbasis event yang meningkatkan otomatisasi dan ketepatan waktu pemrosesan data. Topik ini menjelaskan cara membuat, mengonfigurasi, dan mengelola trigger penjadwalan berbasis event.
Pengenalan fungsi
Trigger DataWorks adalah komponen penjadwalan berbasis event yang memantau event yang telah ditentukan sebelumnya. Ketika suatu event terjadi, trigger tersebut menjalankan alur kerja yang dipicu oleh event tersebut dan meneruskan informasi event ke alur kerja sebagai parameter.
Pemantauan event multi-sumber: Anda dapat mengonfigurasi trigger untuk memantau event dari berbagai sumber.
Event penyimpanan eksternal: Pantau pembuatan file baru di bucket OSS.
Event pesan eksternal: Pantau kedatangan pesan baru di antrian pesan seperti Kafka dan RocketMQ.
Pengambilan dan penerusan parameter dinamis: Saat trigger mendeteksi suatu event, trigger tersebut menangkap informasi konteks event dan meneruskannya ke node downstream sebagai parameter.
Untuk event OSS, informasi yang ditangkap mencakup detail file.
Untuk event antrian pesan, informasi yang ditangkap mencakup seluruh isi pesan, seperti kunci (key), nilai (value), dan header.
Node internal dalam alur kerja yang dipicu dapat mereferensikan parameter-parameter ini selama eksekusi, sehingga memungkinkan pemrosesan data berdasarkan isi event.
Tipe yang didukung:
Antrian pesan: Kafka, RocketMQ, dan RabbitMQ.
Objek penyimpanan: OSS.
Penerapan
Wilayah: Fitur ini hanya tersedia di wilayah China (Hangzhou), China (Beijing), China (Zhangjiakou), China (Ulanqab), China (Shenzhen), China (Hong Kong), dan Singapura.
Edisi: Fitur ini hanya tersedia di DataWorks Edisi Profesional dan yang lebih tinggi. Jika edisi Anda saat ini tidak mendukung fitur ini, Anda dapat upgrade DataWorks ke Edisi Profesional atau edisi yang lebih tinggi.
Penagihan
Jika alur kerja berbasis trigger dikonfigurasi untuk dijalankan berdasarkan suatu event, EventBridge akan mengenakan biaya tambahan selain biaya untuk jalannya tugas terjadwal. Untuk informasi lebih lanjut mengenai biaya, lihat Aturan penagihan untuk aliran event. Penagihan didasarkan pada jumlah event.
Persiapan
Trigger bergantung pada aturan event EventBridge. Anda harus mengaktifkan EventBridge dan memberikan izin yang diperlukan serta Simple Message Queue (formerly MNS).
Objek yang akan dipantau, seperti instans OSS atau antrian pesan cloud (Kafka, RocketMQ, atau RabbitMQ), harus berada di wilayah yang sama dengan ruang kerja. Anda juga harus memiliki izin akses ke instans-instans tersebut.
Anda telah menambahkan pengguna ke ruang kerja dan memberikan peran Developer, O&M, or Workspace Administrator. Untuk informasi lebih lanjut, lihat Tambah anggota ruang kerja dan kelola izin peran anggota.
Buka halaman manajemen trigger
Buka halaman Operation Center.
Login ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi kiri, pilih . Pada halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down dan klik Go to Operation Center.
Di panel navigasi kiri halaman Operation Center, pilih , lalu klik tab Trigger Management.
Buat trigger
Jika Anda memiliki peran Developer, O&M, atau Administrator untuk ruang kerja, Anda dapat membuat trigger di tab Trigger Management.
Klik Create Trigger untuk membuka halaman konfigurasi Create Trigger.
CatatanTrigger event DataWorks bergantung pada EventBridge. Jika Anda menggunakan fitur ini untuk pertama kalinya atau peran terkait layanan AliyunServiceRoleForDataWorksScheduler tidak tersedia, Anda dapat mengklik One-click Authorization untuk memberikan izin yang diperlukan.
Izin yang diperlukan:
ram:CreateServiceLinkedRole. Untuk informasi lebih lanjut, lihat Izin minimum yang diperlukan untuk membuat peran terkait layanan.
Konfigurasikan parameter seperti dijelaskan dalam tabel berikut.
Trigger Kafka
Parameter
Deskripsi konfigurasi
Applicable Workspace
Pilih ruang kerja tempat trigger dapat digunakan. Hanya ruang kerja yang mendukung Data Studio baru yang tersedia.
Applicable Environment
Trigger hanya berlaku untuk lingkungan produksi. Saat dijalankan di lingkungan pengembangan, Anda harus memasukkan parameter secara manual.
Owner
Pilih pemilik untuk trigger dari daftar drop-down.
Trigger Type
Pilih Message Queue For Apache Kafka.
Triggering Event
Mendukung tipe event pemicu
alikafka:Topic:Message. Event ini dipicu oleh pesan Kafka. Untuk informasi tentang cara mengirim pesan, lihat Kirim dan terima pesan Kafka.Kafka Instance
Pilih instans Kafka di wilayah yang sama dengan ruang kerja Anda. Jika tidak ada instans yang tersedia, buka Beli instans Kafka untuk membuat satu.
Topic
Tentukan Topic yang dipantau oleh trigger. Jika tidak ada topik yang tersedia, buat satu: Buat Topic.
Key
Anda dapat menyetel kunci (key) untuk pesan. Tugas hanya akan dipicu jika kunci tersebut cocok persis. Parameter ini opsional. Jika Anda biarkan kosong, pesan apa pun akan memicu alur kerja.
Consumer Group ID
Anda dapat memilih Quick Create atau Use Existing. Jika Anda memilih Quick Create, sistem akan secara otomatis membuat ID grup dengan nama yang dihasilkan.
Message Format Example
Contoh tetap pesan Kafka. Dalam alur kerja yang dipicu,
Anda dapat menggunakan ${workflow.triggerMessage} untuk mendapatkan isi pesan lengkap. Anda juga dapat menggunakan ${workflow.triggerMessage.xxx} untuk mendapatkan nilai bidang tertentu dalam isi pesan.
Trigger RocketMQ
Parameter
Deskripsi konfigurasi
Applicable Workspace
Pilih ruang kerja tempat trigger dapat digunakan. Hanya ruang kerja yang mendukung Data Studio baru yang tersedia.
Applicable Environment
Trigger hanya berlaku untuk lingkungan produksi. Saat dijalankan di lingkungan pengembangan, Anda harus memasukkan parameter secara manual.
Owner
Pilih pemilik untuk trigger dari daftar drop-down.
Trigger Type
Pilih Message Queue For Apache RocketMQ.
CatatanVersi di bawah 5.x tidak didukung. Versi 5.x digunakan secara default.
Triggering Event
Mendukung event pemicu
mq:Topic:SendMessage, yang dipicu oleh konsumsi pesan RocketMQ.RocketMQ Instance
Pilih instans RocketMQ di wilayah yang sama dengan ruang kerja. Jika tidak ada instans aktif yang tersedia, buat satu di Manajemen Instans RocketMQ.
Topic
Menentukan objek Topic yang dipantau oleh trigger. Jika tidak ada topik yang tersedia, buka Manajemen Topik untuk membuat satu.
Tag
Anda dapat menyetel tag untuk pesan. Tugas hanya akan dipicu jika tag tersebut cocok persis. Parameter ini opsional. Jika Anda biarkan kosong, pesan apa pun akan memicu alur kerja.
Security Group
Jika instans RocketMQ adalah instansi langganan, Anda dapat memilih security group.
Consumer Group
Anda dapat memilih Quick Create atau Use Existing. Jika Anda memilih Quick Create, sistem akan secara otomatis membuat ID grup dengan nama yang dihasilkan.
Message Format Example
Contoh tetap pesan RocketMQ. Dalam alur kerja yang dipicu,
Anda dapat menggunakan ${workflow.triggerMessage} untuk mendapatkan isi pesan lengkap. Anda juga dapat menggunakan ${workflow.triggerMessage.xxx} untuk mendapatkan nilai bidang tertentu dalam isi pesan.
Trigger RabbitMQ
Parameter
Deskripsi konfigurasi
Applicable Workspace
Pilih ruang kerja tempat trigger dapat digunakan. Hanya ruang kerja yang mendukung Data Studio baru yang tersedia.
Applicable Environment
Trigger hanya berlaku untuk lingkungan produksi. Saat dijalankan di lingkungan pengembangan, Anda harus memasukkan parameter secara manual.
Owner
Pilih pemilik untuk trigger dari daftar drop-down.
Trigger Type
Pilih Message Queue For RabbitMQ.
Triggering Event
Mendukung tipe event pemicu
amqp:Queue:SendMessage, yang dipicu oleh konsumsi pesan RabbitMQ.RabbitMQ Instance
Pilih instans RabbitMQ di wilayah yang sama dengan ruang kerja. Jika tidak ada instans aktif yang tersedia, buat satu: Buat instans RabbitMQ.
Vhost
Nama virtual host RabbitMQ, yang digunakan untuk mengisolasi antrian secara logis. Jika Anda belum memiliki Vhost, lihat Manajemen Vhost untuk membuat satu.
Queue
Menentukan objek Queue yang dipantau oleh trigger. Jika Anda belum memiliki antrian yang sesuai, lihat Manajemen Antrian untuk membuat satu.
Message Format Example
Contoh isi pesan RabbitMQ. Dalam alur kerja yang dipicu,
Anda dapat menggunakan ${workflow.triggerMessage} untuk mendapatkan isi pesan lengkap. Anda juga dapat menggunakan ${workflow.triggerMessage.xxx} untuk mendapatkan nilai bidang tertentu dalam isi pesan.
Trigger OSS
Parameter
Deskripsi konfigurasi
Applicable Workspace
Pilih ruang kerja tempat trigger dapat digunakan. Hanya ruang kerja yang mendukung Data Studio baru yang tersedia.
Applicable Environment
Trigger hanya berlaku untuk lingkungan produksi. Saat dijalankan di lingkungan pengembangan, Anda harus memasukkan parameter secara manual.
Owner
Pilih pemilik untuk trigger dari daftar drop-down.
Trigger Type
Object Storage Service (OSS).
Triggering Event
Tiga tipe event berikut didukung:
oss:ObjectCreated:PutObject: Unggah file.
oss:ObjectCreated:PostObject: Unggah file menggunakan formulir HTML.
oss:ObjectCreated:CompleteMultipartUpload: Unggah multi-bagian selesai.
Bucket Name
Dari daftar drop-down, pilih nama bucket OSS yang akan digunakan sebagai sumber event. Jika Anda belum membuat bucket, Anda dapat membuat bucket OSS.
File Name
Tentukan nama file yang memicu event. Karakter wildcard didukung:
Pencocokan awalan file:
Contoh:
task*.Deskripsi: Mengunggah file dengan awalan
taskke OSS, seperti task10.txt, memicu event.
Pencocokan akhiran file:
Contoh:
*task.txt.Deskripsi: Mengunggah file dengan akhiran
task.txtke OSS, seperti work_task.txt, memicu event.
Pencocokan fleksibel:
Contoh:
*task*.Deskripsi: Mengunggah file yang namanya mengandung
task, seperti work_task.txt, ke OSS memicu event.
Klik Confirm untuk membuat trigger.
Gunakan trigger
Trigger harus digunakan bersama alur kerja yang dipicu oleh event. Hanya alur kerja yang dipicu oleh event yang telah dipublikasikan ke Operation Center yang dapat dijalankan oleh trigger.
Untuk menerapkan penjadwalan berbasis event, Anda harus mengaitkan trigger dengan alur kerja yang dipicu oleh event. Setelah Anda mengirimkan alur kerja yang dipicu oleh event ke Operation Center, tugas-tugas dalam alur kerja tersebut akan secara otomatis dipicu ketika event yang dipantau terjadi.
Saat Anda membuat alur kerja berbasis trigger, konfigurasikan trigger yang telah Anda buat di bagian Scheduling Policy.
Node internal dalam alur kerja yang dipicu oleh event dikonfigurasi dengan cara yang sama seperti alur kerja biasa.
Perbedaan utamanya terletak pada mekanisme eksekusi. Alur kerja yang dipicu oleh event tidak bergantung pada jadwal berulang, melainkan digerakkan oleh trigger yang merespons event eksternal.
Kelola trigger
Di tab Trigger Management, Anda dapat menemukan trigger untuk melihat tugas yang direferensikannya, mengubahnya, melihat versinya, atau melakukan rollback.
View Referenced Tasks: Jika trigger direferensikan oleh alur kerja yang dipicu oleh event, Anda dapat mengklik View Referenced Tasks di kolom Actions. Di halaman View Referenced Tasks, Anda dapat melihat alur kerja yang dipicu oleh event yang mereferensikan trigger tersebut.
Modify a trigger: Klik Modify di kolom Actions. Di halaman Modify Trigger, edit informasi trigger dan klik Confirm.
CatatanSetelah Anda mengubah trigger, sistem akan secara otomatis membuat versi baru.
View Versions:
Klik Versions di kolom Actions. Di halaman View Versions, Anda dapat melihat semua versi historis trigger.
Anda dapat mengklik View di kolom Actions untuk melihat detail versi tertentu.
Rollback didukung. Untuk melakukan rollback ke versi sebelumnya, klik Roll Back di samping versi tersebut. Di kotak dialog yang muncul, masukkan komentar di bidang Remark dan klik OK.
CatatanSaat Anda melakukan rollback, sistem akan secara otomatis membuat versi baru berdasarkan versi historis yang Anda pilih.
Delete a trigger: Sebelum Anda dapat menghapus trigger, pastikan bahwa semua tugas yang mereferensikannya telah dibatalkan publikasinya dan dihapus. Lalu, klik Delete dan klik Confirm di kotak dialog konfirmasi.
Operasi lainnya
Setelah Anda membuat dan mengonfigurasi trigger, Anda dapat menggunakannya dalam alur kerja yang dipicu oleh event. Untuk informasi lebih lanjut, lihat Alur kerja yang dipicu oleh event.