Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
För att kunna använda det här bindningstillägget i din app kontrollerar du att denhost.json filen i projektets rot innehåller den här extensionBundle referensen:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
I det här exemplet version instruerar värdet [4.0.0, 5.0.0) för Functions-värden att använda en paketversion som är minst 4.0.0 men mindre än 5.0.0, som innehåller alla potentiella versioner av 4.x. Den här notationen underhåller appen på den senaste tillgängliga delversionen av v4.x-tilläggspaketet.
När det är möjligt bör du använda den senaste huvudversionen av tilläggspaketet och låta körningen automatiskt behålla den senaste delversionen. Du kan visa innehållet i det senaste paketet på versionssidan för tilläggspaket. Mer information finns i Azure Functions-tilläggspaket.
Överväganden för Event Grid-tillägget:
- Tidigare versioner av Event Grid-tillägget än 3.x stöder inte CloudEvents-schema. Använd i stället en HTTP-utlösare för att använda det här schemat.
- Event Grid-utdatabindningen är endast tillgänglig för Functions 2.x och senare.
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 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