Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Quando você implanta o Azure Functions em Aplicativos de Contêiner do Azure, a plataforma converte automaticamente seus parâmetros de gatilho do Functions em configurações de dimensionamento KEDA. Essa tradução garante que suas funções são dimensionadas adequadamente com base na carga de trabalho de entrada de várias fontes de eventos.
Como funcionam os mapeamentos de dimensionamento
O Azure Functions em Aplicativos de Contêiner usa KEDA para monitorar fontes de eventos e dimensionar seus aplicativos de funções. A plataforma automaticamente:
Converte parâmetros do Functions: converte a configuração de gatilho do Functions (de ou atributos de
host.jsongatilho) em metadados do dimensionador KEDA.Aplica regras de dimensionamento: usa os parâmetros traduzidos para criar regras de dimensionamento KEDA apropriadas.
Monitora eventos: o KEDA monitora continuamente suas fontes de eventos com base nessas regras.
Dimensiona instâncias: dimensiona automaticamente suas instâncias de contêiner para cima ou para baixo com base na carga de trabalho.
As seções a seguir detalham os mapeamentos de parâmetro específicos para cada tipo de gatilho.
Parâmetros de dimensionamento
As seções a seguir detalham como os parâmetros de gatilho do Azure Functions são mapeados para suas configurações de dimensionador KEDA correspondentes para cada tipo de gatilho com suporte.
Fila de Armazenamento do Azure
A tabela a seguir mostra como os parâmetros de gatilho da Fila de Armazenamento do Azure são mapeados para os valores de configuração do dimensionador KEDA.
| Parâmetro | Configuração de funções | Configuração do KEDA |
|---|---|---|
| nome do parâmetro | batchSize |
queueLength |
| Caminho de configuração |
extensions.queues.batchSize (host.json) |
metadata.queueLength |
| Valor padrão | 16 | 5 |
| Descrição do gatilho do Functions | Descrição do dimensionador KEDA |
|---|---|
O número de mensagens de fila que o runtime do Functions recupera e processa em paralelo. Quando o número que está sendo processado atinge o newBatchThreshold, o runtime busca outro lote. O número máximo de mensagens simultâneas por função é batchSize mais newBatchThreshold. Defina batchSize como 1 para eliminar a simultaneidade, a menos que o aplicativo seja dimensionado para várias VMs. O máximo batchSize é 32. |
Valor de destino para o comprimento da fila passado para o dimensionador. Por exemplo, se um pod puder lidar com 10 mensagens, defina o destino do comprimento da fila como 10. Se o número real de mensagens na fila for 30, o dimensionador será dimensionado para três pods. |
Lógica de tradução
metadata.queueLength = extensions.queues.batchSize
Barramento de Serviço do Azure (expedição única)
A tabela a seguir mostra como os parâmetros de gatilho do Barramento de Serviço do Azure são mapeados para os valores de configuração do dimensionador KEDA.
| Parâmetro | Configuração de funções | Configuração do KEDA |
|---|---|---|
| nome do parâmetro | maxConcurrentCalls |
messageCount |
| Caminho de configuração |
extensions.serviceBus.maxConcurrentCalls (host.json) |
metadata.messageCount |
| Valor padrão | 16 | 5 |
| Descrição do gatilho do Functions | Descrição do dimensionador KEDA |
|---|---|
Limita o número máximo de chamadas simultâneas por instância dimensionada. Para instâncias multicore, o máximo é multiplicado pelo número de núcleos. Use essa configuração somente quando isSessionsEnabled for false. |
Número de mensagens ativas em sua fila ou tópico do Barramento de Serviço do Azure para dimensionar. |
Lógica de tradução
metadata.messageCount = extensions.serviceBus.maxConcurrentCalls
Barramento de Serviço do Azure (baseado em sessões)
A tabela a seguir mostra como os parâmetros de gatilho dos Hubs de Eventos do Azure são mapeados para os valores de configuração do dimensionador KEDA.
| Parâmetro | Configuração de funções | Configuração do KEDA |
|---|---|---|
| nome do parâmetro | maxMessageBatchSize |
messageCount |
| Caminho de configuração |
extensions.serviceBus.maxMessageBatchSize (host.json) |
metadata.messageCount |
| Valor padrão | 1000 | 5 |
| Descrição do gatilho do Functions | Descrição do dimensionador KEDA |
|---|---|
| Número máximo de mensagens passadas para cada chamada de função para processamento em lote. | Número de mensagens ativas em sua fila ou tópico do Barramento de Serviço do Azure para dimensionar. |
Lógica de tradução
metadata.messageCount = extensions.serviceBus.maxMessageBatchSize
Hubs de Eventos do Azure
A tabela a seguir mostra como os parâmetros de gatilho dos Hubs de Eventos do Azure são mapeados para os valores de configuração do dimensionador KEDA.
| Parâmetro | Configuração de funções | Configuração do KEDA |
|---|---|---|
| nome do parâmetro | targetUnprocessedEventThreshold |
unprocessedEventThreshold |
| Caminho de configuração |
extensions.eventHubs.targetUnprocessedEventThreshold (host.json) |
metadata.unprocessedEventThreshold |
| Valor padrão | nulo | 64 |
| Descrição do gatilho do Functions | Descrição do dimensionador KEDA |
|---|---|
| Número desejado de eventos não processados por instância de função. Usado para dimensionamento baseado em destino. | Valor de destino médio para disparar ações de dimensionamento. |
Lógica de tradução
metadata.unprocessedEventThreshold = extensions.eventHubs.targetUnprocessedEventThreshold
Apache Kafka
A tabela a seguir mostra como os parâmetros de gatilho do Apache Kafka são mapeados para os valores de configuração do dimensionador KEDA.
| Parâmetro | Configuração de funções | Configuração do KEDA |
|---|---|---|
| nome do parâmetro | LagThreshold |
lagThreshold |
| Caminho de configuração | Atributo de gatilho de função | metadata.lagThreshold |
| Valor padrão | 1000 | 10 |
| Descrição do gatilho do Functions | Descrição do dimensionador KEDA |
|---|---|
Use esse valor como as execuções de destino por instância para o gatilho Kafka. O número de instâncias desejadas é calculado com base no atraso total do consumidor dividido por LagThreshold. |
|
| Use esse valor como destino para o atraso total (soma de todos os atrasos de partição) para disparar ações de dimensionamento. |
Example
[KafkaTrigger(
"BrokerList",
"topic",
ConsumerGroup = "$Default",
LagThreshold = 100)]
Lógica de tradução
metadata.lagThreshold = LagThreshold
Azure Cosmos DB
O gatilho do Azure Cosmos DB não é mapeado para um dimensionador KEDA. Em vez disso, use o dimensionamento personalizado.
O gatilho do Functions define o número máximo de itens recebidos por chamada de função. O escopo da transação é preservado para procedimentos armazenados.
| Parâmetro | Configuração de funções | Configuração do KEDA |
|---|---|---|
| nome do parâmetro | MaxItemsPerInvocation |
N/A |
| Caminho de configuração | Atributo de gatilho de função | N/A |
| Valor padrão | 100 | N/A |
Example
[CosmosDBTrigger(
databaseName: "ToDoItems",
containerName: "Items",
Connection = "CosmosDBConnection",
MaxItemsPerInvocation = 100)]
Gatilho HTTP
O gatilho HTTP não é mapeado para um dimensionador KEDA. Em vez disso, use as funcionalidades internas de dimensionamento HTTP dos Aplicativos de Contêiner ou soluções de monitoramento externo.
| Parâmetro | Configuração de funções | Configuração do KEDA |
|---|---|---|
| nome do parâmetro | maxConcurrentRequests |
N/A |
| Caminho de configuração |
extensions.http.maxConcurrentRequests (host.json) |
N/A |
| Valor padrão | 100 (Consumo), -1 (Premium/Dedicado) | N/A |
Gatilho de armazenamento Blob
A tabela a seguir mostra como os parâmetros de gatilho do Armazenamento de Blobs do Azure são mapeados para os valores de configuração do dimensionador KEDA.
| Parâmetro | Configuração de funções | Configuração do KEDA |
|---|---|---|
| nome do parâmetro | maxDegreeOfParallelism |
blobCount |
| Caminho de configuração |
extensions.blobs.maxDegreeOfParallelism (host.json) |
metadata.blobCount |
| Valor padrão | 8 × número de núcleos disponíveis | 5 |
| Descrição do gatilho do Functions | Descrição do dimensionador KEDA |
|---|---|
| Define o número de invocações simultâneas permitidas para todas as funções disparadas por blob em um aplicativo de funções. Valor mínimo: 1. | Valor de destino médio para disparar ações de dimensionamento. (Padrão: 5, opcional) |
Lógica de tradução
metadata.blobCount = extensions.blobs.maxDegreeOfParallelism
Grade de Eventos
Os parâmetros de gatilho da Grade de Eventos do Azure não são mapeados para um dimensionador KEDA.
O gatilho da Grade de Eventos usa uma solicitação HTTP de webhook. Você configura essa solicitação usando as mesmas host.json configurações que o gatilho HTTP. Essas configurações controlam a execução paralela para o gerenciamento de recursos.
Gatilho do RabbitMQ
A tabela a seguir mostra como os parâmetros de gatilho RabbitMQ são mapeados para os valores de configuração do dimensionador KEDA.
| Parâmetro | Configuração de funções | Configuração do KEDA |
|---|---|---|
| nome do parâmetro | prefetchCount |
value |
| Caminho de configuração |
extensions.rabbitMQ.prefetchCount (host.json) |
metadata.value |
| Valor padrão | 30 | 100.50 |
| Descrição do gatilho do Functions | Descrição do dimensionador KEDA |
|---|---|
| Número de mensagens que o receptor pode solicitar e armazenar em cache simultaneamente. | Lista de pendências de mensagem ou taxa de publicação/s para disparar o dimensionamento. No modo QueueLength, o valor representa o comprimento da fila de destino para dimensionamento. |
Lógica de tradução
metadata.value = extensions.rabbitMQ.prefetchCount