Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Quando si distribuisce Funzioni di Azure in App Azure Container, la piattaforma converte automaticamente i parametri del trigger di Funzioni in configurazioni di ridimensionamento KEDA. Questa conversione garantisce che le funzioni siano ridimensionate in modo appropriato in base al carico di lavoro in ingresso da varie origini eventi.
Funzionamento dei mapping di ridimensionamento
Funzioni di Azure nelle app contenitore usa KEDA per monitorare le origini eventi e ridimensionare le app per le funzioni. La piattaforma viene eseguita automaticamente:
Converte i parametri di Funzioni: converte la configurazione del trigger di Funzioni (da
host.jsono attributi trigger) in metadati del scaler KEDA.Applica le regole di ridimensionamento: usa i parametri tradotti per creare regole di ridimensionamento KEDA appropriate.
Monitora gli eventi: KEDA monitora continuamente le origini eventi in base a queste regole.
Ridimensiona le istanze: ridimensiona automaticamente le istanze del contenitore in base al carico di lavoro.
Le sezioni seguenti illustrano in dettaglio i mapping dei parametri specifici per ogni tipo di trigger.
Parametri di ridimensionamento
Le sezioni seguenti illustrano in dettaglio il mapping dei parametri del trigger di Funzioni di Azure alle configurazioni di scala KEDA corrispondenti per ogni tipo di trigger supportato.
Coda di archiviazione di Azure
La tabella seguente illustra il mapping dei parametri del trigger della coda di archiviazione di Azure ai valori di configurazione del scaler KEDA.
| Parametro | Configurazione di Funzioni | Configurazione KEDA |
|---|---|---|
| nome del parametro | batchSize |
queueLength |
| Percorso di configurazione |
extensions.queues.batchSize (host.json) |
metadata.queueLength |
| Valore predefinito | 16 | 5 |
| Descrizione del trigger di Funzioni | Descrizione del scaler KEDA |
|---|---|
Numero di messaggi in coda recuperati dal runtime di Funzioni ed elaborati in parallelo. Quando il numero elaborato raggiunge , newBatchThresholdil runtime recupera un altro batch. Il numero massimo di messaggi simultanei per funzione è batchSize più newBatchThreshold. Impostare batchSize su 1 per eliminare la concorrenza a meno che l'app non venga ridimensionata in più macchine virtuali. Il valore massimo per batchSize è 32. |
Valore di destinazione per la lunghezza della coda passato al scaler. Ad esempio, se un pod può gestire 10 messaggi, impostare la lunghezza della coda su 10. Se il numero effettivo di messaggi nella coda è 30, il ridimensionatore viene ridimensionato su tre pod. |
Logica di traduzione
metadata.queueLength = extensions.queues.batchSize
Bus di servizio di Azure (invio singolo)
La tabella seguente illustra il mapping dei parametri del trigger del bus di servizio di Azure ai valori di configurazione del scaler KEDA.
| Parametro | Configurazione di Funzioni | Configurazione KEDA |
|---|---|---|
| nome del parametro | maxConcurrentCalls |
messageCount |
| Percorso di configurazione |
extensions.serviceBus.maxConcurrentCalls (host.json) |
metadata.messageCount |
| Valore predefinito | 16 | 5 |
| Descrizione del trigger di Funzioni | Descrizione del scaler KEDA |
|---|---|
Limita il numero massimo di chiamate simultanee per ogni istanza ridimensionata. Per le istanze multicore, il valore massimo viene moltiplicato per il numero di core. Usare questa impostazione solo quando isSessionsEnabled è false. |
Numero di messaggi attivi nella coda o nell'argomento del bus di servizio di Azure su cui eseguire la scalabilità. |
Logica di traduzione
metadata.messageCount = extensions.serviceBus.maxConcurrentCalls
Bus di servizio di Azure (basato su sessioni)
La tabella seguente illustra il mapping dei parametri dei trigger di Hub eventi di Azure ai valori di configurazione del scaler KEDA.
| Parametro | Configurazione di Funzioni | Configurazione KEDA |
|---|---|---|
| nome del parametro | maxMessageBatchSize |
messageCount |
| Percorso di configurazione |
extensions.serviceBus.maxMessageBatchSize (host.json) |
metadata.messageCount |
| Valore predefinito | 1000 | 5 |
| Descrizione del trigger di Funzioni | Descrizione del scaler KEDA |
|---|---|
| Numero massimo di messaggi passati a ogni chiamata di funzione per l'elaborazione batch. | Numero di messaggi attivi nella coda o nell'argomento del bus di servizio di Azure su cui eseguire la scalabilità. |
Logica di traduzione
metadata.messageCount = extensions.serviceBus.maxMessageBatchSize
Hub eventi di Azure
La tabella seguente illustra il mapping dei parametri dei trigger di Hub eventi di Azure ai valori di configurazione del scaler KEDA.
| Parametro | Configurazione di Funzioni | Configurazione KEDA |
|---|---|---|
| nome del parametro | targetUnprocessedEventThreshold |
unprocessedEventThreshold |
| Percorso di configurazione |
extensions.eventHubs.targetUnprocessedEventThreshold (host.json) |
metadata.unprocessedEventThreshold |
| Valore predefinito | nullo | 64 |
| Descrizione del trigger di Funzioni | Descrizione del scaler KEDA |
|---|---|
| Numero desiderato di eventi non elaborati per ogni istanza di funzione. Usato per il ridimensionamento basato sulla destinazione. | Valore medio di destinazione per attivare le azioni di ridimensionamento. |
Logica di traduzione
metadata.unprocessedEventThreshold = extensions.eventHubs.targetUnprocessedEventThreshold
Apache Kafka
La tabella seguente illustra il mapping dei parametri del trigger Apache Kafka ai valori di configurazione del scaler KEDA.
| Parametro | Configurazione di Funzioni | Configurazione KEDA |
|---|---|---|
| nome del parametro | LagThreshold |
lagThreshold |
| Percorso di configurazione | Attributo trigger di funzione | metadata.lagThreshold |
| Valore predefinito | 1000 | 10 |
| Descrizione del trigger di Funzioni | Descrizione del scaler KEDA |
|---|---|
Usare questo valore come esecuzioni di destinazione per istanza per il trigger Kafka. Il numero di istanze desiderate viene calcolato in base al ritardo totale del consumer diviso per LagThreshold. |
|
| Usare questo valore come destinazione per il ritardo totale (somma di tutti i ritardi di partizione) per attivare le azioni di ridimensionamento. |
Example
[KafkaTrigger(
"BrokerList",
"topic",
ConsumerGroup = "$Default",
LagThreshold = 100)]
Logica di traduzione
metadata.lagThreshold = LagThreshold
Azure Cosmos DB, un servizio di database distribuito globale di Microsoft
Il trigger di Azure Cosmos DB non esegue il mapping a un scaler KEDA. Usare invece il ridimensionamento personalizzato.
Il trigger funzioni imposta il numero massimo di elementi ricevuti per ogni chiamata di funzione. L'ambito delle transazioni viene mantenuto per le stored procedure.
| Parametro | Configurazione di Funzioni | Configurazione KEDA |
|---|---|---|
| nome del parametro | MaxItemsPerInvocation |
N/A |
| Percorso di configurazione | Attributo trigger di funzione | N/A |
| Valore predefinito | 100 | N/A |
Example
[CosmosDBTrigger(
databaseName: "ToDoItems",
containerName: "Items",
Connection = "CosmosDBConnection",
MaxItemsPerInvocation = 100)]
Trigger HTTP
Il trigger HTTP non esegue il mapping a un scaler KEDA. Usare invece le funzionalità di scalabilità HTTP predefinite di App contenitore o soluzioni di monitoraggio esterne.
| Parametro | Configurazione di Funzioni | Configurazione KEDA |
|---|---|---|
| nome del parametro | maxConcurrentRequests |
N/A |
| Percorso di configurazione |
extensions.http.maxConcurrentRequests (host.json) |
N/A |
| Valore predefinito | 100 (consumo), -1 (Premium/Dedicato) | N/A |
Trigger di archiviazione BLOB
La tabella seguente illustra il mapping dei parametri del trigger di Archiviazione BLOB di Azure ai valori di configurazione del scaler KEDA.
| Parametro | Configurazione di Funzioni | Configurazione KEDA |
|---|---|---|
| nome del parametro | maxDegreeOfParallelism |
blobCount |
| Percorso di configurazione |
extensions.blobs.maxDegreeOfParallelism (host.json) |
metadata.blobCount |
| Valore predefinito | 8 × numero di core disponibili | 5 |
| Descrizione del trigger di Funzioni | Descrizione del scaler KEDA |
|---|---|
| Imposta il numero di chiamate simultanee consentite per tutte le funzioni attivate da BLOB in un'app per le funzioni. Valore minimo: 1. | Valore medio di destinazione per attivare le azioni di ridimensionamento. (Impostazione predefinita: 5, Facoltativo) |
Logica di traduzione
metadata.blobCount = extensions.blobs.maxDegreeOfParallelism
Event Grid
I parametri del trigger di Griglia di eventi di Azure non eseguono il mapping a un scaler KEDA.
Il trigger di Griglia di eventi usa una richiesta HTTP webhook. Per configurare questa richiesta, usare le stesse host.json impostazioni del trigger HTTP. Queste impostazioni controllano l'esecuzione parallela per la gestione delle risorse.
Trigger RabbitMQ
Nella tabella seguente viene illustrato il mapping dei parametri trigger RabbitMQ ai valori di configurazione del scaler KEDA.
| Parametro | Configurazione di Funzioni | Configurazione KEDA |
|---|---|---|
| nome del parametro | prefetchCount |
value |
| Percorso di configurazione |
extensions.rabbitMQ.prefetchCount (host.json) |
metadata.value |
| Valore predefinito | 30 | 100.50 |
| Descrizione del trigger di Funzioni | Descrizione del scaler KEDA |
|---|---|
| Numero di messaggi che il ricevitore può richiedere e memorizzare nella cache contemporaneamente. | Backlog dei messaggi o frequenza di pubblicazione/sec per attivare il ridimensionamento. In modalità QueueLength il valore rappresenta la lunghezza della coda di destinazione per il ridimensionamento. |
Logica di traduzione
metadata.value = extensions.rabbitMQ.prefetchCount