Vazby Azure Event Gridu pro Azure Functions
Tento odkaz ukazuje, jak se připojit k Azure Event Gridu pomocí triggerů a vazeb Azure Functions.
Event Grid je služba Azure, která odesílá požadavky HTTP, aby vás informovala o událostech, ke kterým dochází v vydavatelích. Vydavatel je služba nebo prostředek, který událost pochází. Účet úložiště objektů blob v Azure je například vydavatel a událostí je nahrání nebo odstranění objektu blob. Některé služby Azure mají integrovanou podporu publikování událostí do Event Gridu.
Obslužné rutiny událostí přijímají a zpracovávají události. Azure Functions je jednou z několika služeb Azure, které mají integrovanou podporu pro zpracování událostí Event Gridu. Funkce poskytují trigger Event Gridu, který vyvolá funkci při přijetí události z Event Gridu. Podobnou výstupní vazbu lze použít k odesílání událostí z vaší funkce do vlastního tématu Event Gridu.
Ke zpracování událostí Event Gridu můžete použít také trigger HTTP. Další informace najdete v tématu Příjem událostí do koncového bodu HTTP. Doporučujeme použít trigger Event Gridu přes trigger HTTP.
Akce | Typ |
---|---|
Spuštění funkce při odeslání události Event Gridu | Trigger |
Odešle událost Event Gridu. | Výstupní vazba |
Řízení vráceného stavového kódu HTTP | Koncový bod HTTP |
Instalace rozšíření
Balíček NuGet rozšíření, který nainstalujete, závisí na režimu jazyka C#, který používáte ve své aplikaci funkcí:
Funkce se spouštějí v izolovaném pracovním procesu C#. Další informace najdete v průvodci spuštěním služby Azure Functions v jazyce C# v izolovaném pracovním procesu.
Funkce rozšíření se liší v závislosti na verzi rozšíření:
Přidejte rozšíření do projektu instalací balíčku NuGet verze 3.x.
Instalace sady
Rozšíření Event Gridu je součástí sady rozšíření, která je zadaná v souboru projektu host.json. Možná budete muset tuto sadu upravit, aby se změnila verze vazby Event Gridu nebo pokud sady ještě nejsou nainstalované. Další informace najdete v sadě rozšíření.
Tuto verzi rozšíření můžete přidat z sady rozšíření v3 přidáním nebo nahrazením následující konfigurace v host.json
souboru:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.3.0, 4.0.0)"
}
}
Další informace najdete v tématu Aktualizace rozšíření.
Typy vazeb
Typy vazeb podporované pro .NET závisí na režimu spouštění rozšíření i jazyka C#, což může být jedna z následujících možností:
Kompilovaná funkce C# v izolované knihovně tříd pracovních procesů běží v procesu izolovaném od modulu runtime.
Zvolte verzi a zobrazte podrobnosti o typu vazby pro režim a verzi.
Izolovaný pracovní proces podporuje typy parametrů podle následujících tabulek. Podpora vazby na Stream
a typy z Azure.Messaging je ve verzi Preview.
Trigger Event Gridu
Pokud chcete, aby funkce zpracovávala jednu událost, trigger Event Gridu může svázat s následujícími typy:
Typ | Popis |
---|---|
Serializovatelné typy JSON | Funkce se pokusí deserializovat data JSON události do prostého typu objektu CLR (POCO). |
string |
Událost jako řetězec. |
BinaryData1 | Bajty zprávy události. |
CloudEvent1 | Objekt události. Používá se, když je Event Grid nakonfigurovaný tak, aby doručoval pomocí schématu CloudEvents. |
EventGridEvent1 | Objekt události. Používá se, když je Event Grid nakonfigurovaný tak, aby doručoval pomocí schématu Event Gridu. |
Pokud chcete, aby funkce zpracovávala dávku událostí, trigger Event Gridu může svázat s následujícími typy:
Typ | Popis |
---|---|
CloudEvent[] 1,EventGridEvent[] 1,string[] ,BinaryData[] 1 |
Pole událostí z dávky. Každá položka představuje jednu událost. |
1 Pokud chcete použít tyto typy, musíte odkazovat na Microsoft.Azure.Functions.Worker.Extensions.EventGrid 3.3.0 nebo novější a běžné závislosti pro vazby typu sady SDK.
Výstupní vazba Event Gridu
Pokud chcete, aby funkce zapisuje jednu událost, výstupní vazba Event Gridu může svázat s následujícími typy:
Typ | Popis |
---|---|
string |
Událost jako řetězec. |
byte[] |
Bajty zprávy události. |
Serializovatelné typy JSON | Objekt představující událost JSON Funkce se pokusí serializovat prostý starý typ objektu CLR (POCO) do dat JSON. |
Pokud chcete, aby funkce zapisuje více událostí, výstupní vazba Event Gridu může svázat s následujícími typy:
Typ | Popis |
---|---|
T[] where T is one of the single event types |
Pole obsahující více událostí. Každá položka představuje jednu událost. |
Pro jiné výstupní scénáře vytvořte a použijte EventGridPublisherClient s jinými typy z Azure.Messaging.EventGrid přímo. Příklad použití injektáže závislostí k vytvoření typu klienta ze sady Azure SDK najdete v tématu Registrace klientů Azure.
nastavení host.json
Trigger služby Event Grid používá požadavek HTTP webhooku, který lze nakonfigurovat pomocí stejného nastavení host.json jako trigger HTTP.
Další kroky
- Pokud máte dotazy, odešlete problém týmu sem.
- Trigger Event Gridu
- Výstupní vazba Event Gridu
- Spuštění funkce při odeslání události Event Gridu
- Odeslání události Event Gridu