Menggunakan fungsi sebagai penanganan aktivitas untuk peristiwa Event Grid

Event handler adalah tujuan di mana Azure Event Grid mengirim event untuk diproses. Azure secara otomatis mengonfigurasi beberapa layanan untuk menangani event, dan Azure Functions adalah salah satunya.

Saat Anda menggunakan fungsi sebagai penangan event, Anda menjalankan kode kustom sebagai respons terhadap setiap event tanpa perlu provisioning atau mengelola server. Misalnya, Event Grid dapat menggunakan fungsi sebagai lapisan anti-korupsi yang mengubah atau memvalidasi peristiwa sebelum meneruskannya ke sistem hilir.

Artikel ini menjelaskan dua cara menggunakan fungsi sebagai event handler dan menjelaskan pendekatan mana yang harus digunakan.

Untuk menggunakan fungsi di Azure sebagai penanganan untuk acara, ikuti salah satu pendekatan berikut:

  • Gunakan pemicu Event Grid. Tentukan Fungsi Azure sebagai jenis titik akhir. Kemudian tentukan aplikasi fungsi dan fungsi yang menangani event.
  • Gunakan pemicu HTTP. Tentukan Web Hook sebagai jenis titik akhir. Kemudian tentukan URL untuk fungsi yang menangani event.

Gunakan pendekatan pertama (pemicu Event Grid). Pendekatan ini memiliki keunggulan dibandingkan pendekatan kedua:

  • Event Grid secara otomatis memvalidasi pemicu Event Grid. Dengan pemicu HTTP generik, Anda harus menerapkan respons validasi sendiri.
  • Event Grid secara otomatis menyesuaikan kecepatan pengiriman event ke fungsi yang dipicu event Event Grid, berdasarkan tingkat persepsi di mana fungsi dapat memproses event. Fitur pencocokan laju ini mencegah kesalahan pengiriman yang berasal dari ketidakmampuan sebuah fungsi untuk memproses peristiwa, karena tingkat pemrosesan peristiwa fungsi dapat berubah seiring waktu. Untuk meningkatkan efisiensi saat throughput tinggi, aktifkan pemrosesan batch pada langganan peristiwa. Untuk informasi selengkapnya, lihat Aktifkan batching.

Catatan

  • Ketika Anda menggunakan pemicu Event Grid untuk menambahkan langganan event menggunakan fungsi Azure, Event Grid mengambil kunci akses untuk fungsi target menggunakan kredensial Event Grid service principal. Event Grid menerima izin saat Anda mendaftarkan penyedia sumber daya Event Grid dalam langganan Azure Anda.
  • Jika Anda melindungi fungsi Azure Anda dengan aplikasi Microsoft Entra ID, Anda harus menggunakan pendekatan webhook generik dengan menggunakan pemicu HTTP. Gunakan titik akhir fungsi Azure sebagai URL webhook saat menambahkan langganan.

Tutorial

Judul Deskripsi
Mulai cepat: Menangani peristiwa dengan fungsi Mengirim peristiwa kustom ke fungsi untuk diproses.
Tutorial: mengalirkan big data ke data warehouse Saat hub peristiwa membuat file Capture, Event Grid mengirimkan peristiwa ke aplikasi fungsi. Aplikasi ini mengambil file Capture dan memigrasikan data ke gudang data.
Tutorial: Contoh integrasi Azure Service Bus ke Azure Event Grid Event Grid mengirim pesan dari topik Bus Layanan ke aplikasi fungsi dan aplikasi logika.

Contoh REST API

Contoh berikut menunjukkan isi permintaan untuk operasi PUT yang membuat langganan peristiwa dengan fungsi Azure sebagai penangan peristiwa. Perangkat ini mengatur ID sumber daya fungsi target dan mengaktifkan batching.

{
    "properties":
    {
        "destination":
        {
            "endpointType": "AzureFunction",
            "properties":
            {
                "resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.Web/sites/<FUNCTION APP NAME>/functions/<FUNCTION NAME>",
                "maxEventsPerBatch": 10,
                "preferredBatchSizeInKilobytes": 64
            }
        },
        "eventDeliverySchema": "EventGridSchema"
    }
}

Aktifkan pemrosesan batch

Untuk kapasitas yang lebih tinggi, aktifkan batching pada langganan. Jika Anda menggunakan portal Azure, Anda dapat mengatur maksimum event per batch dan ukuran batch yang diinginkan dalam kilobyte saat membuat langganan atau setelahnya.

Konfigurasikan pengaturan batch menggunakan portal Azure, PowerShell, CLI, atau template Resource Manager.

portal Azure

Saat Anda membuat langganan di portal, pada halaman Buat Langganan Acara , beralih ke tab Fitur Lanjutan , dan atur nilai untuk Acara Maksimum per batch dan ukuran batch yang Diinginkan dalam kilobyte.

Tangkapan layar tab Fitur Lanjutan pada halaman Buat Langganan Acara yang menampilkan pengaturan batch.

Perbarui nilai-nilai ini untuk langganan yang sudah ada pada tab Fitur pada halaman Topik Grid Event .

Tangkapan layar tab Features pada halaman Topik Event Grid yang menunjukkan pengaturan batch untuk langganan yang sudah ada.

Templat Azure Resource Manager

Atur maxEventsPerBatch dan preferredBatchSizeInKilobytes dalam templat Azure Resource Manager. Untuk informasi selengkapnya, lihat referensi templat Microsoft.EventGrid eventSubscriptions.

Azure CLI

Gunakan perintah az eventgrid event-subscription create untuk mengonfigurasi pengaturan terkait batch dengan menggunakan parameter berikut: --max-events-per-batch atau --preferred-batch-size-in-kilobytes.

Azure PowerShell

Gunakan cmdlet New-AzEventGridSubscription atau Update-AzEventGridSubscription untuk mengonfigurasi pengaturan terkait batch. Gunakan -MaxEventsPerBatch parameter or -PreferredBatchSizeInKiloBytes untuk mengatur preferensi Anda.

Untuk daftar event handler yang didukung, lihat artikel Event handlers .