Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo explica como trabalhar com o gatilho de aquecimento no Azure Functions. Um gatilho de aquecimento é invocado quando uma instância é adicionada para dimensionar um aplicativo de função em execução. O gatilho de aquecimento permite definir uma função que é executada quando uma nova instância do seu aplicativo de função é iniciada. Você pode usar um gatilho de aquecimento para pré-carregar dependências personalizadas para que suas funções estejam prontas para começar a processar solicitações imediatamente. Algumas ações para um gatilho de aquecimento podem incluir abrir conexões, carregar dependências ou executar qualquer outra lógica personalizada antes que seu aplicativo comece a receber tráfego.
As seguintes considerações se aplicam ao usar um gatilho de aquecimento:
- Pode haver apenas uma função de gatilho de aquecimento por aplicativo de função e ela não pode ser invocada depois que a instância já estiver em execução.
- O nome da função que é o gatilho de aquecimento para seu aplicativo deve ser
warmup(sem distinção entre maiúsculas e minúsculas). - O gatilho de aquecimento não está disponível para aplicativos executados no plano de consumo.
- O gatilho de aquecimento não é suportado na versão 1.x do tempo de execução do Functions.
- O suporte para o gatilho de aquecimento é fornecido por padrão em todos os ambientes de desenvolvimento. Não é necessário instalar manualmente o pacote ou registrar a extensão.
- O gatilho de aquecimento só é chamado durante operações de expansão, não durante reinicializações ou outras inicializações sem escala. Certifique-se de que sua lógica possa carregar todas as dependências necessárias sem depender do gatilho de aquecimento. O carregamento preguiçoso é um bom padrão para atingir este objetivo.
- As dependências criadas pelo gatilho de aquecimento devem ser compartilhadas com outras funções em seu aplicativo. Para saber mais, consulte Clientes estáticos.
- Se a autenticação interna (também conhecida como Easy Auth) for usada, HTTPS Only deverá ser habilitado para que o gatilho de aquecimento seja invocado.
Exemplo
Você pode criar uma função C# usando um dos seguintes modos C#:
- Modelo de trabalho isolado: função C# compilada que é executada em um processo de trabalho isolado do tempo de execução. Um processo de trabalho isolado é necessário para dar suporte a funções C# executadas em versões LTS (long-term support) e não-LTS para .NET e .NET Framework.
- Modelo em processo: função C# compilada que é executada no mesmo processo que o tempo de execução do Azure Functions.
- Script C#: usado principalmente quando você cria funções C# no portal do Azure.
Importante
O suporte para o modelo em processo terminará em 10 de novembro de 2026. É altamente recomendável que você migre seus aplicativos para o modelo de trabalho isolado para obter suporte total.
O exemplo a seguir mostra uma função C# que é executada em cada nova instância quando adicionada ao seu aplicativo.
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;
namespace SampleApp
{
public static class Warmup
{
[Function(nameof(Warmup))]
public static void Run([WarmupTrigger] object warmupContext, FunctionContext context)
{
var logger = context.GetLogger(nameof(Warmup));
logger.LogInformation("Function App instance is now warm!");
}
}
}
O exemplo a seguir mostra um gatilho de aquecimento que é executado quando cada nova instância é adicionada ao seu aplicativo.
@FunctionName("Warmup")
public void warmup( @WarmupTrigger Object warmupContext, ExecutionContext context) {
context.getLogger().info("Function App instance is warm.");
}
O exemplo a seguir mostra uma função JavaScript com um gatilho de aquecimento que é executado em cada nova instância quando adicionada ao seu aplicativo:
const { app } = require('@azure/functions');
app.warmup('warmupTrigger', {
handler: (warmupContext, context) => {
context.log('Function App instance is warm.');
},
});
O exemplo a seguir mostra uma função TypeScript com um gatilho de aquecimento que é executado em cada nova instância quando adicionada ao seu aplicativo:
import { app, InvocationContext, WarmupContext } from '@azure/functions';
export async function warmupFunction(warmupContext: WarmupContext, context: InvocationContext): Promise<void> {
context.log('Function App instance is warm.');
}
app.warmup('warmup', {
handler: warmupFunction,
});
Aqui está o arquivo function.json :
{
"bindings": [
{
"type": "warmupTrigger",
"direction": "in",
"name": "warmupContext"
}
]
}
Código de exemplo do PowerShell pendente.
O exemplo a seguir mostra um gatilho de aquecimento em um arquivo function.json e uma função Python que é executada em cada nova instância quando é adicionada ao seu aplicativo.
Sua função deve ser nomeada warmup (não diferencia maiúsculas de minúsculas) e só pode haver uma função de aquecimento por aplicativo.
import logging
import azure.functions as func
app = func.FunctionApp()
@app.warm_up_trigger('warmup')
def warmup(warmup) -> None:
logging.info('Function App instance is warm')
Para obter mais informações, consulte Configuração.
Atributos
As bibliotecas C# de processo de trabalho em processo e isoladas usam o WarmupTrigger atributo para definir a função. Em vez disso, o script C# usa um arquivo de configuração function.json.
Use o WarmupTrigger atributo para definir a função. Este atributo não tem parâmetros.
Anotações
Os gatilhos de aquecimento não exigem anotações. Basta usar um nome de (sem distinção entre maiúsculas e warmup minúsculas) para a FunctionName anotação.
Configuração
Configuração
A tabela a seguir explica as propriedades de configuração de associação definidas no arquivo function.json .
| function.json propriedade | Descrição |
|---|---|
| tipo | Obrigatório - deve ser definido como warmupTrigger. |
| direção | Obrigatório - deve ser definido como in. |
| Designação | Obrigatório - o nome da variável usada no código da função. A name de é recomendado para o parâmetro de warmupContext ligação. |
Consulte a seção Exemplo para obter exemplos completos.
Utilização
As seguintes considerações se aplicam ao uso de uma função de aquecimento em C#:
- Sua função deve ser nomeada
warmup(não diferencia maiúsculas de minúsculas) usando oFunctionatributo. - Um atributo de valor de retorno não é necessário.
- Utilize a
Microsoft.Azure.Functions.Worker.Extensions.Warmupembalagem - Você pode passar uma instância de objeto para a função.
Sua função deve ser nomeada warmup (sem distinção entre maiúsculas e minúsculas) usando a FunctionName anotação.
O tipo de função em function.json deve ser definido como warmupTrigger.