Pengikatan Azure Event Grid untuk Azure Functions

Referensi ini menunjukkan cara menyambungkan ke Azure Event Grid menggunakan pemicu dan pengikatan Azure Functions.

Event Grid adalah layanan Azure yang mengirimkan permintaan HTTP untuk memberi tahu Anda tentang aktivitas yang terjadi di penerbit. Penerbit adalah layanan atau sumber daya yang mengawali peristiwa. Misalnya, akun penyimpanan blob Azure adalah penerbit, dan unggahan atau penghapusan blob adalah aktivitas. Beberapa layanan Azure memiliki dukungan bawaan untuk menerbitkan aktivitas ke Event Grid.

Penanganan aktivitas menerima dan memproses aktivitas. Azure Functions adalah satu dari beberapa layanan Azure yang memiliki dukungan bawaan untuk menangani aktivitas Event Grid. Functions menyediakan pemicu Event Grid, yang memanggil fungsi saat peristiwa diterima dari Event Grid. Pengikatan output serupa dapat digunakan untuk mengirim peristiwa dari fungsi Anda ke topik kustom Event Grid.

Anda juga dapat menggunakan pemicu HTTP untuk menangani Peristiwa Event Grid. Untuk mempelajari selengkapnya, lihat Menerima peristiwa ke titik akhir HTTP. Kami menyarankan untuk menggunakan pemicu Event Grid dibandingkan pemicu HTTP.

Perbuatan Jenis
Menjalankan fungsi saat aktivitas Event Grid dikirim Pemicu
Mengirim aktivitas Event Grid Pengikatan output
Mengontrol kode status HTTP yang dikembalikan Titik akhir HTTP

Menginstal ekstensi

Paket NuGet ekstensi yang Anda instal bergantung pada mode C# yang Anda gunakan di aplikasi fungsi Anda:

Functions dijalankan dalam proses pekerja C# yang terisolasi. Untuk mempelajari selengkapnya, lihat Panduan untuk menjalankan C# Azure Functions dalam proses pekerja yang terisolasi.

Fungsionalitas ekstensi tersebut bervariasi tergantung pada versi ekstensi:

Tambahkan ekstensi ke proyek Anda dengan menginstal paket NuGet, versi 3.x.

Memasang bundel

Ekstensi Event Grid adalah bagian dari bundel ekstensi, yang ditentukan dalam file proyek host.json Anda. Mungkin Anda perlu mengubah bundel ini untuk mengubah versi pengikatan Event Grid, atau jika bundel belum dipasang. Untuk mempelajari lebih lanjut, lihat bundel ekstensi.

Anda dapat menambahkan versi ekstensi ini dari bundel ekstensi v3 dengan menambahkan atau mengganti konfigurasi berikut di file host.json Anda:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[3.3.0, 4.0.0)"
    }
}

Untuk mempelajari selengkapnya, lihat Perbarui ekstensi Anda.

Jenis pengikatan

Jenis pengikatan yang didukung untuk .NET bergantung pada versi ekstensi dan mode eksekusi C#, yang dapat menjadi salah satu hal berikut:

Pustaka kelas proses pekerja terisolasi yang dikompilasi fungsi C# berjalan dalam proses yang diisolasi dari runtime.

Pilih versi untuk melihat detail jenis pengikatan untuk mode dan versi.

Proses pekerja yang terisolasi mendukung jenis parameter sesuai dengan tabel di bawah ini. Dukungan untuk mengikat ke Stream, dan ke jenis dari Azure.Messaging sedang dalam pratinjau.

Pemicu Event Grid

Saat Anda ingin fungsi memproses satu peristiwa, pemicu Event Grid dapat mengikat ke jenis berikut:

Tipe Deskripsi
Jenis yang bisa diserialisasikan JSON Functions mencoba mendeserialisasi data JSON peristiwa ke dalam jenis objek CLR (POCO) yang berusia biasa.
string Peristiwa sebagai string.
BinaryData1 Byte pesan peristiwa.
CloudEvent1 Objek peristiwa. Gunakan saat Event Grid dikonfigurasi untuk mengirimkan menggunakan skema CloudEvents.
EventGridEvent1 Objek peristiwa. Gunakan saat Event Grid dikonfigurasi untuk mengirimkan menggunakan skema Event Grid.

Saat Anda ingin fungsi memproses batch peristiwa, pemicu Event Grid dapat mengikat ke jenis berikut:

Tipe Deskripsi
CloudEvent[]1,
EventGridEvent[]1,
string[],
BinaryData[]1
Array peristiwa dari batch. Setiap entri mewakili satu peristiwa.

1 Untuk menggunakan jenis ini, Anda perlu mereferensikan Microsoft.Azure.Functions.Worker.Extensions.EventGrid 3.3.0 atau yang lebih baru dan dependensi umum untuk pengikatan jenis SDK.

Pengikatan output Event Grid

Saat Anda ingin fungsi menulis satu peristiwa, pengikatan output Event Grid dapat mengikat ke jenis berikut:

Tipe Deskripsi
string Peristiwa sebagai string.
byte[] Byte pesan peristiwa.
Jenis yang bisa diserialisasikan JSON Objek yang mewakili peristiwa JSON. Functions mencoba menserialisasikan jenis objek CLR (POCO) lama biasa ke dalam data JSON.

Saat Anda ingin fungsi menulis beberapa peristiwa, pengikatan output Event Grid dapat mengikat ke jenis berikut:

Tipe Deskripsi
T[] di mana T adalah salah satu jenis peristiwa tunggal Array yang berisi beberapa peristiwa. Setiap entri mewakili satu peristiwa.

Untuk skenario output lainnya, buat dan gunakan jenis dari Azure.Messaging.EventGrid secara langsung.

Pengaturan host.json

Pemicu Event Grid menggunakan permintaan HTTP webhook, yang dapat dikonfigurasi menggunakan pengaturan host.json yang sama dengan Pemicu HTTP.

Langkah berikutnya