Sdílet prostřednictvím


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.

Snímek obrazovky s panelem webu Azure Portal pro povolení škálování za běhu

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

Další kroky