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:

Lägg till tillägget i projektet genom att installera NuGet-paketet version 3.x.

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 Streamoch 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 typer från Azure.Messaging.EventGrid direkt.

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