Azure Event Grid-bindingen voor Azure Functions
In deze verwijzing ziet u hoe u verbinding maakt met Azure Event Grid met behulp van Azure Functions-triggers en -bindingen.
Event Grid is een Azure-service die HTTP-aanvragen verzendt om u op de hoogte te stellen van gebeurtenissen die plaatsvinden in uitgevers. Een uitgever is de service of resource die afkomstig is van de gebeurtenis. Een Azure Blob Storage-account is bijvoorbeeld een uitgever en een blobupload of -verwijdering is een gebeurtenis. Sommige Azure-services hebben ingebouwde ondersteuning voor het publiceren van gebeurtenissen naar Event Grid.
Gebeurtenis-handlers ontvangen en verwerken gebeurtenissen. Azure Functions is een van de verschillende Azure-services die ingebouwde ondersteuning bieden voor het verwerken van Event Grid-gebeurtenissen. Functions biedt een Event Grid-trigger die een functie aanroept wanneer een gebeurtenis wordt ontvangen van Event Grid. Een vergelijkbare uitvoerbinding kan worden gebruikt om gebeurtenissen van uw functie te verzenden naar een aangepast Event Grid-onderwerp.
U kunt ook een HTTP-trigger gebruiken om Event Grid-gebeurtenissen te verwerken. Zie Gebeurtenissen ontvangen naar een HTTP-eindpunt voor meer informatie. U wordt aangeraden de Event Grid-trigger via HTTP-trigger te gebruiken.
Actie | Type |
---|---|
Een functie uitvoeren wanneer een Event Grid-gebeurtenis wordt verzonden | Trigger |
Een Event Grid-gebeurtenis verzenden | Uitvoerbinding |
De geretourneerde HTTP-statuscode beheren | HTTP-eindpunt |
De extensie installeren
Het NuGet-extensiepakket dat u installeert, is afhankelijk van de C#-modus die u gebruikt in uw functie-app:
Functies worden uitgevoerd in een geïsoleerd C#-werkproces. Zie De handleiding voor het uitvoeren van C# Azure Functions in een geïsoleerd werkproces voor meer informatie.
De functionaliteit van de extensie varieert afhankelijk van de extensieversie:
Voeg de extensie toe aan uw project door het NuGet-pakket, versie 3.x, te installeren.
Bundel installeren
De Event Grid-extensie maakt deel uit van een extensiebundel, die is opgegeven in uw host.json projectbestand. Mogelijk moet u deze bundel wijzigen om de versie van de Event Grid-binding te wijzigen of als bundels nog niet zijn geïnstalleerd. Zie uitbreidingsbundel voor meer informatie.
U kunt deze versie van de extensie toevoegen vanuit de extensiebundel v3 door de volgende configuratie in uw host.json
bestand toe te voegen of te vervangen:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.3.0, 4.0.0)"
}
}
Zie Uw extensies bijwerken voor meer informatie.
Bindingstypen
De bindingstypen die worden ondersteund voor .NET zijn afhankelijk van zowel de extensieversie als de C#-uitvoeringsmodus. Dit kan een van de volgende zijn:
Een geïsoleerde werkprocesklassebibliotheek gecompileerde C#-functie wordt uitgevoerd in een proces dat is geïsoleerd van de runtime.
Kies een versie om de details van het bindingstype voor de modus en versie weer te geven.
Het geïsoleerde werkproces ondersteunt parametertypen volgens de onderstaande tabellen. Ondersteuning voor binding met Stream
en typen van Azure.Messaging is in preview.
Event Grid-trigger
Wanneer u wilt dat de functie één gebeurtenis verwerkt, kan de Event Grid-trigger worden gekoppeld aan de volgende typen:
Type | Description |
---|---|
JSON serialiseerbare typen | Functions probeert de JSON-gegevens van de gebeurtenis te deserialiseren in een niet-oud CLR-objecttype (POCO). |
string |
De gebeurtenis als een tekenreeks. |
BinaryData1 | De bytes van het gebeurtenisbericht. |
CloudEvent1 | Het gebeurtenisobject. Gebruik deze functie wanneer Event Grid is geconfigureerd voor levering met behulp van het CloudEvents-schema. |
EventGridEvent1 | Het gebeurtenisobject. Gebruik deze functie wanneer Event Grid is geconfigureerd voor levering met behulp van het Event Grid-schema. |
Wanneer u wilt dat de functie een batch gebeurtenissen verwerkt, kan de Event Grid-trigger worden gekoppeld aan de volgende typen:
Type | Description |
---|---|
CloudEvent[] 1,EventGridEvent[] 1,string[] ,BinaryData[] 1 |
Een matrix met gebeurtenissen uit de batch. Elke vermelding vertegenwoordigt één gebeurtenis. |
1 Als u deze typen wilt gebruiken, moet u verwijzen naar Microsoft.Azure.Functions.Worker.Extensions.EventGrid 3.3.0 of hoger en de algemene afhankelijkheden voor SDK-typebindingen.
Event Grid-uitvoerbinding
Wanneer u wilt dat de functie één gebeurtenis schrijft, kan de Event Grid-uitvoerbinding worden gekoppeld aan de volgende typen:
Type | Description |
---|---|
string |
De gebeurtenis als een tekenreeks. |
byte[] |
De bytes van het gebeurtenisbericht. |
JSON serialiseerbare typen | Een object dat een JSON-gebeurtenis vertegenwoordigt. Functions probeert een eenvoudig oud CLR-objecttype (POCO) te serialiseren in JSON-gegevens. |
Wanneer u wilt dat de functie meerdere gebeurtenissen schrijft, kan de Event Grid-uitvoerbinding worden gekoppeld aan de volgende typen:
Type | Description |
---|---|
T[] waarbij T een van de gebeurtenistypen voor één gebeurtenis is |
Een matrix met meerdere gebeurtenissen. Elke vermelding vertegenwoordigt één gebeurtenis. |
Voor andere uitvoerscenario's maakt en gebruikt u een EventGridPublisherClient met andere typen rechtstreeks vanuit Azure.Messaging.EventGrid . Zie Azure-clients registreren voor een voorbeeld van het gebruik van afhankelijkheidsinjectie om een clienttype te maken op basis van de Azure SDK.
host.json-instellingen
De Event Grid-trigger maakt gebruik van een WEBhook HTTP-aanvraag, die kan worden geconfigureerd met dezelfde host.json instellingen als de HTTP-trigger.
Volgende stappen
- Als u vragen hebt, dient u hier een probleem in bij het team
- Event Grid-trigger
- Event Grid-uitvoerbinding
- Een functie uitvoeren wanneer een Event Grid-gebeurtenis wordt verzonden
- Een Event Grid-gebeurtenis verzenden