Azure Event Grid-bindningar för Azure Functions
Den här referensen visar hur du ansluter till Azure Event Grid med hjälp av Azure Functions-utlösare och bindningar.
Event Grid är en Azure-tjänst som skickar HTTP-begäranden för att meddela dig om händelser som inträffar i utgivare. En utgivare är den tjänst eller resurs som kommer från händelsen. Ett Azure Blob Storage-konto är till exempel en utgivare och en blobuppladdning eller borttagning är en händelse. Vissa Azure-tjänster har inbyggt stöd för publicering av händelser till Event Grid.
Händelsehanterare tar emot och bearbetar händelser. Azure Functions är en av flera Azure-tjänster som har inbyggt stöd för hantering av Event Grid-händelser. Functions tillhandahåller en Event Grid-utlösare som anropar en funktion när en händelse tas emot från Event Grid. En liknande utdatabindning kan användas för att skicka händelser från din funktion till ett anpassat Event Grid-ämne.
Du kan också använda en HTTP-utlösare för att hantera Event Grid-händelser. Mer information finns i Ta emot händelser till en HTTP-slutpunkt. Vi rekommenderar att du använder Event Grid-utlösaren via HTTP-utlösaren.
Åtgärd | Typ |
---|---|
Kör en funktion när en Event Grid-händelse skickas | Utlösare |
Skickar en Event Grid-händelse | Utdatabindning |
Kontrollera den returnerade HTTP-statuskoden | HTTP-slutpunkt |
Installera tillägget
Vilket NuGet-tilläggspaket du installerar beror på vilket C#-läge du använder i funktionsappen:
Funktioner körs i en isolerad C#-arbetsprocess. Mer information finns i Guide för att köra C# Azure Functions i en isolerad arbetsprocess.
Funktionerna i tillägget varierar beroende på tilläggsversionen:
Installera paket
Event Grid-tillägget är en del av ett tilläggspaket som anges i din host.json projektfil. Du kan behöva ändra det här paketet för att ändra versionen av Event Grid-bindningen, eller om paket inte redan är installerade. Mer information finns i tilläggspaketet.
Du kan lägga till den här versionen av tillägget från tilläggspaketet v3 genom att lägga till eller ersätta följande konfiguration i host.json
filen:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.3.0, 4.0.0)"
}
}
Mer information finns i Uppdatera dina tillägg.
Bindningstyper
Vilka bindningstyper som stöds för .NET beror på både tilläggsversionen och C#-körningsläget, vilket kan vara något av följande:
Ett isolerat arbetsprocessklassbibliotek kompilerade C#-funktioner körs i en process som är isolerad från körningen.
Välj en version för att se information om bindningstyp för läget och versionen.
Den isolerade arbetsprocessen stöder parametertyper enligt tabellerna nedan. Stöd för bindning till Stream
och till typer från Azure.Messaging finns i förhandsversionen.
Event Grid-utlösare
När du vill att funktionen ska bearbeta en enskild händelse kan Event Grid-utlösaren binda till följande typer:
Typ | Beskrivning |
---|---|
JSON-serialiserbara typer | Functions försöker deserialisera JSON-data för händelsen till en vanlig CLR-objekttyp (POCO). |
string |
Händelsen som en sträng. |
BinaryData1 | Byte för händelsemeddelandet. |
CloudEvent1 | Händelseobjektet. Använd när Event Grid har konfigurerats för att leverera med hjälp av CloudEvents-schemat. |
EventGridEvent1 | Händelseobjektet. Använd när Event Grid har konfigurerats för att leverera med event grid-schemat. |
När du vill att funktionen ska bearbeta en batch med händelser kan Event Grid-utlösaren binda till följande typer:
Typ | Beskrivning |
---|---|
CloudEvent[] 1,EventGridEvent[] 1,string[] ,BinaryData[] 1 |
En matris med händelser från batchen. Varje post representerar en händelse. |
1 Om du vill använda dessa typer måste du referera till Microsoft.Azure.Functions.Worker.Extensions.EventGrid 3.3.0 eller senare och de vanliga beroendena för SDK-typbindningar.
Event Grid-utdatabindning
När du vill att funktionen ska skriva en enskild händelse kan Event Grid-utdatabindningen binda till följande typer:
Typ | Beskrivning |
---|---|
string |
Händelsen som en sträng. |
byte[] |
Byte för händelsemeddelandet. |
JSON-serialiserbara typer | Ett objekt som representerar en JSON-händelse. Functions försöker serialisera en vanlig CLR-objekttyp (POCO) till JSON-data. |
När du vill att funktionen ska skriva flera händelser kan Event Grid-utdatabindningen binda till följande typer:
Typ | Beskrivning |
---|---|
T[] där T är en av de enskilda händelsetyperna |
En matris som innehåller flera händelser. Varje post representerar en händelse. |
För andra utdatascenarier skapar och använder du en EventGridPublisherClient med andra typer från Azure.Messaging.EventGrid direkt. Se Registrera Azure-klienter för ett exempel på hur du använder beroendeinmatning för att skapa en klienttyp från Azure SDK.
host.json inställningar
Event Grid-utlösaren använder en WEBHOOK HTTP-begäran som kan konfigureras med samma host.json inställningar som HTTP-utlösaren.
Nästa steg
- Om du har frågor skickar du ett problem till teamet här
- Event Grid-utlösare
- Event Grid-utdatabindning
- Kör en funktion när en Event Grid-händelse skickas
- Skicka en Event Grid-händelse