Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Sie Azure Functions in Azure-Container-Apps bereitstellen, übersetzt die Plattform Automatisch Ihre Funktionen-Triggerparameter in KEDA-Skalierungskonfigurationen. Diese Übersetzung stellt sicher, dass Ihre Funktionen basierend auf der eingehenden Workload aus verschiedenen Ereignisquellen entsprechend skaliert werden.
Funktionsweise von Skalierungszuordnungen
Azure Functions on Container Apps verwendet KEDA, um Ereignisquellen zu überwachen und Ihre Funktions-Apps zu skalieren. Die Plattform automatisch:
Übersetzt Funktionsparameter: Wandelt die Konfiguration der Funktionentrigger (von
host.jsonoder triggerattributen) in KEDA-Skalierungsmetadaten um.Wendet Skalierungsregeln an: Verwendet die übersetzten Parameter, um geeignete KEDA-Skalierungsregeln zu erstellen.
Überwacht Ereignisse: KEDA überwacht ihre Ereignisquellen kontinuierlich basierend auf diesen Regeln.
Skaliert Instanzen: Skaliert Ihre Containerinstanzen automatisch auf der Grundlage der Workload nach oben oder unten.
In den folgenden Abschnitten werden die spezifischen Parameterzuordnungen für jeden Triggertyp beschrieben.
Skalierungsparameter
In den folgenden Abschnitten wird beschrieben, wie Azure Functions-Triggerparameter den entsprechenden KEDA-Skalierungskonfigurationen für jeden unterstützten Triggertyp zugeordnet werden.
Azure Storage-Warteschlange
In der folgenden Tabelle wird gezeigt, wie azure Storage Queue-Triggerparameter den KEDA-Skalierungskonfigurationswerten zugeordnet sind.
| Parameter | Konfiguration von Funktionen | KEDA-Konfiguration |
|---|---|---|
| Parametername | batchSize |
queueLength |
| Konfigurationspfad |
extensions.queues.batchSize (host.json) |
metadata.queueLength |
| Standardwert | 16 | 5 |
| Beschreibung des Funktionentriggers | KEDA-Scalerbeschreibung |
|---|---|
Die Anzahl der Warteschlangenmeldungen, die von der Funktionslaufzeit parallel abgerufen und verarbeitet werden. Wenn die verarbeitete Zahl den newBatchThresholdErreichten erreicht, ruft die Laufzeit einen anderen Batch ab. Die maximale Anzahl gleichzeitiger Nachrichten pro Funktion ist batchSize plus newBatchThreshold. Legen Sie batchSize auf 1 fest, um Parallelität zu vermeiden, es sei denn, die App skaliert auf mehrere virtuelle Computer. Der maximale Wert für batchSize beträgt 32. |
Zielwert für die an den Scaler übergebene Warteschlangenlänge. Wenn beispielsweise ein Pod 10 Nachrichten verarbeiten kann, legen Sie das Warteschlangenlängenziel auf 10 fest. Wenn die tatsächliche Anzahl von Nachrichten in der Warteschlange 30 ist, skaliert der Scaler auf drei Pods. |
Übersetzungslogik
metadata.queueLength = extensions.queues.batchSize
Azure Service Bus (einzelner Versand)
Die folgende Tabelle zeigt, wie Azure Service Bus-Triggerparameter den KEDA-Skalierungskonfigurationswerten zugeordnet werden.
| Parameter | Konfiguration von Funktionen | KEDA-Konfiguration |
|---|---|---|
| Parametername | maxConcurrentCalls |
messageCount |
| Konfigurationspfad |
extensions.serviceBus.maxConcurrentCalls (host.json) |
metadata.messageCount |
| Standardwert | 16 | 5 |
| Beschreibung des Funktionentriggers | KEDA-Scalerbeschreibung |
|---|---|
Beschränkt die maximale Anzahl gleichzeitiger Anrufe pro skalierter Instanz. Bei Multicoreinstanzen wird das Maximum mit der Anzahl der Kerne multipliziert. Verwenden Sie diese Einstellung nur, wenn isSessionsEnabled "false" ist. |
Die Anzahl der aktiven Nachrichten in Ihrer Azure Service Bus-Warteschlange oder Ihrem Thema, auf die skaliert werden soll. |
Übersetzungslogik
metadata.messageCount = extensions.serviceBus.maxConcurrentCalls
Azure Service Bus (einzelner Versand, sitzungsbasiert)
In der folgenden Tabelle wird gezeigt, wie Azure Service Bus-Triggerparameter den KEDA-Skalierungskonfigurationswerten zugeordnet werden, wenn isSessionsEnabled "true" ist.
| Parameter | Konfiguration von Funktionen | KEDA-Konfiguration |
|---|---|---|
| Parametername | maxConcurrentSessions |
messageCount |
| Konfigurationspfad |
extensions.serviceBus.maxConcurrentSessions (host.json) |
metadata.messageCount |
| Standardwert | 8 | 5 |
| Beschreibung des Funktionentriggers | KEDA-Scalerbeschreibung |
|---|---|
Maximale Anzahl von Sitzungen, die gleichzeitig pro skalierte Instanz behandelt werden. Verwenden Sie diese Einstellung nur, wenn isSessionsEnabled "true" ist. |
Die Anzahl der aktiven Nachrichten in Ihrer Azure Service Bus-Warteschlange oder Ihrem Thema, auf die skaliert werden soll. |
Übersetzungslogik
metadata.messageCount = extensions.serviceBus.maxConcurrentSessions
Azure Service Bus (Batchverarbeitung)
Die folgende Tabelle zeigt, wie Azure Service Bus-Triggerparameter den KEDA-Skalierungskonfigurationswerten für die Batchverarbeitung zugeordnet sind.
| Parameter | Konfiguration von Funktionen | KEDA-Konfiguration |
|---|---|---|
| Parametername | maxMessageBatchSize |
messageCount |
| Konfigurationspfad |
extensions.serviceBus.maxMessageBatchSize (host.json) |
metadata.messageCount |
| Standardwert | 1.000 | 5 |
| Beschreibung des Funktionentriggers | KEDA-Scalerbeschreibung |
|---|---|
| Maximale Anzahl von Nachrichten, die an jeden Funktionsaufruf für die Batchverarbeitung übergeben werden. | Die Anzahl der aktiven Nachrichten in Ihrer Azure Service Bus-Warteschlange oder Ihrem Thema, auf die skaliert werden soll. |
Übersetzungslogik
metadata.messageCount = extensions.serviceBus.maxMessageBatchSize
Azure Event Hubs
Die folgende Tabelle zeigt, wie Azure Event Hubs-Triggerparameter den KEDA-Skalierungskonfigurationswerten zugeordnet sind.
| Parameter | Konfiguration von Funktionen | KEDA-Konfiguration |
|---|---|---|
| Parametername | targetUnprocessedEventThreshold |
unprocessedEventThreshold |
| Konfigurationspfad |
extensions.eventHubs.targetUnprocessedEventThreshold (host.json) |
metadata.unprocessedEventThreshold |
| Standardwert | NULL | 64 |
| Beschreibung des Funktionentriggers | KEDA-Scalerbeschreibung |
|---|---|
| Gewünschte Anzahl nicht verarbeiteter Ereignisse pro Funktionsinstanz. Wird für die zielbasierte Skalierung verwendet. | Durchschnittlicher Zielwert zum Auslösen von Skalierungsaktionen. |
Übersetzungslogik
metadata.unprocessedEventThreshold = extensions.eventHubs.targetUnprocessedEventThreshold
Apache Kafka
In der folgenden Tabelle wird gezeigt, wie Apache Kafka-Triggerparameter den KEDA-Skalierungskonfigurationswerten zugeordnet werden.
| Parameter | Konfiguration von Funktionen | KEDA-Konfiguration |
|---|---|---|
| Parametername | LagThreshold |
lagThreshold |
| Konfigurationspfad | Funktionstrigger-Attribut | metadata.lagThreshold |
| Standardwert | 1.000 | 10 |
| Beschreibung des Funktionentriggers | KEDA-Scalerbeschreibung |
|---|---|
Verwenden Sie diesen Wert als Zielausführungen pro Instanz für den Kafka-Trigger. Die Anzahl der gewünschten Instanzen wird basierend auf dem Gesamtverbraucherabstand berechnet, dividiert durch LagThreshold. |
|
| Verwenden Sie diesen Wert als Ziel für die Gesamtverzögerung (Summe aller Partitionsverzögerungen), um Skalierungsaktionen auszulösen. |
Example
[KafkaTrigger(
"BrokerList",
"topic",
ConsumerGroup = "$Default",
LagThreshold = 100)]
Übersetzungslogik
metadata.lagThreshold = LagThreshold
HTTP-Trigger
Der HTTP-Trigger wird keinem KEDA-Scaler zugeordnet. Verwenden Sie stattdessen die integrierten HTTP-Skalierungsfunktionen von Container-Apps oder externe Überwachungslösungen.