Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
När du distribuerar Azure Functions i Azure Container Apps översätter plattformen automatiskt dina Functions-utlösarparametrar till KEDA-skalningskonfigurationer. Den här översättningen säkerställer att dina funktioner skalas korrekt baserat på den inkommande arbetsbelastningen från olika händelsekällor.
Så här fungerar skalningsmappningar
Azure Functions i Container Apps använder KEDA för att övervaka händelsekällor och skala dina funktionsappar. Plattformen:
Översätter Functions-parametrar: Konverterar konfigurationen av Functions-utlösaren (från
host.jsoneller utlösarattribut) till KEDA-skalningsmetadata.Tillämpar skalningsregler: Använder de översatta parametrarna för att skapa lämpliga KEDA-skalningsregler.
Övervakar händelser: KEDA övervakar kontinuerligt dina händelsekällor baserat på dessa regler.
Skalar instanser: Skalar automatiskt upp eller ned dina containerinstanser baserat på arbetsbelastning.
I följande avsnitt beskrivs de specifika parametermappningarna för varje utlösartyp.
Skalningsparametrar
I följande avsnitt beskrivs hur Azure Functions-utlösarparametrar mappas till motsvarande KEDA-skalningskonfigurationer för varje utlösartyp som stöds.
Azure Storage-kö
Följande tabell visar hur Azure Storage Queue-utlösarparametrar mappas till KEDA-skalningskonfigurationsvärdena.
| Parameter | Funktionskonfiguration | KEDA-konfiguration |
|---|---|---|
| Parameternamn | batchSize |
queueLength |
| Konfigurationssökväg |
extensions.queues.batchSize (host.json) |
metadata.queueLength |
| Standardvärde | 16 | 5 |
| Beskrivning av funktionsutlösare | Beskrivning av KEDA-skalning |
|---|---|
Antalet kömeddelanden som Functions-körningen hämtar och bearbetar parallellt. När talet som bearbetas newBatchThresholdnår hämtar körningen en annan batch. Det maximala antalet samtidiga meddelanden per funktion är batchSize plus newBatchThreshold. Ange batchSize till 1 för att eliminera samtidighet om inte appen skalar ut till flera virtuella datorer. Maxvärdet batchSize är 32. |
Målvärde för kölängd som skickas till skalningsmaskinen. Om en podd till exempel kan hantera 10 meddelanden anger du målet för kölängd till 10. Om det faktiska antalet meddelanden i kön är 30 skalas skalningsenheten till tre poddar. |
Översättningslogik
metadata.queueLength = extensions.queues.batchSize
Azure Service Bus (enkel sändning)
I följande tabell visas hur Azure Service Bus-utlösarparametrar mappas till konfigurationsvärdena för KEDA-skalning.
| Parameter | Funktionskonfiguration | KEDA-konfiguration |
|---|---|---|
| Parameternamn | maxConcurrentCalls |
messageCount |
| Konfigurationssökväg |
extensions.serviceBus.maxConcurrentCalls (host.json) |
metadata.messageCount |
| Standardvärde | 16 | 5 |
| Beskrivning av funktionsutlösare | Beskrivning av KEDA-skalning |
|---|---|
Begränsar det maximala antalet samtidiga anrop per skalad instans. För multicore-instanser multipliceras maxvärdet med antalet kärnor. Använd endast den här inställningen när isSessionsEnabled är false. |
Antal aktiva meddelanden i Din Azure Service Bus-kö eller ditt ämne att skala på. |
Översättningslogik
metadata.messageCount = extensions.serviceBus.maxConcurrentCalls
Azure Service Bus (sessionsbaserad)
Följande tabell visar hur Azure Event Hubs-utlösarparametrar mappas till KEDA-skalningskonfigurationsvärdena.
| Parameter | Funktionskonfiguration | KEDA-konfiguration |
|---|---|---|
| Parameternamn | maxMessageBatchSize |
messageCount |
| Konfigurationssökväg |
extensions.serviceBus.maxMessageBatchSize (host.json) |
metadata.messageCount |
| Standardvärde | 1 000 | 5 |
| Beskrivning av funktionsutlösare | Beskrivning av KEDA-skalning |
|---|---|
| Maximalt antal meddelanden som skickas till varje funktionsanrop för batchbearbetning. | Antal aktiva meddelanden i Din Azure Service Bus-kö eller ditt ämne att skala på. |
Översättningslogik
metadata.messageCount = extensions.serviceBus.maxMessageBatchSize
Azure Event Hubs
Följande tabell visar hur Azure Event Hubs-utlösarparametrar mappas till KEDA-skalningskonfigurationsvärdena.
| Parameter | Funktionskonfiguration | KEDA-konfiguration |
|---|---|---|
| Parameternamn | targetUnprocessedEventThreshold |
unprocessedEventThreshold |
| Konfigurationssökväg |
extensions.eventHubs.targetUnprocessedEventThreshold (host.json) |
metadata.unprocessedEventThreshold |
| Standardvärde | noll | 64 |
| Beskrivning av funktionsutlösare | Beskrivning av KEDA-skalning |
|---|---|
| Önskat antal obearbetade händelser per funktionsinstans. Används för målbaserad skalning. | Genomsnittligt målvärde för att utlösa skalningsåtgärder. |
Översättningslogik
metadata.unprocessedEventThreshold = extensions.eventHubs.targetUnprocessedEventThreshold
Apache Kafka
Följande tabell visar hur Apache Kafka-utlösarparametrar mappas till KEDA-skalningskonfigurationsvärdena.
| Parameter | Funktionskonfiguration | KEDA-konfiguration |
|---|---|---|
| Parameternamn | LagThreshold |
lagThreshold |
| Konfigurationssökväg | Funktionsutlösarattribut | metadata.lagThreshold |
| Standardvärde | 1 000 | 10 |
| Beskrivning av funktionsutlösare | Beskrivning av KEDA-skalning |
|---|---|
Använd det här värdet som målkörningar per instans för Kafka-utlösaren. Antalet önskade instanser beräknas baserat på den totala konsumentfördröjningen dividerat med LagThreshold. |
|
| Använd det här värdet som mål för den totala fördröjningen (summan av alla partitionsfördröjningar) för att utlösa skalningsåtgärder. |
Example
[KafkaTrigger(
"BrokerList",
"topic",
ConsumerGroup = "$Default",
LagThreshold = 100)]
Översättningslogik
metadata.lagThreshold = LagThreshold
Azure Cosmos DB
Azure Cosmos DB-utlösaren mappas inte till en KEDA-skalning. Använd anpassad skalning i stället.
Functions-utlösaren anger det maximala antalet objekt som tas emot per funktionsanrop. Transaktionsomfånget bevaras för lagrade procedurer.
| Parameter | Funktionskonfiguration | KEDA-konfiguration |
|---|---|---|
| Parameternamn | MaxItemsPerInvocation |
N/A |
| Konfigurationssökväg | Funktionsutlösarattribut | N/A |
| Standardvärde | 100 | N/A |
Example
[CosmosDBTrigger(
databaseName: "ToDoItems",
containerName: "Items",
Connection = "CosmosDBConnection",
MaxItemsPerInvocation = 100)]
HTTP-utlösare
HTTP-utlösaren mappas inte till en KEDA-skalning. Använd i stället inbyggda HTTP-skalningsfunktioner eller externa övervakningslösningar i Container Apps.
| Parameter | Funktionskonfiguration | KEDA-konfiguration |
|---|---|---|
| Parameternamn | maxConcurrentRequests |
N/A |
| Konfigurationssökväg |
extensions.http.maxConcurrentRequests (host.json) |
N/A |
| Standardvärde | 100 (förbrukning), -1 (Premium/Dedikerad) | N/A |
Bloblagringsutlösare
Följande tabell visar hur Azure Blob Storage-utlösarparametrar mappas till konfigurationsvärdena för KEDA-skalning.
| Parameter | Funktionskonfiguration | KEDA-konfiguration |
|---|---|---|
| Parameternamn | maxDegreeOfParallelism |
blobCount |
| Konfigurationssökväg |
extensions.blobs.maxDegreeOfParallelism (host.json) |
metadata.blobCount |
| Standardvärde | 8 × antal tillgängliga kärnor | 5 |
| Beskrivning av funktionsutlösare | Beskrivning av KEDA-skalning |
|---|---|
| Anger antalet samtidiga anrop som tillåts för alla blobutlösta funktioner i en funktionsapp. Minsta värde: 1. | Genomsnittligt målvärde för att utlösa skalningsåtgärder. (Standard: 5, valfritt) |
Översättningslogik
metadata.blobCount = extensions.blobs.maxDegreeOfParallelism
Event Grid
Azure Event Grid-utlösarparametrarna mappas inte till en KEDA-skalning.
Event Grid-utlösaren använder en WEBHOOK HTTP-begäran. Du konfigurerar den här begäran med samma host.json inställningar som HTTP-utlösaren. De här inställningarna styr parallell körning för resurshantering.
RabbitMQ-utlösare
Följande tabell visar hur RabbitMQ-utlösarparametrar mappas till konfigurationsvärdena för KEDA-skalning.
| Parameter | Funktionskonfiguration | KEDA-konfiguration |
|---|---|---|
| Parameternamn | prefetchCount |
value |
| Konfigurationssökväg |
extensions.rabbitMQ.prefetchCount (host.json) |
metadata.value |
| Standardvärde | 30 | 100.50 |
| Beskrivning av funktionsutlösare | Beskrivning av KEDA-skalning |
|---|---|
| Antal meddelanden som mottagaren kan begära och cachelagrat samtidigt. | Meddelande eftersläpning eller publicering/sek-hastighet för att utlösa skalning. I QueueLength-läge representerar värdet målkölängden för skalning. |
Översättningslogik
metadata.value = extensions.rabbitMQ.prefetchCount