Azure Event Hubs-utlösare och bindningar för Azure Functions
Den här artikeln förklarar hur du arbetar med Azure Event Hubs -bindningar för Azure Functions. Azure Functions stöder utlösare och utgående bindningar för Event Hubs.
| Action | Typ |
|---|---|
| Svara på händelser som skickats till händelse strömmen i Event Hub. | Utlösare |
| Skriva händelser till en händelse ström | Utgående bindning |
Lägga till i din Functions-app
Functions 2.x och senare
När du arbetar med utlösaren och bindningarna måste du referera till rätt paket. NuGet-paketet används för .NET-klassbibliotek medan tilläggspaketet används för alla andra programtyper.
| Språk | Lägg till efter... | Kommentarer |
|---|---|---|
| C# | Installera [NuGet-paketet], version 3.x | |
| C#-skript, Java, JavaScript, Python, PowerShell | Registrera tilläggspaketet | [Azure Tools-tillägget] rekommenderas att använda med Visual Studio Code. |
| C#-skript (endast online i Azure Portal) | Lägga till en bindning | Information om hur du uppdaterar befintliga bindningstillägg utan att behöva publicera funktionsappen på nytt finns [i Uppdatera dina tillägg.] |
Event Hubs 5.x och senare
En ny version av Event Hubs-bindningstillägget är nu tillgänglig. Den introducerar möjligheten att ansluta med hjälp av en identitet i stället för en hemlighet. En självstudiekurs om hur du konfigurerar funktionsappar med hanterade identiteter finns i självstudien Skapa en funktionsapp med identitetsbaserade anslutningar. För .NET-program ändras även de typer som du kan binda till, vilket ersätter typerna från med nyare typer från Microsoft.Azure.EventHubs Azure.Messaging.EventHubs.
Den här tilläggsversionen är tillgänglig genom att installera [NuGet-paketet], version 5.x, eller så kan du lägga till det från tilläggspaketet v3 genom att lägga till följande i host.json filen:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[3.3.0, 4.0.0)"
}
}
Mer information finns i [Uppdatera dina tillägg.]
Functions 1.x
Functions 1.x-appar har automatiskt en referens till Microsoft.Azure.WebJobs NuGet-paketet, version 2.x.
host.json-inställningar
Filen host.json innehåller inställningar som styr beteendet för Event Hubs utlösaren. Konfigurationen är olika beroende på vilken Azure Functions versionen.
Functions 2.x och senare
{
"version": "2.0",
"extensions": {
"eventHubs": {
"batchCheckpointFrequency": 5,
"eventProcessorOptions": {
"maxBatchSize": 256,
"prefetchCount": 512
},
"initialOffsetOptions": {
"type": "fromStart",
"enqueuedTimeUtc": ""
}
}
}
}
| Egenskap | Standardvärde | Description |
|---|---|---|
| batchCheckpointFrequency | 1 | Antalet händelsebatchar som ska bearbetas innan en EventHub-markörkontrollpunkt skapas. |
| eventProcessorOptions/maxBatchSize | 10 | Maximalt antal händelser som tas emot per mottagningsloop. |
| eventProcessorOptions/prefetchCount | 300 | Standardantalet för hämtning som används av den underliggande EventProcessorHost . Det minsta tillåtna värdet är 10. |
| initialOffsetOptions/type1 | fromStart | Platsen i händelseströmmen som bearbetningen ska börja från när det inte finns någon kontrollpunkt i lagringen. Alternativen är fromStart , fromEnd eller fromEnqueuedTime . fromEnd bearbetar nya händelser som togs iqueued efter att funktionsappen började köras. Gäller för alla partitioner. Mer information finns i dokumentationen för EventProcessorOptions. |
| initialOffsetOptions/enqueuedTimeUtc1 | Ej tillämpligt | Anger i vilken tid händelsen i dataströmmen som bearbetningen ska börjas från. När initialOffsetOptions/type har konfigurerats som fromEnqueuedTime är den här inställningen obligatorisk. Stöder tid i alla format som stöds av DateTime.Parse(), till exempel 2020-10-26T20:31Z . För tydlighetens skull bör du också ange en tidszon. När tidszonen inte anges förutsätter Functions den lokala tidszonen för den dator som kör funktionsappen, som är UTC när den körs på Azure. Mer information finns i dokumentationen för EventProcessorOptions. |
1 Stöd för initialOffsetOptions börjar med EventHubs v4.2.0.
Anteckning
En referens till host.jspå i Azure Functions 2.x och därefter finns i host.jspå referens för Azure Functions.
Functions 1.x
{
"eventHub": {
"maxBatchSize": 64,
"prefetchCount": 256,
"batchCheckpointFrequency": 1
}
}
| Egenskap | Standardvärde | Description |
|---|---|---|
| maxBatchSize | 64 | Maximalt antal händelser som tas emot per mottagningsloop. |
| prefetchCount | saknas | Standardförhämtningen som ska användas av den underliggande EventProcessorHost . |
| batchCheckpointFrequency | 1 | Antalet händelsebatchar som ska bearbetas innan en EventHub-markörkontrollpunkt skapas. |
Anteckning
En referens för host.jspå i Azure Functions 1.x finns ihost.json reference för Azure Functions 1.x.