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 Spouštěč
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

Pokud chcete v aplikaci použít toto rozšíření vazeb, ujistěte se, že soubor host.json v kořenovém adresáři projektu obsahuje tento extensionBundle odkaz:

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

V tomto příkladu version hodnota [4.0.0, 5.0.0) dává hostiteli Functions pokyn, aby používal verzi sady, která je alespoň 4.0.0 , ale menší než 5.0.0, která zahrnuje všechny potenciální verze 4.x. Tato notace efektivně udržuje vaši aplikaci na nejnovější dostupné podverzi sady rozšíření v4.x.

Pokud je to možné, měli byste použít nejnovější hlavní verzi sady rozšíření a umožnit modulu runtime automaticky udržovat nejnovější podverzi. Obsah nejnovější sady můžete zobrazit na stránce verze sady rozšíření. Další informace najdete v sadách rozšíření Azure Functions.

Důležité informace o rozšíření Event Grid:

  • Verze rozšíření Event Grid starší než 3.x nepodporují schéma CloudEvents. Pokud chcete toto schéma využívat, použijte místo toho trigger HTTP.
  • Výstupní vazba Event Gridu je dostupná jenom pro Functions 2.x a vyšší.

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