Azure İşlevleri için Azure Event Grid bağlamaları

Bu başvuru, Azure İşlevleri tetikleyicileri ve bağlamaları kullanarak Azure Event Grid bağlanmayı gösterir.

Event Grid, yayımcılarda gerçekleşen olaylar hakkında sizi bilgilendirmek için HTTP istekleri gönderen bir Azure hizmetidir. Yayımcı, olayı oluşturan hizmet veya kaynaktır. Örneğin, Azure blob depolama hesabı bir yayımcıdır ve blob karşıya yükleme veya silme bir olaydır. Bazı Azure hizmetlerinin Event Grid'de olay yayımlamaya yönelik yerleşik desteği vardır.

Olay işleyicileri olayları alır ve işler. Azure İşlevleri, Event Grid olaylarını işlemek için yerleşik desteğe sahip çeşitli Azure hizmetlerinden biridir. İşlevler, Event Grid'den bir olay alındığında işlevi çağıran bir Event Grid tetikleyicisi sağlar. Benzer bir çıkış bağlaması, işlevinizden Event Grid özel konusuna olay göndermek için kullanılabilir.

Event Grid Olaylarını işlemek için bir HTTP tetikleyicisi de kullanabilirsiniz. Daha fazla bilgi edinmek için bkz. HTTP uç noktasına olay alma. HTTP tetikleyicisi üzerinden Event Grid tetikleyicisini kullanmanızı öneririz.

Eylem Tür
Event Grid olayı gönderildiğinde işlev çalıştırma Tetikleyici
Event Grid olayı gönderir Çıkış bağlaması
Döndürülen HTTP durum kodunu denetleme HTTP uç noktası

Uzantıyı yükleme

Yüklediğiniz NuGet uzantısı, işlev uygulamanızda kullandığınız C# moduna bağlıdır:

İşlevler yalıtılmış bir C# çalışan işleminde yürütülür. Daha fazla bilgi edinmek için bkz. Yalıtılmış çalışan işleminde C# Azure İşlevleri çalıştırma kılavuzu.

Uzantının işlevselliği, uzantı sürümüne bağlı olarak değişir:

NuGet paketi, sürüm 3.x'i yükleyerek uzantıyı projenize ekleyin.

Paketi yükleme

Event Grid uzantısı, host.json proje dosyanızda belirtilen bir uzantı paketinin parçasıdır. Event Grid bağlamasının sürümünü değiştirmek için veya paketler zaten yüklü değilse bu paketi değiştirmeniz gerekebilir. Daha fazla bilgi edinmek için bkz. uzantı paketi.

Dosyanıza host.json aşağıdaki yapılandırmayı ekleyerek veya değiştirerek uzantının bu sürümünü uzantı paketi v3'ten ekleyebilirsiniz:

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

Daha fazla bilgi edinmek için bkz. Uzantılarınızı güncelleştirme.

Bağlama türleri

.NET için desteklenen bağlama türleri hem uzantı sürümüne hem de C# yürütme moduna bağlıdır ve bu mod aşağıdakilerden biri olabilir:

Yalıtılmış çalışan işlem sınıfı kitaplığı derlenmiş C# işlevi çalışma zamanından yalıtılmış bir işlemde çalışır.

Modun ve sürümün bağlama türü ayrıntılarını görmek için bir sürüm seçin.

Yalıtılmış çalışan işlemi, aşağıdaki tablolara göre parametre türlerini destekler. Azure.Messaging'ten ve türlerine bağlama Streamdesteği önizleme aşamasındadır.

Event Grid tetikleyicisi

İşlevin tek bir olayı işlemesini istediğinizde Event Grid tetikleyicisi aşağıdaki türlere bağlanabilir:

Tür Description
JSON seri hale getirilebilir türler İşlevler, olayın JSON verilerini seri durumdan çıkararak düz eski bir CLR nesnesi (POCO) türüne dönüştürmeye çalışır.
string Dize olarak olayı.
BinaryData1 Olay iletisinin bayt sayısı.
CloudEvent1 Olay nesnesi. Event Grid, CloudEvents şeması kullanılarak teslim edilecek şekilde yapılandırıldığında kullanın.
EventGridEvent1 Olay nesnesi. Event Grid, Event Grid şeması kullanılarak teslim edilecek şekilde yapılandırıldığında kullanın.

İşlevin bir olay toplu işlemini işlemesini istediğinizde Event Grid tetikleyicisi aşağıdaki türlere bağlanabilir:

Tür Description
CloudEvent[]1,
EventGridEvent[]1,
string[],
BinaryData[]1
Toplu işlemden bir dizi olay. Her girdi bir olayı temsil eder.

1 Bu türleri kullanmak için Microsoft.Azure.Functions.Worker.Extensions.EventGrid 3.3.0 veya sonraki sürümlerine ve SDK türü bağlamalarına yönelik ortak bağımlılıklara başvurmanız gerekir.

Event Grid çıkış bağlaması

İşlevin tek bir olay yazmasını istediğinizde Event Grid çıkış bağlaması aşağıdaki türlere bağlanabilir:

Tür Description
string Dize olarak olayı.
byte[] Olay iletisinin bayt sayısı.
JSON seri hale getirilebilir türler JSON olayını temsil eden nesne. İşlevler, düz eski bir CLR nesnesi (POCO) türünü JSON verilerine seri hale getirmeye çalışır.

İşlevin birden çok olay yazmasını istediğinizde Event Grid çıkış bağlaması aşağıdaki türlere bağlanabilir:

Tür Description
T[] burada T tek olay türlerinden biridir Birden çok olay içeren bir dizi. Her girdi bir olayı temsil eder.

Diğer çıkış senaryoları için doğrudan Azure.Messaging.EventGrid'den türler oluşturun ve kullanın.

host.json ayarları

Event Grid tetikleyicisi, HTTP Tetikleyicisi ile aynı host.json ayarları kullanılarak yapılandırılabilir bir web kancası HTTP isteği kullanır.

Sonraki adımlar