Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met de Kafka-extensie voor Azure Functions kunt u waarden naar Apache Kafka-onderwerpen schrijven met behulp van een uitvoerbinding. U kunt ook een trigger gebruiken om uw functies aan te roepen als reactie op berichten in Kafka-onderwerpen.
Belangrijk
Kafka-bindingen zijn alleen beschikbaar voor Functions in het Elastic Premium-abonnement en het Toegewezen (App Service)-abonnement. Ze worden alleen ondersteund op versie 3.x en latere versie van de Functions-runtime.
| Actie | Typologie |
|---|---|
| Een functie uitvoeren op basis van een nieuwe Kafka-gebeurtenis. | Trekker |
| Schrijf naar de Kafka-gebeurtenisstroom. | Uitvoerbinding |
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.
Voeg de extensie toe aan uw project door dit NuGet-pakket te installeren.
Bundel installeren
Als u deze bindingsextensie in uw app wilt kunnen gebruiken, moet u ervoor zorgen dat het host.json bestand in de hoofdmap van uw project deze extensionBundle verwijzing bevat:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
In dit voorbeeld geeft de version waarde van [4.0.0, 5.0.0) de Functions-host opdracht om een bundelversie te gebruiken die ten minste 4.0.0 maar kleiner is dan 5.0.0, die alle mogelijke versies van 4.x bevat. Deze notatie onderhoudt uw app effectief op de nieuwste beschikbare secundaire versie van de v4.x-extensiebundel.
Indien mogelijk moet u de meest recente primaire versie van de extensiebundel gebruiken en toestaan dat de runtime automatisch de meest recente secundaire versie onderhoudt. U kunt de inhoud van de meest recente bundel bekijken op de releasepagina voor extensiebundels. Zie Azure Functions-extensiebundels voor meer informatie.
Runtime schalen inschakelen
Als u wilt dat uw functies op de juiste manier kunnen worden geschaald in het Premium-abonnement bij het gebruik van Kafka-triggers en -bindingen, moet u bewaking van runtimeschaal inschakelen.
Selecteer Configuratie in de Azure-portal in uw functie-app.
Selecteer op het tabblad Runtime-instellingen voor Runtime-schaalbewaking de optie Aan.
host.json-instellingen
In deze sectie worden de configuratie-instellingen beschreven die beschikbaar zijn voor deze binding in versie 3.x en hoger. Instellingen in het bestand host.json zijn van toepassing op alle functies in een exemplaar van een functie-app. Zie de host.json-verwijzing voor Azure Functions voor meer informatie over configuratie-instellingen voor functie-apps in versies 3.x en latere versies.
{
"version": "2.0",
"extensions": {
"kafka": {
"maxBatchSize": 64,
"SubscriberIntervalInSeconds": 1,
"ExecutorChannelCapacity": 1,
"ChannelFullRetryIntervalInMs": 50
}
}
}
| Eigenschappen | Standaard | Typologie | Beschrijving |
|---|---|---|---|
| ChannelFullRetryIntervalInMs | 50 | Activator | Definieert het interval voor opnieuw proberen van abonnees, in milliseconden, dat wordt gebruikt bij het toevoegen van items aan een at-capacity-kanaal. |
| ExecutorChannelCapacity | 1 | Beide | Definieert de capaciteit van het kanaalbericht. Zodra de capaciteit is bereikt, wordt de Kafka-abonnee onderbroken totdat de functie is opgelopen. |
| Max. BatchSize | 64 | Activator | Maximale batchgrootte bij het aanroepen van een door Kafka geactiveerde functie. |
| SubscriberIntervalInSeconds | 1 | Activator | Hiermee definieert u de minimale frequentie van binnenkomende berichten, per functie in seconden. Alleen wanneer het berichtvolume kleiner is dan MaxBatchSize / SubscriberIntervalInSeconds |
De volgende eigenschappen, die worden overgenomen van de Apache Kafka C/C++-clientbibliotheek, worden ook ondersteund in de kafka sectie van host.json, voor triggers of zowel uitvoerbindingen als triggers en triggers:
| Eigenschappen | Van toepassing op | librdkafka equivalent |
|---|---|---|
| AutoCommitIntervalMs | Activator | auto.commit.interval.ms |
| AutoOffsetReset | Activator | auto.offset.reset |
| FetchMaxBytes | Activator | fetch.max.bytes |
| LibkafkaDebug | Beide | debug |
| MaxPartitionFetchBytes | Activator | max.partition.fetch.bytes |
| MaxPollIntervalMs | Activator | max.poll.interval.ms |
| MetadataMaxAgeMs | Beide | metadata.max.age.ms |
| QueuedMinMessages | Activator | queued.min.messages |
| QueuedMaxMessagesKbytes | Activator | queued.max.messages.kbytes |
| Opnieuw verbinding maken met BackoffMs | Activator | reconnect.backoff.max.ms |
| Opnieuw verbinding maken MetBackoffMaxMs | Activator | reconnect.backoff.max.ms |
| SessionTimeoutMs | Activator | session.timeout.ms |
| SocketKeepaliveEnable | Beide | socket.keepalive.enable |
| StatisticsIntervalMs | Activator | statistics.interval.ms |