Bagikan melalui


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

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

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