Använda en funktion som händelsehanterare för Event Grid-händelser
En händelsehanterare är den plats där händelsen skickas. Hanteraren vidtar en åtgärd för att bearbeta händelsen. Flera Azure-tjänster konfigureras automatiskt för att hantera händelser och Azure Functions är en av dem.
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 Event Grid-utlösare. Ange Azure Function som slutpunktstyp. Ange sedan funktionsappen och den funktion som ska hantera händelser.
- Använd HTTP-utlösare. Ange Web Hook som slutpunktstyp. Ange sedan URL:en för funktionen som ska hantera händelser.
Vi rekommenderar att du använder den första metoden (Event Grid-utlösare) eftersom 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 den hastighet med vilken händelser levereras till en funktion som utlöses av en Event Grid-händelse baserat på den upplevda hastighet med vilken funktionen kan bearbeta händelser. Den här funktionen för hastighetsmatchning förhindrar leveransfel som beror på en funktions oförmåga att bearbeta händelser eftersom funktionens händelsebearbetningshastighet 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 en Event Grid-utlösare lägger till en händelseprenumeration med hjälp av en Azure-funktion hämtar Event Grid åtkomstnyckeln för målfunktionen med autentiseringsuppgifterna för Event Grid-tjänstens huvudnamn. Behörigheterna beviljas till Event Grid när du registrerar Event Grid-resursprovidern i deras Azure-prenumeration.
- Om du skyddar din Azure-funktion med ett Microsoft Entra-ID-program måste du använda den allmänna webhookmetoden med HTTP-utlösaren. Använd Azure-funktionsslutpunkten som en webhook-URL när du lägger till prenumerationen.
Självstudier
Title | Description |
---|---|
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 Event Hubs 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 Service Bus-ämnet till en funktionsapp och en logikapp. |
REST-exempel (för PUT)
{
"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 batchbearbetning
För ett högre dataflöde aktiverar du batchbearbetning för prenumerationen. Om du använder Azure Portal kan du ange maximala händelser per batch och önskad batchstorlek i kilobyte när du skapar en prenumeration eller efter skapandet.
Du kan konfigurera batchinställningar med hjälp av mallen Azure Portal, PowerShell, CLI eller Resource Manager.
Azure Portal
När du skapar en prenumeration i användargränssnittet går du till sidan Skapa händelseprenumeration , växlar till fliken Avancerade funktioner och anger värden för Max-händelser per batch och Önskad batchstorlek i kilobyte.
Du kan uppdatera dessa värden för en befintlig prenumeration på fliken Funktioner på sidan Event Grid-ämne .
Azure Resource Manager-mall
Du kan ange maxEventsPerBatch och preferredBatchSizeInKilobytes i en Azure Resource Manager-mall. Mer information finns i Mallreferens för Microsoft.EventGrid eventSubscriptions.
Azure CLI
Du kan använda az eventgrid event-subscription create
kommandot för att konfigurera batchrelaterade inställningar med hjälp av följande parametrar: --max-events-per-batch
eller --preferred-batch-size-in-kilobytes
.
Azure PowerShell
Du kan använda cmdleten New-AzEventGridSubscription eller Update-AzEventGridSubscription för att konfigurera batchrelaterade inställningar med hjälp av följande parametrar: -MaxEventsPerBatch
eller -PreferredBatchSizeInKiloBytes
.
Kommentar
När du använder Event Grid-utlösare hämtar Event Grid-tjänsten klienthemligheten för azure-målfunktionen och använder den för att leverera händelser till Azure-funktionen. Om du skyddar din Azure-funktion med ett Microsoft Entra-program måste du använda den allmänna webbkroken och använda HTTP-utlösaren.
Nästa steg
En lista över händelsehanterare som stöds finns i artikeln Händelsehanterare .