Dela via


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: Automatisera storleksändring av uppladdade bilder med Event Grid Användare laddar upp bilder via webbappen till lagringskontot. När en lagringsblob skapas skickar Event Grid en händelse till funktionsappen, som ändrar storlek på den uppladdade avbildningen.
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-portalen kan du ange maximalt antal 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 Azure-portalen, PowerShell, CLI eller Resource Manager-mallen.

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.

Enable batching at the time of creating a subscription

Du kan uppdatera dessa värden för en befintlig prenumeration på fliken Funktionersidan Event Grid-ämne .

Enable batching after creation

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 .