Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas wdrażania usługi Azure Functions w usłudze Azure Container Apps platforma automatycznie tłumaczy parametry wyzwalacza usługi Functions na konfiguracje skalowania KEDA. To tłumaczenie zapewnia odpowiednie skalowanie funkcji na podstawie obciążenia przychodzącego z różnych źródeł zdarzeń.
Jak działają mapowania skalowania
Usługa Azure Functions w usłudze Container Apps używa usługi KEDA do monitorowania źródeł zdarzeń i skalowania aplikacji funkcji. Platforma automatycznie:
Tłumaczy parametry funkcji: konwertuje konfigurację wyzwalacza funkcji (z
host.jsonatrybutów wyzwalacza lub wyzwalacza) na metadane modułu skalowania KEDA.Stosuje reguły skalowania: używa przetłumaczonych parametrów do tworzenia odpowiednich reguł skalowania KEDA.
Monitoruje zdarzenia: usługa KEDA stale monitoruje źródła zdarzeń na podstawie tych reguł.
Skaluje wystąpienia: automatycznie skaluje wystąpienia kontenerów w górę lub w dół na podstawie obciążenia.
W poniższych sekcjach opisano konkretne mapowania parametrów dla każdego typu wyzwalacza.
Parametry skalowania
W poniższych sekcjach opisano sposób mapowania parametrów wyzwalacza usługi Azure Functions na odpowiednie konfiguracje modułu skalowania KEDA dla każdego obsługiwanego typu wyzwalacza.
Kolejka usługi Azure Storage
W poniższej tabeli przedstawiono sposób mapowania parametrów wyzwalacza kolejki usługi Azure Storage na wartości konfiguracji modułu skalowania KEDA.
| Parameter | Konfiguracja funkcji | Konfiguracja KEDA |
|---|---|---|
| nazwa parametru | batchSize |
queueLength |
| Ścieżka konfiguracji |
extensions.queues.batchSize (host.json) |
metadata.queueLength |
| Wartość domyślna | 16 | 5 |
| Opis wyzwalacza funkcji | Opis narzędzia skalowania KEDA |
|---|---|
Liczba komunikatów w kolejce, które środowisko uruchomieniowe usługi Functions pobiera i przetwarza równolegle. Gdy przetwarzany numer osiągnie newBatchThresholdwartość , środowisko uruchomieniowe pobiera kolejną partię. Maksymalna liczba współbieżnych komunikatów na funkcję to batchSize plus newBatchThreshold. Ustaw batchSize wartość 1, aby wyeliminować współbieżność, chyba że aplikacja skaluje się w poziomie do wielu maszyn wirtualnych. Maksymalna wartość batchSize to 32. |
Wartość docelowa długości kolejki przekazana do modułu skalowania. Jeśli na przykład jeden zasobnik może obsłużyć 10 komunikatów, ustaw docelową długość kolejki na 10. Jeśli rzeczywista liczba komunikatów w kolejce wynosi 30, narzędzie skalowania skaluje do trzech zasobników. |
Logika tłumaczenia
metadata.queueLength = extensions.queues.batchSize
Azure Service Bus (pojedyncza wysyłka)
W poniższej tabeli przedstawiono sposób mapowania parametrów wyzwalacza usługi Azure Service Bus na wartości konfiguracji narzędzia skalowania KEDA.
| Parameter | Konfiguracja funkcji | Konfiguracja KEDA |
|---|---|---|
| nazwa parametru | maxConcurrentCalls |
messageCount |
| Ścieżka konfiguracji |
extensions.serviceBus.maxConcurrentCalls (host.json) |
metadata.messageCount |
| Wartość domyślna | 16 | 5 |
| Opis wyzwalacza funkcji | Opis narzędzia skalowania KEDA |
|---|---|
Ogranicza maksymalną liczbę współbieżnych wywołań na wystąpienie skalowane. W przypadku wystąpień wielordzeniowych maksymalna liczba rdzeni jest mnożona przez liczbę rdzeni. Użyj tego ustawienia tylko wtedy, gdy isSessionsEnabled ma wartość false. |
Liczba aktywnych komunikatów w kolejce usługi Azure Service Bus lub temacie do skalowania. |
Logika tłumaczenia
metadata.messageCount = extensions.serviceBus.maxConcurrentCalls
Azure Service Bus (oparta na sesjach)
W poniższej tabeli przedstawiono sposób mapowania parametrów wyzwalacza usługi Azure Event Hubs na wartości konfiguracji narzędzia skalowania KEDA.
| Parameter | Konfiguracja funkcji | Konfiguracja KEDA |
|---|---|---|
| nazwa parametru | maxMessageBatchSize |
messageCount |
| Ścieżka konfiguracji |
extensions.serviceBus.maxMessageBatchSize (host.json) |
metadata.messageCount |
| Wartość domyślna | 1000 | 5 |
| Opis wyzwalacza funkcji | Opis narzędzia skalowania KEDA |
|---|---|
| Maksymalna liczba komunikatów przekazywanych do każdego wywołania funkcji na potrzeby przetwarzania wsadowego. | Liczba aktywnych komunikatów w kolejce usługi Azure Service Bus lub temacie do skalowania. |
Logika tłumaczenia
metadata.messageCount = extensions.serviceBus.maxMessageBatchSize
Azure Event Hubs
W poniższej tabeli przedstawiono sposób mapowania parametrów wyzwalacza usługi Azure Event Hubs na wartości konfiguracji narzędzia skalowania KEDA.
| Parameter | Konfiguracja funkcji | Konfiguracja KEDA |
|---|---|---|
| nazwa parametru | targetUnprocessedEventThreshold |
unprocessedEventThreshold |
| Ścieżka konfiguracji |
extensions.eventHubs.targetUnprocessedEventThreshold (host.json) |
metadata.unprocessedEventThreshold |
| Wartość domyślna | null | 64 |
| Opis wyzwalacza funkcji | Opis narzędzia skalowania KEDA |
|---|---|
| Żądana liczba nieprzetworzonych zdarzeń na wystąpienie funkcji. Służy do skalowania na podstawie celu. | Średnia wartość docelowa wyzwalania akcji skalowania. |
Logika tłumaczenia
metadata.unprocessedEventThreshold = extensions.eventHubs.targetUnprocessedEventThreshold
Apache Kafka
W poniższej tabeli przedstawiono sposób mapowania parametrów wyzwalacza platformy Apache Kafka na wartości konfiguracji modułu skalowania KEDA.
| Parameter | Konfiguracja funkcji | Konfiguracja KEDA |
|---|---|---|
| nazwa parametru | LagThreshold |
lagThreshold |
| Ścieżka konfiguracji | Atrybut wyzwalacza funkcji | metadata.lagThreshold |
| Wartość domyślna | 1000 | 10 |
| Opis wyzwalacza funkcji | Opis narzędzia skalowania KEDA |
|---|---|
Użyj tej wartości jako docelowych wykonań na wystąpienie wyzwalacza platformy Kafka. Liczba żądanych wystąpień jest obliczana na podstawie całkowitego opóźnienia konsumenta podzielonego przez LagThreshold. |
|
| Użyj tej wartości jako wartości docelowej dla całkowitego opóźnienia (sumy wszystkich opóźnień partycji), aby wyzwolić akcje skalowania. |
Example
[KafkaTrigger(
"BrokerList",
"topic",
ConsumerGroup = "$Default",
LagThreshold = 100)]
Logika tłumaczenia
metadata.lagThreshold = LagThreshold
Azure Cosmos DB
Wyzwalacz usługi Azure Cosmos DB nie jest mapowany na narzędzie skalowania KEDA. Zamiast tego użyj niestandardowego skalowania.
Wyzwalacz usługi Functions ustawia maksymalną liczbę odebranych elementów na wywołanie funkcji. Zakres transakcji jest zachowywany dla procedur składowanych.
| Parameter | Konfiguracja funkcji | Konfiguracja KEDA |
|---|---|---|
| nazwa parametru | MaxItemsPerInvocation |
N/A |
| Ścieżka konfiguracji | Atrybut wyzwalacza funkcji | N/A |
| Wartość domyślna | 100 | N/A |
Example
[CosmosDBTrigger(
databaseName: "ToDoItems",
containerName: "Items",
Connection = "CosmosDBConnection",
MaxItemsPerInvocation = 100)]
Wyzwalacz HTTP
Wyzwalacz HTTP nie jest mapowany na moduł skalowania KEDA. Zamiast tego użyj wbudowanych funkcji skalowania HTTP usługi Container Apps lub zewnętrznych rozwiązań do monitorowania.
| Parameter | Konfiguracja funkcji | Konfiguracja KEDA |
|---|---|---|
| nazwa parametru | maxConcurrentRequests |
N/A |
| Ścieżka konfiguracji |
extensions.http.maxConcurrentRequests (host.json) |
N/A |
| Wartość domyślna | 100 (Zużycie), -1 (Premium/Dedykowana) | N/A |
Wyzwalacz przechowywania obiektów blob
W poniższej tabeli przedstawiono sposób mapowania parametrów wyzwalacza usługi Azure Blob Storage na wartości konfiguracji narzędzia skalowania KEDA.
| Parameter | Konfiguracja funkcji | Konfiguracja KEDA |
|---|---|---|
| nazwa parametru | maxDegreeOfParallelism |
blobCount |
| Ścieżka konfiguracji |
extensions.blobs.maxDegreeOfParallelism (host.json) |
metadata.blobCount |
| Wartość domyślna | 8 × liczbę dostępnych rdzeni | 5 |
| Opis wyzwalacza funkcji | Opis narzędzia skalowania KEDA |
|---|---|
| Ustawia liczbę współbieżnych wywołań dozwolonych dla wszystkich funkcji wyzwalanych przez obiekt blob w aplikacji funkcji. Wartość minimalna: 1. | Średnia wartość docelowa wyzwalania akcji skalowania. (Wartość domyślna: 5, opcjonalnie) |
Logika tłumaczenia
metadata.blobCount = extensions.blobs.maxDegreeOfParallelism
Event Grid
Parametry wyzwalacza usługi Azure Event Grid nie są mapowane na program skalowania KEDA.
Wyzwalacz usługi Event Grid używa żądania HTTP elementu webhook. To żądanie można skonfigurować przy użyciu tych samych host.json ustawień co wyzwalacz HTTP. Te ustawienia kontrolują równoległe wykonywanie na potrzeby zarządzania zasobami.
Wyzwalacz RabbitMQ
W poniższej tabeli przedstawiono sposób mapowania parametrów wyzwalacza RabbitMQ na wartości konfiguracji modułu skalowania KEDA.
| Parameter | Konfiguracja funkcji | Konfiguracja KEDA |
|---|---|---|
| nazwa parametru | prefetchCount |
value |
| Ścieżka konfiguracji |
extensions.rabbitMQ.prefetchCount (host.json) |
metadata.value |
| Wartość domyślna | 30 | 100.50 |
| Opis wyzwalacza funkcji | Opis narzędzia skalowania KEDA |
|---|---|
| Liczba komunikatów, które odbiorca może jednocześnie żądać i buforować. | List prac komunikatów lub szybkość publikowania/s w celu wyzwolenia skalowania. W trybie QueueLength wartość reprezentuje docelową długość kolejki na potrzeby skalowania. |
Logika tłumaczenia
metadata.value = extensions.rabbitMQ.prefetchCount