Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med Kafka-tillägget för Azure Functions kan du skriva ut värden till Apache Kafka-ämnen med hjälp av en utdatabindning. Du kan också använda en utlösare för att anropa dina funktioner som svar på meddelanden i Kafka-ämnen.
Viktigt!
Kafka-bindningar är endast tillgängliga för Functions i planen Elastic Premium Plan and Dedicated (App Service). De stöds endast på version 3.x och senare version av Functions-körningen.
| Åtgärd | Typ |
|---|---|
| Kör en funktion baserat på en ny Kafka-händelse. | Utlösare |
| Skriv till Kafka-händelseströmmen. | Utdatabindning |
Installera tillägget
Vilket NuGet-tilläggspaket du installerar beror på vilket C#-läge du använder i funktionsappen:
Funktioner körs i en isolerad C#-arbetsprocess. Mer information finns i Guide för att köra C# Azure Functions i en isolerad arbetsprocess.
Lägg till tillägget i projektet genom att installera det här NuGet-paketet.
Installera paket
För att kunna använda det här bindningstillägget i din app kontrollerar du att denhost.json filen i projektets rot innehåller den här extensionBundle referensen:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
I det här exemplet version instruerar värdet [4.0.0, 5.0.0) för Functions-värden att använda en paketversion som är minst 4.0.0 men mindre än 5.0.0, som innehåller alla potentiella versioner av 4.x. Den här notationen underhåller appen på den senaste tillgängliga delversionen av v4.x-tilläggspaketet.
När det är möjligt bör du använda den senaste huvudversionen av tilläggspaketet och låta körningen automatiskt behålla den senaste delversionen. Du kan visa innehållet i det senaste paketet på versionssidan för tilläggspaket. Mer information finns i Azure Functions-tilläggspaket.
Aktivera körningsskalning
För att dina funktioner ska kunna skalas korrekt på Premium-planen när du använder Kafka-utlösare och bindningar måste du aktivera övervakning av körningsskala.
I Azure-portalen går du till funktionsappen och väljer Konfiguration.
På fliken Inställningar för funktionskörning väljer du På för Körningsskalningsövervakning.
host.json inställningar
I det här avsnittet beskrivs de konfigurationsinställningar som är tillgängliga för den här bindningen i version 3.x och senare. Inställningar i host.json-filen gäller för alla funktioner i en funktionsappinstans. Mer information om konfigurationsinställningar för funktionsappar i version 3.x och senare versioner finns i host.json referens för Azure Functions.
{
"version": "2.0",
"extensions": {
"kafka": {
"maxBatchSize": 64,
"SubscriberIntervalInSeconds": 1,
"ExecutorChannelCapacity": 1,
"ChannelFullRetryIntervalInMs": 50
}
}
}
| Fastighet | Standardvärde | Typ | Beskrivning |
|---|---|---|---|
| ChannelFullRetryIntervalInMs | 50 | Utlösare | Definierar omförsöksintervallet för prenumeranter, i millisekunder, som används vid försök att lägga till objekt i en kanal med kapacitet. |
| ExecutorChannelCapacity | 1 | Båda | Definierar kanalmeddelandekapaciteten. När kapaciteten har nåtts pausar Kafka-prenumeranten tills funktionen kommer ikapp. |
| MaxBatchSize (på engelska) | 64 | Utlösare | Maximal batchstorlek när du anropar en Kafka-utlöst funktion. |
| SubscriberIntervalInSeconds | 1 | Utlösare | Definierar den minsta frekvens som inkommande meddelanden körs per funktion i sekunder. Endast när meddelandevolymen är mindre än MaxBatchSize / SubscriberIntervalInSeconds |
Följande egenskaper, som ärvs från Apache Kafka C/C++-klientbiblioteket, stöds också i avsnittet i kafka host.json för antingen utlösare eller både utdatabindningar och utlösare:
| Fastighet | Gäller för | librdkafka motsvarande |
|---|---|---|
| AutoCommitIntervalMs | Utlösare | auto.commit.interval.ms |
| AutoOffsetReset | Utlösare | auto.offset.reset |
| FetchMaxBytes | Utlösare | fetch.max.bytes |
| LibkafkaDebug | Båda | debug |
| MaxPartitionFetchBytes | Utlösare | max.partition.fetch.bytes |
| MaxPollIntervalMs | Utlösare | max.poll.interval.ms |
| MetadataMaxAgeMs | Båda | metadata.max.age.ms |
| QueuedMinMessages | Utlösare | queued.min.messages |
| QueuedMaxMessagesKbytes | Utlösare | queued.max.messages.kbytes |
| ÅteranslutBackoffMs | Utlösare | reconnect.backoff.max.ms |
| ÅteranslutBackoffMaxMs | Utlösare | reconnect.backoff.max.ms |
| SessionTimeoutMs | Utlösare | session.timeout.ms |
| SocketKeepaliveEnable | Båda | socket.keepalive.enable |
| StatisticsIntervalMs | Utlösare | statistics.interval.ms |