Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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. | Spouštěč |
| 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
Pokud chcete v aplikaci použít toto rozšíření vazeb, ujistěte se, že soubor host.json v kořenovém adresáři projektu obsahuje tento extensionBundle odkaz:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
V tomto příkladu version hodnota [4.0.0, 5.0.0) dává hostiteli Functions pokyn, aby používal verzi sady, která je alespoň 4.0.0 , ale menší než 5.0.0, která zahrnuje všechny potenciální verze 4.x. Tato notace efektivně udržuje vaši aplikaci na nejnovější dostupné podverzi sady rozšíření v4.x.
Pokud je to možné, měli byste použít nejnovější hlavní verzi sady rozšíření a umožnit modulu runtime automaticky udržovat nejnovější podverzi. Obsah nejnovější sady můžete zobrazit na stránce verze sady rozšíření. Další informace najdete v sadách rozšíření Azure Functions.
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í vyberte Konfigurace.
Na kartě Nastavení modulu runtime funkce pro monitorování škálování modulu runtime vyberte 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 | Spouštěč | 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í. |
| Maximální velikost dávky | 64 | Spouštěč | Maximální velikost dávky při volání funkce aktivované platformou Kafka |
| SubscriberIntervalInSeconds | 0 | Spouštěč | 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 | Spouštěč | auto.commit.interval.ms |
| AutoOffsetReset | Spouštěč | auto.offset.reset |
| FetchMaxBytes | Spouštěč | fetch.max.bytes |
| LibkafkaDebug | Oba | debug |
| MaxPartitionFetchBytes | Spouštěč | max.partition.fetch.bytes |
| MaxPollIntervalMs | Spouštěč | max.poll.interval.ms |
| MetadataMaxAgeMs | Oba | metadata.max.age.ms |
| QueuedMinMessages | Spouštěč | queued.min.messages |
| QueuedMaxMessagesKbytes | Spouštěč | queued.max.messages.kbytes |
| Znovu připojitBackoffMs | Spouštěč | reconnect.backoff.max.ms |
| Opětovné připojeníBackoffMaxMs | Spouštěč | reconnect.backoff.max.ms |
| SessionTimeoutMs | Spouštěč | session.timeout.ms |
| SocketKeepaliveEnable | Oba | socket.keepalive.enable |
| StatisticsIntervalMs | Spouštěč | statistics.interval.ms |