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 (sitzungsbasiert)
Die folgende Tabelle zeigt, wie Azure Event Hubs-Triggerparameter den KEDA-Skalierungskonfigurationswerten 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
Azure Cosmos DB (ein Microsoft-Datenbankdienst)
Der Azure Cosmos DB-Trigger ist keinem KEDA-Scaler zugeordnet. Verwenden Sie stattdessen eine benutzerdefinierte Skalierung.
Der Trigger "Funktionen" legt die maximale Anzahl der pro Funktionsaufruf empfangenen Elemente fest. Der Transaktionsbereich wird für gespeicherte Prozeduren beibehalten.
| Parameter | Konfiguration von Funktionen | KEDA-Konfiguration |
|---|---|---|
| Parametername | MaxItemsPerInvocation |
N/A |
| Konfigurationspfad | Funktionstrigger-Attribut | N/A |
| Standardwert | 100 | N/A |
Example
[CosmosDBTrigger(
databaseName: "ToDoItems",
containerName: "Items",
Connection = "CosmosDBConnection",
MaxItemsPerInvocation = 100)]
HTTP-Trigger
Der HTTP-Trigger wird keinem KEDA-Scaler zugeordnet. Verwenden Sie stattdessen die integrierten HTTP-Skalierungsfunktionen von Container-Apps oder externe Überwachungslösungen.
| Parameter | Konfiguration von Funktionen | KEDA-Konfiguration |
|---|---|---|
| Parametername | maxConcurrentRequests |
N/A |
| Konfigurationspfad |
extensions.http.maxConcurrentRequests (host.json) |
N/A |
| Standardwert | 100 (Verbrauch), -1 (Premium/Dedicated) | N/A |
Blob Storage-Trigger
Die folgende Tabelle zeigt, wie Azure Blob Storage-Triggerparameter den KEDA-Skalierungskonfigurationswerten zugeordnet werden.
| Parameter | Konfiguration von Funktionen | KEDA-Konfiguration |
|---|---|---|
| Parametername | maxDegreeOfParallelism |
blobCount |
| Konfigurationspfad |
extensions.blobs.maxDegreeOfParallelism (host.json) |
metadata.blobCount |
| Standardwert | 8 × Anzahl verfügbarer Kerne | 5 |
| Beschreibung des Funktionentriggers | KEDA-Scalerbeschreibung |
|---|---|
| Legt die Anzahl der gleichzeitigen Aufrufe fest, die für alle blobauslösten Funktionen in einer Funktions-App zulässig sind. Mindestwert: 1. | Durchschnittlicher Zielwert zum Auslösen von Skalierungsaktionen. (Standard: 5, Optional) |
Übersetzungslogik
metadata.blobCount = extensions.blobs.maxDegreeOfParallelism
Event Grid
Die Azure Event Grid-Triggerparameter werden keinem KEDA-Scaler zugeordnet.
Der Ereignisrastertrigger verwendet eine Webhook-HTTP-Anforderung. Sie konfigurieren diese Anforderung mithilfe der gleichen host.json Einstellungen wie der HTTP-Trigger. Diese Einstellungen steuern die parallele Ausführung für die Ressourcenverwaltung.
RabbitMQ-Trigger
In der folgenden Tabelle wird gezeigt, wie Die Triggerparameter von RabbitMQ den KEDA-Skalierungskonfigurationswerten zugeordnet sind.
| Parameter | Konfiguration von Funktionen | KEDA-Konfiguration |
|---|---|---|
| Parametername | prefetchCount |
value |
| Konfigurationspfad |
extensions.rabbitMQ.prefetchCount (host.json) |
metadata.value |
| Standardwert | 30 | 100.50 |
| Beschreibung des Funktionentriggers | KEDA-Scalerbeschreibung |
|---|---|
| Die Anzahl der Nachrichten, die der Empfänger gleichzeitig anfordern und zwischenspeichern kann. | Nachrichtenrückmeldung oder Veröffentlichungs-/Sek.-Rate zum Auslösen der Skalierung. Im QueueLength-Modus stellt der Wert die Zielwarteschlangenlänge für die Skalierung dar. |
Übersetzungslogik
metadata.value = extensions.rabbitMQ.prefetchCount