Přehled vazeb Apache Kafka pro Azure Functions
Rozšíření Kafka pro Azure Functions umožňuje psát hodnoty do témat Apache Kafka pomocí výstupní vazby. Trigger můžete také použít k vyvolání funkcí v reakci na zprávy v tématech Kafka.
Důležité
Vazby Kafka jsou dostupné jenom pro funkce v plánu Elastic Premium a vyhrazeném plánu (App Service). Podporují se pouze ve verzi 3.x a novější verzi modulu runtime Functions.
Akce | Typ |
---|---|
Spusťte funkci založenou na nové události Kafka. | Trigger |
Zapište do streamu událostí Kafka. | Výstupní vazba |
Instalace rozšíření
Balíček NuGet rozšíření, který nainstalujete, závisí na režimu jazyka C#, který používáte ve své aplikaci funkcí:
Funkce se spouštějí v izolovaném pracovním procesu C#. Další informace najdete v průvodci spuštěním služby Azure Functions v jazyce C# v izolovaném pracovním procesu.
Přidejte rozšíření do projektu instalací tohoto balíčku NuGet.
Instalace sady
Rozšíření Kafka je součástí sady rozšíření, která je zadaná v souboru projektu host.json. Při vytváření projektu, který cílí na Functions verze 3.x nebo novější, byste již měli mít tuto sadu nainstalovanou. Další informace najdete v sadě rozšíření.
Povolení škálování za běhu
Pokud chcete, aby se funkce při použití triggerů a vazeb Kafka správně škálovaly v plánu Premium, musíte povolit monitorování škálování modulu runtime.
Na webu Azure Portal ve vaší aplikaci funkcí zvolte Konfigurace a na kartě Nastavení modulu runtime funkce zapněte monitorování škálování modulu runtime na Zapnuto.
nastavení host.json
Tato část popisuje nastavení konfigurace dostupné pro tuto vazbu ve verzích 3.x a vyšších. Nastavení v souboru host.json platí pro všechny funkce v instanci aplikace funkcí. Další informace o nastavení konfigurace aplikace funkcí ve verzích 3.x a novějších verzích najdete v referenčních informacích k host.json pro Azure Functions.
{
"version": "2.0",
"extensions": {
"kafka": {
"maxBatchSize": 64,
"SubscriberIntervalInSeconds": 1,
"ExecutorChannelCapacity": 1,
"ChannelFullRetryIntervalInMs": 50
}
}
}
Vlastnost | Výchozí | Typ | Popis |
---|---|---|---|
ChannelFullRetryIntervalInMs | 50 | Trigger | Definuje interval opakování odběratele v milisekundách, který se používá při pokusu o přidání položek do kanálu kapacity. |
ExecutorChannelCapacity | 0 | Oba | Definuje kapacitu zpráv kanálu. Po dosažení kapacity se předplatitel Kafka pozastaví, dokud se funkce nezachytí. |
MaxBatchSize | 64 | Trigger | Maximální velikost dávky při volání funkce aktivované platformou Kafka |
SubscriberIntervalInSeconds | 0 | Trigger | Definuje minimální frekvenci spouštění příchozích zpráv na funkci v sekundách. Pouze v případech, kdy je svazek zprávy menší než MaxBatchSize / SubscriberIntervalInSeconds |
Následující vlastnosti, které jsou zděděny z klientské knihovny Apache Kafka C/C++, jsou podporovány také v kafka
části host.json pro aktivační události nebo obě výstupní vazby a triggery:
Vlastnost | Platí pro | ekvivalent librdkafka |
---|---|---|
AutoCommitIntervalMs | Trigger | auto.commit.interval.ms |
AutoOffsetReset | Trigger | auto.offset.reset |
FetchMaxBytes | Trigger | fetch.max.bytes |
LibkafkaDebug | Oba | debug |
MaxPartitionFetchBytes | Trigger | max.partition.fetch.bytes |
MaxPollIntervalMs | Trigger | max.poll.interval.ms |
MetadataMaxAgeMs | Oba | metadata.max.age.ms |
QueuedMinMessages | Trigger | queued.min.messages |
QueuedMaxMessagesKbytes | Trigger | queued.max.messages.kbytes |
Znovu připojitBackoffMs | Trigger | reconnect.backoff.max.ms |
Opětovné připojeníBackoffMaxMs | Trigger | reconnect.backoff.max.ms |
SessionTimeoutMs | Trigger | session.timeout.ms |
SocketKeepaliveEnable | Oba | socket.keepalive.enable |
StatisticsIntervalMs | Trigger | statistics.interval.ms |