Saat pemrosesan data bergantung pada event eksternal yang tidak dapat diprediksi—seperti unggahan file baru ke OSS atau kedatangan pesan baru di Kafka—penjadwalan periodik tradisional dapat membuang sumber daya dan menyebabkan penundaan pemrosesan. Pemicu DataWorks dirancang untuk skenario semacam ini. Pemicu mendengarkan event eksternal secara real time dan menjalankan alur kerja terkait sesuai permintaan. Pendekatan ini memungkinkan pipa data berbasis event, sehingga meningkatkan otomatisasi dan ketepatan waktu data. Topik ini menjelaskan cara membuat, mengonfigurasi, dan mengelola pemicu.
Cara kerja
Pemicu DataWorks adalah komponen yang memungkinkan penjadwalan berbasis event. Fungsi utamanya adalah memantau event yang telah ditentukan sebelumnya. Ketika event tertentu terjadi, pemicu akan menjalankan alur kerja yang dipicu oleh event tersebut dan meneruskan informasi event ke alur kerja sebagai parameter.
Memantau event dari berbagai sumber: Pemicu dapat memantau event dari sumber yang berbeda.
Event penyimpanan eksternal: Memantau pembuatan objek baru di bucket OSS.
Event pesan eksternal: Memantau kedatangan pesan baru di antrian pesan seperti Kafka, RocketMQ, dan RabbitMQ.
Menangkap dan meneruskan parameter dinamis: Pemicu menangkap konteks event dan meneruskannya ke alur kerja hilir sebagai parameter.
Untuk event OSS, informasi yang ditangkap mencakup detail file.
Untuk event antrian pesan, informasi yang ditangkap mencakup seluruh isi pesan, seperti kunci, nilai, dan header.
Node dalam alur kerja kemudian dapat menggunakan parameter ini untuk memproses data berdasarkan event tersebut.
Jenis yang didukung:
Antrian pesan: Kafka, RocketMQ, dan RabbitMQ.
Objek penyimpanan: OSS.
Ketersediaan
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 atau yang lebih baru. Jika edisi Anda saat ini tidak mendukung fitur ini, Anda dapat meningkatkan DataWorks ke Edisi Profesional atau edisi yang lebih baru.
Penagihan
Saat alur kerja yang dipicu oleh event dijalankan, biaya dikenakan di EventBridge selain biaya untuk jalannya tugas terjadwal. Untuk informasi selengkapnya, lihat Penagihan aliran acara. Anda dikenai biaya berdasarkan jumlah event.
Prasyarat
Pemicu bergantung pada aturan event di EventBridge. Anda harus mengaktifkan EventBridge dan memberikan izin serta mengaktifkan Message Service.
Anda memiliki sumber event untuk dipantau, seperti instans OSS atau antrian pesan cloud (Kafka, RocketMQ, atau RabbitMQ) di wilayah yang sama dengan ruang kerja Anda, beserta izin yang diperlukan untuk mengakses instans tersebut.
Anda adalah anggota ruang kerja target dengan peran Developer, O&M, or Workspace Administrator. Untuk informasi selengkapnya, lihat Menambahkan anggota ruang kerja dan mengelola peran mereka.
Buka halaman pengelolaan pemicu
Login ke Konsol DataWorks. Di wilayah target, klik di panel navigasi sebelah kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to Operation Center.
Di panel navigasi sebelah kiri Operation Center, klik , lalu klik tab Trigger Management.
Membuat pemicu
Jika Anda memiliki peran Developer, O&M, atau Administrator Ruang Kerja, Anda dapat membuat pemicu di tab Trigger Management.
Klik Create Trigger untuk membuka halaman konfigurasi Create Trigger.
CatatanPemicu event DataWorks bergantung pada EventBridge. Jika ini pertama kalinya Anda menggunakan fitur ini atau jika peran terkait layanan AliyunServiceRoleForDataWorksScheduler tidak ada, klik Authorize untuk memberikan izin yang diperlukan.
Izin yang diperlukan:
ram:CreateServiceLinkedRoledanarms:CheckServiceStatus. Untuk informasi selengkapnya, lihat Izin minimum yang diperlukan untuk membuat peran terkait layanan.
Konfigurasikan parameter seperti dijelaskan dalam tabel berikut.
Pemicu Kafka
Parameter
Deskripsi
Applicable Workspace
Pilih ruang kerja tempat pemicu berlaku. Hanya ruang kerja yang menggunakan versi baru Data Development yang tersedia.
Applicable Environment
Pemicu hanya berlaku untuk lingkungan produksi. Di lingkungan pengembangan, Anda harus memasukkan parameter secara manual.
Owner
Pilih pemilik pemicu dari daftar drop-down.
Trigger Type
Pilih ApsaraMQ for Kafka.
Trigger Event
Pemicu ini mendukung event
alikafka:Topic:Message, yang dipicu oleh pesan Kafka. Untuk informasi tentang cara mengirim pesan, lihat Mengirim dan menerima pesan Kafka.Kafka Instance
Pilih instans Kafka yang berada di wilayah yang sama dengan ruang kerja. Jika tidak ada instans yang tersedia, beli instans Kafka.
Topic
Tentukan topik yang dipantau oleh pemicu. Jika tidak ada topik yang tersedia, buat topik.
Key
Anda dapat menentukan kunci pesan. Alur kerja hanya dijalankan jika kunci pesan cocok persis. Parameter ini opsional. Jika Anda mengosongkan parameter ini, setiap pesan yang dikonsumsi akan memicu alur kerja.
Consumer group ID
Anda dapat memilih Quick Create atau Use Existing. Jika Anda memilih Quick Create, sistem akan membuat kelompok konsumen dengan ID grup yang dihasilkan secara otomatis.
Message Format Example
Contoh format pesan Kafka.
Dalam tugas di dalam alur kerja yang dipicu, Anda dapat menggunakan ${workflow.triggerMessage} untuk mendapatkan seluruh isi pesan, atau ${workflow.triggerMessage.xxx} untuk mendapatkan nilai bidang tertentu dalam isi pesan.
Pemicu RocketMQ
Parameter
Deskripsi
Applicable Workspace
Pilih ruang kerja tempat pemicu berlaku. Hanya ruang kerja yang menggunakan versi baru Data Development yang tersedia.
Applicable Environment
Pemicu hanya berlaku untuk lingkungan produksi. Di lingkungan pengembangan, Anda harus memasukkan parameter secara manual.
Owner
Pilih pemilik pemicu dari daftar drop-down.
Trigger Type
Pilih ApsaraMQ for RocketMQ.
CatatanVersi sebelum 5.x tidak didukung. Versi 5.x digunakan secara default.
Trigger Event
Pemicu ini mendukung event
mq:Topic:SendMessage, yang dipicu oleh konsumsi pesan RocketMQ.ApsaraMQ for RocketMQ Instance
Pilih instans RocketMQ yang berada di wilayah yang sama dengan ruang kerja. Jika tidak ada instans yang tersedia, buka RocketMQ Instance Management untuk membuatnya.
Topic
Tentukan topik yang dipantau oleh pemicu. Jika tidak ada topik yang tersedia, buka Topic Management untuk membuatnya.
Tag
Anda dapat menentukan tag pesan. Alur kerja hanya dijalankan jika tag pesan cocok persis. Parameter ini opsional. Jika Anda mengosongkan parameter ini, setiap pesan yang dikonsumsi 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 membuat kelompok konsumen dengan ID grup yang dihasilkan secara otomatis.
Message Format Example
Contoh format pesan RocketMQ.
Dalam tugas di dalam alur kerja yang dipicu, Anda dapat menggunakan ${workflow.triggerMessage} untuk mendapatkan seluruh isi pesan, atau ${workflow.triggerMessage.xxx} untuk mendapatkan nilai bidang tertentu dalam isi pesan.
Pemicu RabbitMQ
Parameter
Deskripsi
Applicable Workspace
Pilih ruang kerja tempat pemicu berlaku. Hanya ruang kerja yang menggunakan versi baru Data Development yang tersedia.
Applicable Environment
Pemicu hanya berlaku untuk lingkungan produksi. Di lingkungan pengembangan, Anda harus memasukkan parameter secara manual.
Owner
Pilih pemilik pemicu dari daftar drop-down.
Trigger Type
Pilih ApsaraMQ for RabbitMQ.
Trigger Event
Pemicu ini mendukung event
amqp:Queue:SendMessage, yang dipicu oleh konsumsi pesan RabbitMQ.ApsaraMQ for RabbitMQ Instance
Pilih instans RabbitMQ yang berada di wilayah yang sama dengan ruang kerja. Jika tidak ada instans yang tersedia, buat instans RabbitMQ.
Vhost
Nama virtual host (vhost) RabbitMQ, yang digunakan untuk mengisolasi antrian secara logis. Jika tidak ada vhost yang tersedia, lihat Vhost management.
Queue
Tentukan antrian yang dipantau oleh pemicu. Jika tidak ada antrian yang sesuai, lihat Queue management.
Message Format Example
Contoh isi pesan RabbitMQ.
Dalam tugas di dalam alur kerja yang dipicu, Anda dapat menggunakan ${workflow.triggerMessage} untuk mendapatkan seluruh isi pesan, atau ${workflow.triggerMessage.xxx} untuk mendapatkan nilai bidang tertentu dalam isi pesan.
Pemicu OSS
Parameter
Deskripsi
Applicable Workspace
Pilih ruang kerja tempat pemicu berlaku. Hanya ruang kerja yang menggunakan versi baru Data Development yang tersedia.
Applicable Environment
Pemicu hanya berlaku untuk lingkungan produksi. Di lingkungan pengembangan, Anda harus memasukkan parameter secara manual.
Owner
Pilih pemilik pemicu dari daftar drop-down.
Trigger Type
OSS.
Trigger Event
Jenis event berikut didukung:
oss:ObjectCreated:PutObject: Mengunggah objek.
oss:ObjectCreated:PostObject: Mengunggah objek menggunakan formulir HTML.
oss:ObjectCreated:CompleteMultipartUpload: Unggahan multipart selesai.
Bucket Name
Pilih bucket OSS yang ingin Anda gunakan sebagai sumber event dari daftar drop-down. Jika Anda belum membuat bucket, buat bucket.
File Name
Tentukan nama file yang memicu event. Karakter wildcard didukung:
Pencocokan awalan:
Contoh:
task*.Deskripsi: Event dipicu saat Anda mengunggah file dengan awalan
taskke OSS, seperti task10.txt.
Pencocokan akhiran:
Contoh:
*task.txt.Deskripsi: Event dipicu saat Anda mengunggah file dengan akhiran
task.txtke OSS, seperti work_task.txt.
Pencocokan fleksibel:
Contoh:
*task*.Deskripsi: Event dipicu saat Anda mengunggah file yang namanya mengandung
taskke OSS, seperti work_task.txt.
Klik Confirm untuk membuat pemicu.
Menggunakan pemicu
Pemicu harus digunakan bersama alur kerja yang dipicu oleh event. Hanya alur kerja yang dipicu oleh event yang telah dipublikasikan ke Operation Center yang dapat dipicu.
Untuk menerapkan penjadwalan berbasis peristiwa, Anda harus memasangkan pemicu dengan alur kerja yang dipicu peristiwa. Setelah Anda submit alur kerja tersebut ke Pusat Operasi, tugas-tugas di dalamnya akan berjalan secara otomatis ketika peristiwa yang dipantau terjadi.
Saat mengonfigurasi alur kerja yang dipicu oleh event, pilih pemicu 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 adalah alur kerja dijalankan sebagai respons terhadap event eksternal, bukan berdasarkan jadwal tetap.
Mengelola pemicu
Di tab Trigger Management, temukan pemicu target untuk melihat tugas yang mereferensikannya, memodifikasinya, melihat versi, atau melakukan rollback.
View Nodes That Reference Calendar: Jika pemicu direferensikan oleh alur kerja yang dipicu oleh event, Anda dapat mengklik View Nodes That Reference Calendar di kolom Actions. Halaman View Nodes That Reference Calendar menampilkan alur kerja yang dipicu oleh event yang mereferensikan pemicu tersebut.
Editpemicu: Klik Edit di kolom Actions. Di halaman Modify Trigger, edit informasi pemicu dan klik Confirm.
CatatanSetelah Anda memodifikasi pemicu, sistem secara otomatis membuat versi baru untuknya.
View Version:
Klik Version di kolom Actions untuk melihat semua versi historis pemicu di halaman View Versions.
Anda dapat mengklik View di kolom Actions untuk suatu versi guna melihat detailnya.
Anda dapat melakukan rollback ke versi sebelumnya. Untuk melakukan rollback ke versi sebelumnya, klik Roll Back di samping versi yang diinginkan. Di kotak dialog yang muncul, masukkan Remarks untuk rollback tersebut dan klik OK.
CatatanSaat Anda melakukan rollback, sistem menghasilkan versi baru berdasarkan versi yang Anda pilih untuk rollback.
Delete a trigger: Sebelum menghapus pemicu, pastikan semua alur kerja yang dipicu oleh event yang mereferensikannya telah diambil offline dan dihapus. Kemudian, klik Delete dan klik Confirm di kotak dialog konfirmasi.
Langkah selanjutnya
Setelah membuat dan mengonfigurasi pemicu, Anda dapat menggunakannya dalam alur kerja yang dipicu oleh event. Untuk informasi selengkapnya, lihat Alur kerja yang dipicu oleh event.