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

Bu başvuru, Azure İşlevleri tetikleyicileri ve bağlamalarını kullanarak Azure Event Grid'e nasıl bağlanacaklarını 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 hizmetleri, Event Grid'de olayları yayımlamaya yönelik yerleşik desteğe sahiptir.

Olay işleyicileri olayları alır ve işler. Azure İşlevleri birkaç taneden biridirEvent Grid olaylarını işlemek için yerleşik desteğe sahip Azure hizmetleri. İşlevler, Event Grid'den bir olay alındığında işlev ç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.

Paket 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 henüz yüklü değilse bu paketi değiştirmeniz gerekebilir. Daha fazla bilgi edinmek için bkz . uzantı paketi.

Uzantı paketi v3'ten uzantının bu sürümünü, dosyanıza host.json aşağıdaki yapılandırmayı ekleyerek veya değiştirerek 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, aşağıdakilerden biri olabilecek uzantı sürümüne ve C# yürütme moduna bağlıdır:

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:

Type Açıklama
JSON serileştirilebilir türler İşlevler, olayın JSON verilerini düz eski bir CLR nesnesi (POCO) türünde seri durumdan çıkarmaya çalışır.
string Dize olarak olay.
BinaryData1 Olay iletisinin baytları.
CloudEvent1 Olay nesnesi. Event Grid, CloudEvents şemasını kullanarak teslim edecek şekilde yapılandırıldığında kullanın.
EventGridEvent1 Olay nesnesi. Event Grid, Event Grid şemasını kullanarak teslim edecek şekilde yapılandırıldığında kullanın.

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

Type Açıklama
CloudEvent[]1,
EventGridEvent[]1,
string[],
BinaryData[]1
Toplu işlemden olay dizisi. 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ı için 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:

Type Açıklama
string Dize olarak olay.
byte[] Olay iletisinin baytları.
JSON serileştirilebilir 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:

Type Açıklama
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 diğer türlerle bir EventGridPublisherClient oluşturun ve kullanın. Azure SDK'dan bir istemci türü oluşturmak için bağımlılık ekleme kullanma örneği için bkz . Azure istemcilerini kaydetme.

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