Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure Functions Kafka-bővítménye lehetővé teszi az értékek Apache Kafka-témakörökbe való írását kimeneti kötés használatával. Eseményindítóval is meghívhatja a függvényeket a Kafka-témakörökben szereplő üzenetekre válaszul.
Fontos
A Kafka-kötések csak az Elastic Premium Csomag és a Dedikált (App Service) csomaghoz tartozó Functions esetében érhetők el. Ezek csak a Functions-futtatókörnyezet 3.x és újabb verziójában támogatottak.
| Művelet | Típus |
|---|---|
| Futtasson egy függvényt egy új Kafka-esemény alapján. | Eseményindító |
| Írjon a Kafka eseménystreambe. | Kimeneti kötés |
A bővítmény telepítése
A telepített NuGet-csomag a függvényalkalmazásban használt C# módtól függ:
A függvények izolált C# feldolgozói folyamatban futnak. További információ: Útmutató a C# Azure Functions izolált feldolgozói folyamatban való futtatásához.
A NuGet-csomag telepítésével adja hozzá a bővítményt a projekthez.
Csomag telepítése
Ha használni szeretné ezt a kötéskiterjesztést az alkalmazásban, győződjön meg arról, hogy a projekt gyökerében található host.json fájl tartalmazza a extensionBundle következő hivatkozást:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
Ebben a példában az version érték [4.0.0, 5.0.0) arra utasítja a Functions-gazdagépet, hogy 4.0.0 legalább, de annál kisebb 5.0.0csomagverziót használjon, amely tartalmazza a 4.x összes lehetséges verzióját. Ez a jelölés hatékonyan fenntartja az alkalmazást a v4.x bővítménycsomag legújabb elérhető alverzióján.
Ha lehetséges, a legújabb bővítménycsomag főverziót kell használnia, és engedélyeznie kell, hogy a futtatókörnyezet automatikusan fenntartsa a legújabb alverziót. A legújabb csomag tartalmát a bővítménykötegek kiadási oldalán tekintheti meg. További információ: Azure Functions-bővítménykötegek.
Futtatókörnyezet skálázásának engedélyezése
Ahhoz, hogy a függvények megfelelően skálázhatók legyenek a Prémium csomagban Kafka-eseményindítók és kötések használatakor, engedélyeznie kell a futtatókörnyezeti skálázás monitorozását.
Az Azure Portal függvényalkalmazásában válassza a Konfiguráció lehetőséget.
A Függvény futtatókörnyezet beállításai lapon válassza a Futtatókörnyezet skálázásának monitorozásalehetőséget.
host.json beállítások
Ez a szakasz a kötéshez elérhető konfigurációs beállításokat ismerteti a 3.x és újabb verziókban. A host.json fájl beállításai a függvényalkalmazás-példány összes függvényére vonatkoznak. A függvényalkalmazások konfigurációs beállításairól a 3.x és újabb verziókban az Azure Functions host.json referenciájában talál további információt.
{
"version": "2.0",
"extensions": {
"kafka": {
"maxBatchSize": 64,
"SubscriberIntervalInSeconds": 1,
"ExecutorChannelCapacity": 1,
"ChannelFullRetryIntervalInMs": 50
}
}
}
| Tulajdonság | Alapértelmezett | Típus | Leírás |
|---|---|---|---|
| ChannelFullRetryIntervalInMs | 50 | Eseményindító | Ezredmásodpercben határozza meg az előfizetői újrapróbálkozási időközt, amely akkor használatos, amikor elemeket próbál hozzáadni egy kapacitáson belüli csatornához. |
| ExecutorChannelCapacity | 0 | Mindkettő | Meghatározza a csatorna üzenetkapacitását. A kapacitás elérése után a Kafka-előfizető felfüggeszti a funkciót. |
| MaxBatchSize | 64 | Eseményindító | Maximális kötegméret kafka által aktivált függvény meghívásakor. |
| SubscriberIntervalInSeconds | 0 | Eseményindító | A bejövő üzenetek végrehajtásának minimális gyakoriságát határozza meg függvényenként másodpercben. Csak akkor, ha az üzenetkötet kisebb, mint MaxBatchSize / SubscriberIntervalInSeconds |
Az Apache Kafka C/C++ ügyfélkódtárból öröklő alábbi tulajdonságok az host.json szakaszában kafka is támogatottak, akár triggerek, akár kimeneti kötések és triggerek esetén:
| Tulajdonság | A következőre érvényes: | librdkafka egyenértékű |
|---|---|---|
| AutoCommitIntervalMs | Eseményindító | auto.commit.interval.ms |
| AutoOffsetReset | Eseményindító | auto.offset.reset |
| FetchMaxBytes | Eseményindító | fetch.max.bytes |
| LibkafkaDebug | Mindkettő | debug |
| MaxPartitionFetchBytes | Eseményindító | max.partition.fetch.bytes |
| MaxPollIntervalMs | Eseményindító | max.poll.interval.ms |
| MetadataMaxAgeMs | Mindkettő | metadata.max.age.ms |
| QueuedMinMessages | Eseményindító | queued.min.messages |
| QueuedMaxMessagesKbytes | Eseményindító | queued.max.messages.kbytes |
| ReconnectBackoffMs | Eseményindító | reconnect.backoff.max.ms |
| ReconnectBackoffMaxMs | Eseményindító | reconnect.backoff.max.ms |
| SessionTimeoutMs | Eseményindító | session.timeout.ms |
| SocketKeepaliveEnable | Mindkettő | socket.keepalive.enable |
| StatisticsIntervalMs | Eseményindító | statistics.interval.ms |