Bagikan melalui


Membuat pemicu peristiwa kustom untuk menjalankan alur di Azure Data Factory

BERLAKU UNTUK: Azure Data Factory Azure Synapse Analytics

Petunjuk

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!

Pemicu peristiwa di Azure Data Factory memungkinkan Anda mengotomatiskan eksekusi alur berdasarkan peristiwa tertentu yang terjadi di sumber data Anda. Ini adalah fitur utama arsitektur berbasis peristiwa, memungkinkan integrasi dan pemrosesan data real time.

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 pipeline dan pemicu peristiwa kustom, Anda dapat mengurai dan mereferensikan payload kustom data dalam menjalankan pipeline. Karena bidang data dalam payload peristiwa kustom adalah struktur nilai kunci JSON yang berbentuk bebas, Anda dapat mengontrol jalannya alur kerja 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 adapipeline run yang dipicu oleh peristiwa.

Kasus penggunaan peristiwa dan pemicu

Pemicu dapat diaktifkan oleh beragam kejadian, termasuk:

Blob Dibuat: Saat file baru diunggah ke kontainer tertentu. Blob Dihapus: Saat file dihapus dari kontainer. Blob Dimodifikasi: Ketika sebuah file yang sudah ada diperbarui.

Anda dapat menggunakan peristiwa untuk mengontrol eksekusi alur Anda secara dinamis. Misalnya, ketika file data baru diunggah ke folder 'masuk' di Azure Blob Storage, pemicu dapat secara otomatis memulai alur untuk memproses data, memastikan integrasi data tepat waktu.

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 kolom data 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

  1. Buka Data Factory dan masuk.

  2. Beralih ke tab Edit. Cari ikon pensil.

  3. Pilih Pemicu di menu, lalu pilih Baru/Edit.

  4. Pada halaman Tambahkan Pemicu , pilih Pilih pemicu, lalu pilih + Baru.

  5. Di bawah Jenis, pilih Peristiwa kustom.

    Cuplikan layar yang memperlihatkan pembuatan pemicu peristiwa kustom baru di antarmuka pengguna Data Factory.

  6. 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.

  7. Properti Subject begins with dan Subject ends with memungkinkan Anda memfilter peristiwa pemicu. Kedua properti bersifat opsional.

  8. Gunakan + Baru untuk menambahkan Jenis Peristiwa yang ingin difilter. Daftar pemicu peristiwa kustom menggunakan hubungan OR. Ketika sebuah event kustom dengan properti eventType yang cocok ada di daftar, proses pipeline dipicu. Jenis peristiwa tidak peka terhadap huruf besar/kecil. Misalnya, dalam cuplikan layar berikut, pemicunya cocok dengan semua copycompleted atau copysucceeded peristiwa yang memiliki subjek yang dimulai dengan pabrik.

    Cuplikan layar yang memperlihatkan halaman Edit pemicu untuk menjelaskan Jenis peristiwa dan Pemfilteran subjek di antarmuka pengguna Data Factory.

  9. Trigger peristiwa kustom dapat mengurai dan mengirim payload data kustom ke pipeline. 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:

    Cuplikan layar yang memperlihatkan pengaturan parameter alur.

    Cuplikan layar yang memperlihatkan halaman parameter untuk mereferensikan payload data dalam peristiwa kustom.

  10. 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].

Cuplikan layar yang memperlihatkan pengaturan filter tingkat lanjut untuk pemicu peristiwa pelanggan.

Mulai hari ini, pemicu peristiwa kustom mendukung subsetoperator 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 operator in dan not 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 ID sumber daya Azure Resource Manager dari topik Event Grid. string ID Pengelola Sumber Daya Azure Ya.
events Jenis peristiwa yang menyebabkan pemicu ini diaktifkan. Array dari string-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 acara.
  • Berlangganan pembaruan dari peristiwa.
  • Memicu jalur pemrosesan yang ditautkan ke peristiwa khusus.

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 principal layanan Data Factory untuk operasi ini.

Secara khusus, Anda memerlukan Microsoft.EventGrid/EventSubscriptions/Write izin pada /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 dan pengiriman berkelanjutan, akun yang digunakan untuk menerbitkan templat Azure Resource Manager ke dalam pabrik pengujian atau produksi harus memiliki izin yang diperlukan sebelumnya.