Ola pessoALL,

Uma dúvida muito comum para quem trabalha com Azure Functions é como iniciar apenas funções especificas.

A documentação nos da algumas formas de desabilitarmos funções individualmente, mas geralmente nossa necessidade é iniciar uma ou algumas funções em específico.

Rodando pela internet acabei encontrando uma maneira, utilizando uma configuração não documentada.

Arquivo host.json

A chave está na própria documentação do Azure. Temos uma entrada no arquivo chamada "functions" onde podemos especificar quais funções desejamos iniciar e um array vazio significa todas as funções.

O maior problema é esquecermos essa configuração no arquivo e publicarmos sem habilitarmos todas as funções, o que poderia ocasionar problemas em produção.

A documentação também nos fornece outra dica extremamente importante, para alterarmos alguma configuração, podemos adicionar nos nossos arquivos entradas no seguinte formato: AzureFunctionsJobHost__path__to__setting.

Como a configuração "functions" é um array precisamos especificar cada função desejada individualmente, sendo assim no nosso arquivo local.settings.json ficaria com o seguinte formato:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
    "AzureFunctionsJobHost__functions__0": "functionName"
  }
}

Tudo o que precisamos fazer é adicionar valores obedecendo ao formato "AzureFunctionsJobHost__functions__0" onde cada linha terá seu índice de posição no array.

Finalizando, vou mostrar a aplicação rodando antes e depois da configuração.

Antes da configuração, todas as funções executando
Apenas a função específica sendo iniciada.

Espero ter ajudado com essa dica.
[]s e até a próxima.

💡
Podemos te ajudar com uma revisão 100% gratuita do seu ambiente cloud.
Share this post