Sdílet prostřednictvím


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 Streama 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