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 Stream
desteğ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.