Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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
- 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