Een functie gebruiken als gebeurtenis-handler voor Event Grid-gebeurtenissen
Een gebeurtenis-handler is de plaats waar de gebeurtenis wordt verzonden. De handler voert een actie uit om de gebeurtenis te verwerken. Verschillende Azure-services worden automatisch geconfigureerd voor het afhandelen van gebeurtenissen en Azure Functions is een van deze services.
Als u een functie in Azure wilt gebruiken als handler voor gebeurtenissen, volgt u een van de volgende methoden:
- Event Grid-trigger gebruiken. Geef De Azure-functie op als het eindpunttype. Geef vervolgens de functie-app en de functie op waarmee gebeurtenissen worden verwerkt.
- Http-trigger gebruiken. Geef Webhook op als het eindpunttype. Geef vervolgens de URL op voor de functie waarmee gebeurtenissen worden verwerkt.
U wordt aangeraden de eerste benadering (Event Grid-trigger) te gebruiken, omdat deze de volgende voordelen heeft ten opzichte van de tweede benadering:
- Event Grid valideert automatisch Event Grid-triggers. Met algemene HTTP-triggers moet u het validatieantwoord zelf implementeren.
- Event Grid past automatisch de snelheid aan waarmee gebeurtenissen worden geleverd aan een functie die wordt geactiveerd door een Event Grid-gebeurtenis, automatisch aan op basis van de waargenomen snelheid waarmee de functie gebeurtenissen kan verwerken. Met deze functie voor frequentieovereenkomst worden leveringsfouten die voortvloeien uit het onvermogen van een functie om gebeurtenissen te verwerken, omkeren omdat de verwerkingssnelheid van de functie in de loop van de tijd kan variƫren. Om de efficiƫntie bij hoge doorvoer te verbeteren, schakelt u batchverwerking in op het gebeurtenisabonnement. Zie Batchverwerking inschakelen voor meer informatie.
Notitie
- Wanneer u een Event Grid-trigger gebruikt om een gebeurtenisabonnement toe te voegen met behulp van een Azure-functie, haalt Event Grid de toegangssleutel voor de doelfunctie op met behulp van de referenties van de Event Grid-service-principal. De machtigingen worden verleend aan Event Grid wanneer u de Event Grid-resourceprovider registreert in hun Azure-abonnement.
- Als u uw Azure-functie beveiligt met een Microsoft Entra ID-toepassing , moet u de algemene webhookbenadering gebruiken met behulp van de HTTP-trigger. Gebruik het Azure-functie-eindpunt als een webhook-URL bij het toevoegen van het abonnement.
Zelfstudies
Title | Beschrijving |
---|---|
Quickstart: Gebeurtenissen verwerken met functie | Verzendt een aangepaste gebeurtenis naar een functie voor verwerking. |
Zelfstudie: big data streamen naar een datawarehouse | Wanneer Event Hubs een Capture-bestand maakt, verzendt Event Grid een gebeurtenis naar een functie-app. De app haalt het Capture-bestand op en migreert gegevens naar een datawarehouse. |
Zelfstudie: Azure Service Bus naar Azure Event Grid-integratievoorbeelden | Event Grid verzendt berichten van Service Bus-onderwerp naar een functie-app en een logische app. |
REST-voorbeeld (voor 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"
}
}
Batchverwerking inschakelen
Voor een hogere doorvoer schakelt u batchverwerking in voor het abonnement. Als u Azure Portal gebruikt, kunt u maximumgebeurtenissen per batch en de gewenste batchgrootte instellen in kilobytes op het moment van het maken van een abonnement of na het maken.
U kunt batchinstellingen configureren met behulp van de Azure-portal, PowerShell, CLI of Resource Manager-sjabloon.
Azure Portal
Op het moment dat u een abonnement maakt in de gebruikersinterface, gaat u op de pagina Gebeurtenisabonnement maken naar het tabblad Geavanceerde functies en stelt u waarden in voor maximumgebeurtenissen per batch en voorkeursbatchgrootte in kilobytes.
U kunt deze waarden voor een bestaand abonnement bijwerken op het tabblad Onderdelen van de pagina Event Grid-onderwerp .
Azure Resource Manager-sjabloon
U kunt maxEventsPerBatch en preferredBatchSizeInKilobytes instellen in een Azure Resource Manager-sjabloon. Zie de sjabloonreferentie microsoft.EventGrid eventSubscriptions voor meer informatie.
Azure-CLI
U kunt de az eventgrid event-subscription create
opdracht gebruiken om batch-gerelateerde instellingen te configureren met behulp van de volgende parameters: --max-events-per-batch
of --preferred-batch-size-in-kilobytes
.
Azure PowerShell
U kunt de cmdlet New-AzEventGridSubscription of Update-AzEventGridSubscription gebruiken om batchgerelateerde instellingen te configureren met behulp van de volgende parameters: -MaxEventsPerBatch
of -PreferredBatchSizeInKiloBytes
.
Notitie
Wanneer u Event Grid Trigger gebruikt, haalt de Event Grid-service het clientgeheim op voor de Azure-doelfunctie en gebruikt deze om gebeurtenissen aan de Azure-functie te leveren. Als u uw Azure-functie beveiligt met een Microsoft Entra-toepassing, moet u de algemene webhookbenadering gebruiken en de HTTP-trigger gebruiken.
Volgende stappen
Zie het artikel Gebeurtenis-handlers voor een lijst met ondersteunde gebeurtenis-handlers.