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.
Když nasadíte Azure Functions v Azure Container Apps, platforma automaticky přeloží parametry triggeru služby Functions do konfigurací škálování KEDA. Tento překlad zajistí, že se vaše funkce odpovídajícím způsobem škáluje na základě příchozí úlohy z různých zdrojů událostí.
Jak funguje mapování škálování
Azure Functions v Container Apps používá KEDA k monitorování zdrojů událostí a škálování aplikací funkcí. Platforma automaticky:
Překládá parametry služby Functions: Převede konfiguraci triggeru služby Functions (z
host.jsonatributů nebo atributů triggeru) na metadata škálovače KEDA.Použije pravidla škálování: Použije přeložené parametry k vytvoření odpovídajících pravidel škálování KEDA.
Monitoruje události: KEDA průběžně monitoruje zdroje událostí na základě těchto pravidel.
Škáluje instance: Automaticky škáluje instance kontejneru nahoru nebo dolů na základě úlohy.
Následující části podrobně uvádějí konkrétní mapování parametrů pro každý typ triggeru.
Parametry škálování
Následující části podrobně popisuje, jak se parametry triggeru Azure Functions mapují na odpovídající konfigurace škálovače KEDA pro každý podporovaný typ triggeru.
Fronta služby Azure Storage
Následující tabulka ukazuje, jak se parametry triggeru fronty služby Azure Storage mapují na konfigurační hodnoty škálování KEDA.
| Parameter | Konfigurace funkcí | Konfigurace KEDA |
|---|---|---|
| název parametru | batchSize |
queueLength |
| Cesta konfigurace |
extensions.queues.batchSize (host.json) |
metadata.queueLength |
| Výchozí hodnota | 16 | 5 |
| Popis triggeru služby Functions | Popis škálovače KEDA |
|---|---|
Počet zpráv fronty, které modul runtime Služby Functions načítá a zpracovává paralelně. Při zpracování čísla načte newBatchThresholdmodul runtime jinou dávku. Maximální počet souběžných zpráv na funkci je batchSize plus newBatchThreshold. Nastavte batchSize na 1, abyste vyloučili souběžnost, pokud se aplikace škáluje na více virtuálních počítačů. Maximum batchSize je 32. |
Cílová hodnota pro délku fronty předanou škálovači. Pokud například jeden pod dokáže zpracovat 10 zpráv, nastavte cíl délky fronty na 10. Pokud je skutečný počet zpráv ve frontě 30, škálovací nástroj se škáluje na tři pody. |
Logika překladu
metadata.queueLength = extensions.queues.batchSize
Azure Service Bus (jednoúčelové odesílání)
Následující tabulka ukazuje, jak se parametry triggeru služby Azure Service Bus mapují na konfigurační hodnoty škálovače KEDA.
| Parameter | Konfigurace funkcí | Konfigurace KEDA |
|---|---|---|
| název parametru | maxConcurrentCalls |
messageCount |
| Cesta konfigurace |
extensions.serviceBus.maxConcurrentCalls (host.json) |
metadata.messageCount |
| Výchozí hodnota | 16 | 5 |
| Popis triggeru služby Functions | Popis škálovače KEDA |
|---|---|
Omezuje maximální počet souběžných volání na škálovanou instanci. U instancí s více jádry se maximální počet jader vynásobí počtem jader. Toto nastavení použijte pouze v případě, že isSessionsEnabled je false. |
Počet aktivních zpráv ve frontě nebo tématu služby Azure Service Bus, na které se má škálovat |
Logika překladu
metadata.messageCount = extensions.serviceBus.maxConcurrentCalls
Azure Service Bus (založené na relacích)
Následující tabulka ukazuje, jak se parametry triggeru služby Azure Event Hubs mapují na konfigurační hodnoty škálování KEDA.
| Parameter | Konfigurace funkcí | Konfigurace KEDA |
|---|---|---|
| název parametru | maxMessageBatchSize |
messageCount |
| Cesta konfigurace |
extensions.serviceBus.maxMessageBatchSize (host.json) |
metadata.messageCount |
| Výchozí hodnota | 1 000 | 5 |
| Popis triggeru služby Functions | Popis škálovače KEDA |
|---|---|
| Maximální počet zpráv předaných jednotlivým voláním funkce pro dávkové zpracování. | Počet aktivních zpráv ve frontě nebo tématu služby Azure Service Bus, na které se má škálovat |
Logika překladu
metadata.messageCount = extensions.serviceBus.maxMessageBatchSize
Azure Event Hubs
Následující tabulka ukazuje, jak se parametry triggeru služby Azure Event Hubs mapují na konfigurační hodnoty škálování KEDA.
| Parameter | Konfigurace funkcí | Konfigurace KEDA |
|---|---|---|
| název parametru | targetUnprocessedEventThreshold |
unprocessedEventThreshold |
| Cesta konfigurace |
extensions.eventHubs.targetUnprocessedEventThreshold (host.json) |
metadata.unprocessedEventThreshold |
| Výchozí hodnota | null | 64 |
| Popis triggeru služby Functions | Popis škálovače KEDA |
|---|---|
| Požadovaný počet nezpracovaných událostí na instanci funkce Používá se pro škálování na základě cílů. | Průměrná cílová hodnota pro aktivaci akcí škálování |
Logika překladu
metadata.unprocessedEventThreshold = extensions.eventHubs.targetUnprocessedEventThreshold
Apache Kafka
Následující tabulka ukazuje, jak se parametry triggeru Apache Kafka mapují na konfigurační hodnoty škálování KEDA.
| Parameter | Konfigurace funkcí | Konfigurace KEDA |
|---|---|---|
| název parametru | LagThreshold |
lagThreshold |
| Cesta konfigurace | Atribut triggeru funkce | metadata.lagThreshold |
| Výchozí hodnota | 1 000 | 10 |
| Popis triggeru služby Functions | Popis škálovače KEDA |
|---|---|
Tuto hodnotu použijte jako cílové spuštění pro instanci triggeru Kafka. Početpožadovaných LagThreshold |
|
| Tuto hodnotu použijte jako cíl pro celkovou prodlevu (součet všech prodlev oddílů) a aktivujte akce škálování. |
Example
[KafkaTrigger(
"BrokerList",
"topic",
ConsumerGroup = "$Default",
LagThreshold = 100)]
Logika překladu
metadata.lagThreshold = LagThreshold
Azure Cosmos DB
Trigger služby Azure Cosmos DB se nemapuje na škálovací modul KEDA. Místo toho použijte vlastní škálování.
Trigger Functions nastaví maximální počet přijatých položek na volání funkce. Obor transakce je zachován pro uložené procedury.
| Parameter | Konfigurace funkcí | Konfigurace KEDA |
|---|---|---|
| název parametru | MaxItemsPerInvocation |
N/A |
| Cesta konfigurace | Atribut triggeru funkce | N/A |
| Výchozí hodnota | 100 | N/A |
Example
[CosmosDBTrigger(
databaseName: "ToDoItems",
containerName: "Items",
Connection = "CosmosDBConnection",
MaxItemsPerInvocation = 100)]
HTTP spouštěč
Trigger HTTP se nemapuje na škálovač KEDA. Místo toho použijte integrované funkce škálování HTTP container Apps nebo externí řešení monitorování.
| Parameter | Konfigurace funkcí | Konfigurace KEDA |
|---|---|---|
| název parametru | maxConcurrentRequests |
N/A |
| Cesta konfigurace |
extensions.http.maxConcurrentRequests (host.json) |
N/A |
| Výchozí hodnota | 100 (Spotřeba), -1 (Premium/Dedicated) | N/A |
Spouštěč úložiště Blob
Následující tabulka ukazuje, jak se parametry triggeru služby Azure Blob Storage mapují na konfigurační hodnoty škálovače KEDA.
| Parameter | Konfigurace funkcí | Konfigurace KEDA |
|---|---|---|
| název parametru | maxDegreeOfParallelism |
blobCount |
| Cesta konfigurace |
extensions.blobs.maxDegreeOfParallelism (host.json) |
metadata.blobCount |
| Výchozí hodnota | 8 × počet dostupných jader | 5 |
| Popis triggeru služby Functions | Popis škálovače KEDA |
|---|---|
| Nastaví počet souběžných vyvolání povolených pro všechny funkce aktivované objekty blob v aplikaci funkcí. Minimální hodnota: 1. | Průměrná cílová hodnota pro aktivaci akcí škálování (Výchozí hodnota: 5, volitelné) |
Logika překladu
metadata.blobCount = extensions.blobs.maxDegreeOfParallelism
Event Grid
Parametry triggeru služby Azure Event Grid se nemapují na škálovač KEDA.
Trigger Služby Event Grid používá požadavek HTTP webhooku. Tento požadavek nakonfigurujete pomocí stejného host.json nastavení jako trigger HTTP. Tato nastavení řídí paralelní spouštění pro správu prostředků.
Trigger RabbitMQ
Následující tabulka ukazuje, jak se parametry triggeru RabbitMQ mapují na konfigurační hodnoty škálovače KEDA.
| Parameter | Konfigurace funkcí | Konfigurace KEDA |
|---|---|---|
| název parametru | prefetchCount |
value |
| Cesta konfigurace |
extensions.rabbitMQ.prefetchCount (host.json) |
metadata.value |
| Výchozí hodnota | 30 | 100.50 |
| Popis triggeru služby Functions | Popis škálovače KEDA |
|---|---|
| Počet zpráv, které příjemce může současně požádat a uložit do mezipaměti | Backlog zpráv nebo míra publikování/s pro aktivaci škálování V režimu QueueLength představuje hodnota cílovou délku fronty pro škálování. |
Logika překladu
metadata.value = extensions.rabbitMQ.prefetchCount