Membuat pemicu peristiwa kustom untuk menjalankan alur di Azure Data Factory
BERLAKU UNTUK: Azure Data Factory Azure Synapse Analytics
Tip
Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!
Arsitektur berbasis peristiwa adalah pola integrasi data umum yang melibatkan produksi, deteksi, konsumsi, dan reaksi terhadap peristiwa. Skenario integrasi data sering mengharuskan pelanggan Azure Data Factory untuk memicu alur saat peristiwa tertentu terjadi. Integrasi asli Data Factory dengan Azure Event Grid sekarang mencakup topik kustom. Anda mengirim peristiwa ke topik Event Grid. Data Factory berlangganan topik, mendengarkan, dan kemudian memicu alur yang sesuai.
Integrasi yang dijelaskan dalam artikel ini bergantung pada Azure Event Grid. Pastikan langganan Anda terdaftar di penyedia sumber daya Event Grid. Untuk informasi selengkapnya, lihat Penyedia dan jenis sumber daya. Anda harus dapat melakukan tindakan Microsoft.EventGrid/eventSubscriptions/
. Tindakan ini merupakan bagian dari peran bawaan EventGrid EventSubscription Contributor.
Penting
Jika Anda menggunakan fitur ini di Azure Synapse Analytics, pastikan langganan Anda juga terdaftar di penyedia sumber daya Data Factory. Jika tidak, Anda akan mendapatkan pesan yang menyatakan bahwa "pembuatan Langganan Peristiwa gagal."
Jika Anda menggabungkan parameter alur dan pemicu peristiwa kustom, Anda dapat mengurai dan mereferensikan data
payload kustom dalam proses alur. data
Karena bidang dalam payload peristiwa kustom adalah bentuk bebas, struktur nilai kunci JSON, Anda dapat mengontrol eksekusi alur berbasis peristiwa.
Penting
Jika kunci yang dirujuk dalam parameterisasi hilang dalam payload peristiwa kustom, trigger run
gagal. Anda mendapatkan pesan yang menyatakan ekspresi tidak dapat dievaluasi karena keyName
properti tidak ada. Dalam hal ini, tidak ada pipeline run
yang dipicu oleh peristiwa.
Menyiapkan topik kustom di Event Grid
Untuk menggunakan pemicu peristiwa kustom di Data Factory, Anda harus terlebih dahulu menyiapkan topik kustom di Event Grid.
Buka Event Grid dan buat topik sendiri. Untuk informasi selengkapnya tentang cara membuat topik kustom, lihat tutorial portal Event Grid dan tutorial Azure CLI.
Catatan
Alur kerja berbeda dari pemicu peristiwa penyimpanan. Di sini, Data Factory tidak menyiapkan topik untuk Anda.
Data Factory mengharapkan peristiwa mengikuti skema peristiwa Event Grid. Pastikan payload peristiwa memiliki bidang berikut:
[
{
"topic": string,
"subject": string,
"id": string,
"eventType": string,
"eventTime": string,
"data":{
object-unique-to-each-publisher
},
"dataVersion": string,
"metadataVersion": string
}
]
Menggunakan Data Factory untuk membuat pemicu peristiwa kustom
Buka Data Factory dan masuk.
Beralih ke tab Edit. Cari ikon pensil.
Pilih Pemicu di menu, lalu pilih Baru/Edit.
Pada halaman Tambahkan Pemicu , pilih Pilih pemicu, lalu pilih + Baru.
Di bawah Jenis, pilih Peristiwa kustom.
Pilih topik kustom Anda dari daftar dropdown langganan Azure atau masukkan cakupan topik peristiwa secara manual.
Catatan
Untuk membuat atau mengubah pemicu peristiwa kustom di Data Factory, Anda perlu menggunakan akun Azure dengan kontrol akses berbasis peran Azure (Azure RBAC) yang sesuai. Tidak diperlukan izin lain. Perwakilan layanan Data Factory tidak memerlukan izin khusus ke Event Grid Anda. Untuk informasi selengkapnya tentang kontrol akses, lihat bagian Kontrol akses berbasis peran.
Properti
Subject begins with
danSubject ends with
memungkinkan Anda memfilter peristiwa pemicu. Kedua properti bersifat opsional.Gunakan + Baru untuk menambahkan Jenis peristiwa untuk difilter. Daftar pemicu peristiwa kustom menggunakan hubungan OR. Saat peristiwa kustom dengan properti cocok dengan
eventType
yang ada di daftar, eksekusi alur dipicu. Jenis peristiwa tidak peka huruf besar/kecil. Misalnya, dalam cuplikan layar berikut, pemicunya cocok dengan semuacopycompleted
ataucopysucceeded
peristiwa yang memiliki subjek yang dimulai dengan pabrik.Pemicu peristiwa kustom dapat mengurai dan mengirim payload
data
kustom ke alur. Anda membuat parameter alur lalu mengisi nilai di halaman Parameter . Gunakan format@triggerBody().event.data._keyName_
untuk mengurai payload data dan meneruskan nilai ke parameter alur.Untuk penjelasan terperinci, lihat:
Setelah Anda memasukkan parameter, pilih OK.
Pemfilteran tingkat lanjut
Pemicu peristiwa kustom mendukung kemampuan pemfilteran tingkat lanjut, mirip dengan pemfilteran tingkat lanjut Event Grid. Filter bersyarat ini memungkinkan alur dipicu berdasarkan nilai payload peristiwa. Misalnya, Anda mungkin memiliki bidang dalam payload peristiwa bernama Departemen, dan alur hanya boleh memicu jika Departemen sama dengan Keuangan. Anda mungkin juga menentukan logika kompleks, seperti bidang tanggal dalam daftar [1, 2, 3, 4, 5], bidang bulan yang tidak ada dalam daftar [11, 12], dan jika bidang tag berisi [Tahun Fiskal 2021, FiscalYear2021, atau FY2021].
Mulai hari ini, pemicu peristiwa kustom mendukung subset operator pemfilteran tingkat lanjut di Event Grid. Kondisi filter berikut ini didukung:
NumberIn
NumberNotIn
NumberLessThan
NumberGreaterThan
NumberLessThanOrEquals
NumberGreaterThanOrEquals
BoolEquals
StringContains
StringBeginsWith
StringEndsWith
StringIn
StringNotIn
Pilih + Baru untuk menambahkan kondisi filter baru.
Pemicu peristiwa kustom juga mematuhi batasan yang sama dengan Event Grid, seperti:
- 5 filter tingkat lanjut dan 25 nilai filter di semua filter per pemicu peristiwa kustom.
- 512 karakter per nilai string.
- 5 nilai untuk
in
operator dannot in
. - Kunci tidak dapat memiliki
.
karakter (titik) di dalamnya, misalnya,john.doe@contoso.com
. Saat ini, tidak ada dukungan untuk karakter escape di kunci. - Kunci yang sama dapat digunakan di lebih dari satu filter.
Data Factory bergantung pada versi ketersediaan umum (GA) terbaru dari Event Grid API. Saat versi API baru sampai ke tahap GA, Data Factory memperluas dukungannya untuk operator pemfilteran yang lebih canggih.
Skema JSON
Tabel berikut ini memberikan gambaran umum tentang elemen skema yang terkait dengan pemicu peristiwa kustom.
Elemen JSON | Deskripsi | Jenis | Nilai yang diizinkan | Wajib |
---|---|---|---|---|
scope |
Topik ID sumber daya Azure Resource Manager dari Event Grid. | String | ID Azure Resource Manager | Ya. |
events |
Jenis peristiwa yang menyebabkan pemicu ini diaktifkan. | Array string | Ya, setidaknya satu nilai diharapkan. | |
subjectBeginsWith |
Bidang subject harus dimulai dengan pola yang disediakan agar pemicu diaktifkan. Misalnya, pabrik hanya mengaktifkan pemicu untuk subjek peristiwa yang dimulai dengan pabrik. |
String | Tidak. | |
subjectEndsWith |
Bidang subject harus diakhiri dengan pola yang disediakan agar pemicu diaktifkan. |
String | Tidak. | |
advancedFilters |
Daftar blob JSON, masing-masing menentukan kondisi filter. Setiap blob menentukan key , operatorType , dan values . |
Daftar blob JSON | Tidak. |
Kontrol Akses Berbasis Peran
Data Factory menggunakan Azure RBAC untuk melarang akses yang tidak sah. Agar berfungsi dengan baik, Data Factory memerlukan akses untuk:
- Mendengarkan peristiwa.
- Berlangganan pembaruan dari peristiwa.
- Memicu alur yang ditautkan ke peristiwa kustom.
Agar berhasil membuat atau memperbarui pemicu peristiwa kustom, Anda harus masuk ke Data Factory dengan akun Azure yang memiliki akses yang sesuai. Jika tidak, operasi gagal dengan pesan "Akses Ditolak."
Data Factory tidak memerlukan izin khusus untuk instans Event Grid Anda. Anda juga tidak perlu menetapkan izin peran Azure RBAC khusus ke prinsip layanan Data Factory untuk operasi tersebut.
Secara khusus, Anda memerlukan Microsoft.EventGrid/EventSubscriptions/Write
izin di /subscriptions/####/resourceGroups//####/providers/Microsoft.EventGrid/topics/someTopics
.
- Saat Anda menulis di pabrik data (di lingkungan pengembangan, misalnya), akun Azure yang masuk harus memiliki izin sebelumnya.
- Saat Anda menerbitkan melalui integrasi berkelanjutan dan pengiriman berkelanjutan, akun yang digunakan untuk menerbitkan templat Azure Resource Manager ke dalam pabrik pengujian atau produksi harus memiliki izin sebelumnya.
Konten terkait
- Dapatkan informasi terperinci tentang eksekusi pemicu.
- Pelajari cara mereferensikan metadata pemicu dalam proses alur.