Event Grid olayları için olay işleyicisi olarak işlev kullanma

Olay işleyicisi, Azure Event Grid'in işleme için bir olay gönderdiği hedeftir. Azure, olayları işlemek için birkaç hizmeti otomatik olarak yapılandırır ve Azure İşlevleri bunlardan biridir.

Bir işlevi olay işleyicisi olarak kullandığınızda, sunucu sağlama veya yönetme gereksinimi duymadan her olaya yanıt olarak özel kod çalıştırırsınız. Örneğin, Event Grid, olayları dönüştüren veya doğrulayan bir bozulma karşıtı katman olarak bir fonksiyon kullanabilir ve ardından bunları aşağı akış sistemlerine iletebilir.

Bu makale, bir fonksiyonu olay handler olarak kullanmanın iki yolunu tanımlar ve hangi yaklaşımın kullanılacağını açıklar.

Azure'da bir işlevi olaylar için işleyici olarak kullanmak için şu yaklaşımlardan birini izleyin:

  • Bir Olay Grid tetikleyicisi kullanın. Uç nokta türü olarak Azure İşlevi'ni belirtin. Sonra uygulama fonksiyonunu ve olayları yöneten fonksiyonu belirtin.
  • HTTP tetikleyicisi kullanın. Web Hook'u uç nokta türü olarak belirtin. Sonra olayları işleyen fonksiyonun URL'sini belirtin.

İlk yaklaşımı kullanın (Olay Gridi tetikleyici). İkinci yaklaşıma göre aşağıdaki avantajlara sahiptir:

  • Event Grid, Event Grid tetikleyicilerini otomatik olarak doğrular. Genel HTTP tetikleyicileri ile doğrulama yanıtını kendiniz uygulamanız gerekir.
  • Event Grid, bir Event Grid olayı tarafından tetiklenen bir işleve olayları iletme hızını, işlevin olayları işleyebildiği algılanan hıza göre otomatik olarak ayarlar. Bu hız uyumu özelliği, bir fonksiyonun olayları işleyememesinden kaynaklanan teslimat hatalarını önler; çünkü fonksiyonun olay işleme hızı zamanla değişebilir. Yüksek aktarım hızındaki verimliliği artırmak için olay aboneliğinde toplu işlemeyi etkinleştirin. Daha fazla bilgi için Toplu işlemeyi etkinleştirme bölümüne bakın.

Not

  • Event Grid tetikleyicisini kullanarak bir Azure fonksiyonu kullanarak etkinlik aboneliği eklediğinizde, Event Grid hedef fonksiyonun erişim anahtarını Event Grid hizmet yöneticisinin kimlik bilgilerini kullanarak alır. Event Grid, Event Grid kaynak sağlayıcısını Azure aboneliğinize kaydettiğinizde izinleri alır.
  • Azure fonksiyonunuzu bir Microsoft Entra ID uygulamasıyla korursanız, HTTP tetikleyicisini kullanarak genel webhook yaklaşımını kullanmalısınız. Aboneliği eklerken Web kancası URL'si olarak Azure işlev uç noktasını kullanın.

Eğitimler

Ünvan Açıklama
Hızlı Başlangıç: İşlevle olayları işleme İşlenmesi için bir işleve özel olay gönderir.
Öğretici: büyük veriyi veri ambarına akıtma Bir olay merkezi bir Capture dosyası oluşturduğunda, Event Grid bir işlev uygulamasına olay gönderir. Uygulama Capture dosyasını alır ve verileri bir veri ambarı'na geçirir.
Öğretici: Azure Service Bus - Azure Event Grid tümleştirme örnekleri Event Grid, bir Service Bus konusundan bir fonksiyon uygulamasına ve mantık uygulamasına mesaj gönderir.

REST API örneği

Aşağıdaki örnek, bir Azure fonksiyonunun etkinlik işleyicisi olduğu bir olay aboneliği oluşturan bir PUT işleminin istek gövdesini göstermektedir. Hedef fonksiyonun kaynak kimliğini ayarlar ve toplu işlemi etkinleştirir.

{
    "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"
    }
}

Toplu işlemeyi etkinleştir

Daha yüksek verimlilik için, abonelikte toplu işlemi etkinleştirin. Azure portalını kullanıyorsanız, abonelik oluşturduğunuzda veya sonrasında toplu başına maksimum olay sayısını ve tercih edilen toplu boyutu kilobayt cinsinden ayarlayabilirsiniz.

Azure portalı, PowerShell, CLI veya bir Resource Manager şablonu kullanarak toplu ayarları yapılandırın.

Azure portal

Portalda abonelik oluşturduğunuzda, Etkinlik Aboneliği Oluştur sayfasında Gelişmiş Özellikler sekmesine geçin ve toplu başına maksimum olay ile Tercih edilen toplu boyutu için kilobayt cinsinden değerleri ayarlayın.

Etkinlik Aboneliği Oluştur sayfasındaki Gelişmiş Özellikler sekmesinin ekran görüntüsü, toplu ayarları gösteriyor.

Mevcut abonelik için bu değerleri Event Grid Konu sayfasının Özellikler sekmesinde güncelleyin.

Event Grid Konu sayfasındaki Özellikler sekmesinin ekran görüntüsü, mevcut bir abonelik için toplu ayarları gösteriyor.

Azure Resource Manager şablonu

maxEventsPerBatch ve preferredBatchSizeInKilobytes öğelerini bir Azure Resource Manager şablonunda ayarlayın. Daha fazla bilgi için bkz: Microsoft.EventGrid eventSubscriptions şablon başvurusu.

Azure CLI

Aşağıdaki parametreleri kullanarak toplu ile ilgili ayarları yapılandırmak için komutu az eventgrid event-subscription create kullanın: --max-events-per-batch veya --preferred-batch-size-in-kilobytes.

Azure PowerShell

Batch ile ilgili ayarları yapılandırmak için New-AzEventGridSubscription veya Update-AzEventGridSubscription cmdlet'ini kullanın. Tercihlerinizi ayarlamak için or -MaxEventsPerBatch-PreferredBatchSizeInKiloBytes parametresini kullanın.

Desteklenen olay yöneticilerinin listesi için Olay işleyicileri makalesine bakınız.