Azure Event Hubs trigger en bindingen voor Azure Functions
In dit artikel wordt uitgelegd hoe u kunt werken met Azure Event hubs -bindingen voor Azure functions. Azure Functions ondersteunt trigger-en uitvoer bindingen voor Event Hubs.
| Bewerking | Type |
|---|---|
| Reageren op gebeurtenissen die naar een Event Hub gebeurtenis stroom worden verzonden. | Trigger |
| Gebeurtenissen naar een gebeurtenis stroom schrijven | Uitvoer binding |
Toevoegen aan uw Functions-app
Functions 2.x en hoger
Als u met de trigger en bindingen wilt werken, moet u verwijzen naar het juiste pakket. Het NuGet-pakket wordt gebruikt voor .NET-klassebibliotheken, terwijl de extensiebundel wordt gebruikt voor alle andere toepassingstypen.
| Taal | Toevoegen door... | Opmerkingen |
|---|---|---|
| C# | Het [NuGet-pakket installeren,]versie 3.x | |
| C#-script, Java, JavaScript, Python, PowerShell | De extensiebundel [registreren] | De [extensie Azure Tools wordt] aanbevolen voor gebruik met Visual Studio Code. |
| C#-script (alleen online in Azure Portal) | Een binding toevoegen | Zie Uw extensies bijwerken als u bestaande bindingsextensies wilt bijwerken zonder dat u de functie-app [opnieuw moet publiceren.] |
Event Hubs extensie 5.x en hoger
Er is nu een nieuwe versie van Event Hubs-extensie voor bindingen beschikbaar. Het introduceert de mogelijkheid om verbinding te maken met behulp van een identiteit in plaats van een geheim. Zie de zelfstudie Een functie-app maken met op identiteit gebaseerde verbindingen voor een zelfstudie over het configureren van uw functie-apps met beheerde identiteiten. Voor .NET-toepassingen worden ook de typen gewijzigd die u kunt verbinden, en worden de typen van vervangen door nieuwere Microsoft.Azure.EventHubs typen van Azure.Messaging.EventHubs.
Deze extensieversie is beschikbaar door het NuGet-pakket, versie 5.x, te installeren of door het volgende toe te voegen in uw bestand vanuit de extensiebundel host.json v3:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.3.0, 4.0.0)"
}
}
Zie Uw extensies bijwerken [voor meer informatie.]
Functions 1.x
Functions 1.x-apps hebben automatisch een verwijzing naar het Microsoft.Azure.WebJobs NuGet-pakket, versie 2.x.
host.json-instellingen
Het bestand host.json bevat instellingen die het gedrag voor de trigger Event Hubs bepalen. De configuratie verschilt afhankelijk van de versie van Azure Functions.
Functions 2.x en hoger
{
"version": "2.0",
"extensions": {
"eventHubs": {
"batchCheckpointFrequency": 5,
"eventProcessorOptions": {
"maxBatchSize": 256,
"prefetchCount": 512
},
"initialOffsetOptions": {
"type": "fromStart",
"enqueuedTimeUtc": ""
}
}
}
}
| Eigenschap | Standaard | Beschrijving |
|---|---|---|
| batchCheckpointFrequency | 1 | Het aantal gebeurtenisbatches dat moet worden verwerkt voordat een controlepunt voor een EventHub-cursor wordt gemaakt. |
| eventProcessorOptions/maxBatchSize | 10 | Het maximale gebeurtenisaantal dat per ontvangstlus wordt ontvangen. |
| eventProcessorOptions/prefetchCount | 300 | Het standaardaantal voor vooraf ophalen dat wordt gebruikt door de onderliggende EventProcessorHost. De minimaal toegestane waarde is 10. |
| initialOffsetOptions/type1 | fromStart | De locatie in de gegevensstroom van de gebeurtenis waar de verwerking moet worden gestart als een controlepunt niet aanwezig is in de opslag. De beschikbare opties zijn fromStart , fromEnd en fromEnqueuedTime. fromEnd verwerkt nieuwe gebeurtenissen die in de wachtrij zijn geplaatst nadat de functie-app werd uitgevoerd. Dit is van toepassing op alle partities. Raadpleeg de documentatie over EventProcessorOptions voor meer informatie. |
| initialOffsetOptions/enqueuedTimeUtc1 | N.v.t. | Hiermee wordt de wachtrijtijd aangegeven van de gebeurtenis in de gegevensstroom waar de verwerking moet beginnen. Wanneer initialOffsetOptions/type is geconfigureerd als fromEnqueuedTime, is deze instelling verplicht. Ondersteunt tijd in alle indelingen die worden ondersteund door DateTime.Parse(), zoals 2020-10-26T20:31Z. U kunt het best ook een tijdzone opgeven. Als er geen tijdzone is opgegeven, gebruikt Functions de lokale tijdzone van de computer waarop de functie-app wordt uitgevoerd. Als u Azure gebruikt, is dat UTC. Raadpleeg de documentatie over EventProcessorOptions voor meer informatie. |
1 Ondersteuning voor initialOffsetOptions begint met EventHubs v4.2.0.
Notitie
Zie Naslaginformatie over host.json voor Azure Functions voor naslaginformatie over host.json in Azure Functions 2.x en hoger.
Functions 1.x
{
"eventHub": {
"maxBatchSize": 64,
"prefetchCount": 256,
"batchCheckpointFrequency": 1
}
}
| Eigenschap | Standaard | Beschrijving |
|---|---|---|
| maxBatchSize | 64 | Het maximale gebeurtenisaantal dat per ontvangstlus wordt ontvangen. |
| prefetchCount | n.v.t. | Het standaardaantal voor vooraf ophalen dat wordt gebruikt door de onderliggende EventProcessorHost. |
| batchCheckpointFrequency | 1 | Het aantal gebeurtenisbatches dat moet worden verwerkt voordat een controlepunt voor een EventHub-cursor wordt gemaakt. |
Notitie
Zie Naslaginformatie over host.json voor Azure Functions 1.x voor naslaginformatie over host.json voor Azure Functions 1.x.