Kommentar
Å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.
En händelsehanterare är destinationen där Azure Event Grid skickar en händelse för bearbetning. Azure konfigurerar automatiskt flera tjänster för att hantera händelser, och Azure Functions är en av dem.
När du använder en funktion som händelsehanterare kör du anpassad kod som svar på varje händelse utan att provisionera eller hantera servrar. Till exempel kan Event Grid använda en funktion som ett antikorruptionslager som transformerar eller validerar händelser innan de vidarebefordras till nedströms system.
Den här artikeln beskriver de två sätten att använda en funktion som händelsehanterare och förklarar vilken metod man ska använda.
Om du vill använda en funktion i Azure som hanterare för händelser följer du någon av följande metoder:
- Använd en Event Grid-trigger. Ange Azure Function som slutpunktstyp. Ange sedan funktionsappen och funktionen som hanterar händelser.
- Använd en HTTP-trigger. Ange Web Hook som slutpunktstyp. Ange sedan URL:en för funktionen som hanterar händelser.
Använd det första tillvägagångssättet (Event Grid-trigger). Den har följande fördelar jämfört med den andra metoden:
- Event Grid verifierar automatiskt Event Grid-utlösare. Med allmänna HTTP-utlösare måste du implementera valideringssvaret själv.
- Event Grid justerar automatiskt hastigheten med vilken det levererar händelser till en funktion som en Event Grid-händelse utlöser, baserat på den upplevda hastigheten med vilken funktionen kan bearbeta händelser. Denna rate-match-funktion undviker leveransfel som uppstår på grund av att en funktion inte kan bearbeta händelser, eftersom funktionens händelsebehandlingshastighet kan variera över tid. Om du vill förbättra effektiviteten vid högt dataflöde aktiverar du batchbearbetning för händelseprenumerationen. Mer information finns i Aktivera batchbearbetning.
Kommentar
- När du använder en Event Grid-trigger för att lägga till en händelseprenumeration med hjälp av en Azure-funktion, hämtar Event Grid åtkomstnyckeln för målfunktionen genom att använda Event Grid-tjänsteprincipalens uppgifter. Event Grid får behörigheterna när du registrerar Event Grid-resursleverantören i din Azure-prenumeration.
- Om du skyddar din Azure-funktion med en Microsoft Entra ID-applikation måste du använda den generiska webhook-metoden genom att använda HTTP-triggern. Använd Azure-funktionsslutpunkten som en webhook-URL när du lägger till prenumerationen.
Självstudier
| Titel | Beskrivning |
|---|---|
| Snabbstart: Hantera händelser med funktion | Skickar en anpassad händelse till en funktion för bearbetning. |
| Självstudie: strömma stordata till ett informationslager | När en händelsehubb skapar en avbildningsfil skickar Event Grid en händelse till en funktionsapp. Appen hämtar avbildningsfilen och migrerar data till ett informationslager. |
| Självstudie: Integreringsexempel för Azure Service Bus till Azure Event Grid | Event Grid skickar meddelanden från ett Service Bus-ämne till en funktionsapp och en logikapp. |
REST API-exempel
Följande exempel visar förfrågningskroppen för en PUT-operation som skapar en händelseprenumeration med en Azure-funktion som händelsehanterare. Den sätter målfunktionens resurs-ID och möjliggör batchning.
{
"properties":
{
"destination":
{
"endpointType": "AzureFunction",
"properties":
{
"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.Web/sites/<FUNCTION APP NAME>/functions/<FUNCTION NAME>",
"maxEventsPerBatch": 10,
"preferredBatchSizeInKilobytes": 64
}
},
"eventDeliverySchema": "EventGridSchema"
}
}
Aktivera batchning
För högre genomströmning, aktivera batchning på prenumerationen. Om du använder Azure-portalen kan du ställa in maximala händelser per batch och föredragen batchstorlek i kilobyte när du skapar en prenumeration eller efteråt.
Konfigurera batchinställningar genom att använda Azure-portalen, PowerShell, CLI eller en Resource Manager-mall.
Azure Portal
När du skapar en prenumeration i portalen, på sidan Skapa händelseprenumeration, byt till fliken Avancerade funktioner och sätt värden för Max-händelser per batch och Föredragen batchstorlek i kilobyte.
Uppdatera dessa värden för en befintlig prenumeration under fliken Funktioner på sidan Event Grid Topic .
Azure Resource Manager-mall
Sätt maxEventsPerBatch och preferredBatchSizeInKilobytes i en Azure Resource Manager-mall. Mer information finns i Mallreferens för Microsoft.EventGrid eventSubscriptions.
Azure CLI
Använd kommandot az eventgrid event-subscription create för att konfigurera batchrelaterade inställningar genom att använda följande parametrar: --max-events-per-batch eller --preferred-batch-size-in-kilobytes.
Azure PowerShell
Använd cmdleten New-AzEventGridSubscription eller Update-AzEventGridSubscription för att konfigurera batchrelaterade inställningar. Använd parametern -MaxEventsPerBatch eller -PreferredBatchSizeInKiloBytes för att ställa in dina preferenser.
Relaterat innehåll
För en lista över stödda händelsehanterare, se artikeln om händelsehanterare .