Referência de configurações de aplicativo para Azure Functions

As configurações de aplicativo em um aplicativo de funções contêm opções de configuração que afetam todas as funções do aplicativo de funções. Essas configurações são acessadas como variáveis de ambiente. Este artigo lista as configurações de aplicativo disponíveis nos aplicativos de funções.

Há várias maneiras de adicionar, atualizar e excluir configurações do aplicativo de funções:

As alterações nas configurações do aplicativo de funções exigem que o seu aplicativo de funções seja reiniciado.

Neste artigo, valores de cadeia de conexão de exemplo são truncados para legibilidade.

Considerações sobre a configuração do aplicativo

Ao usar as configurações do aplicativo, você deve estar ciente das seguintes considerações:

  • As alterações nas configurações do aplicativo de funções exigem que o seu aplicativo de funções seja reiniciado.

  • Em nomes de configuração, sublinhado duplo (__) e ponto e vírgula (:) são considerados valores reservados. Os sublinhados duplos são interpretados como delimitadores hierárquicos no Windows e no Linux, e os dois-pontos são interpretados da mesma maneira apenas no Linux. Por exemplo, a configuração AzureFunctionsWebHost__hostid=somehost_123456 seria interpretada como o seguinte objeto JSON:

    "AzureFunctionsWebHost": {
        "hostid": "somehost_123456"
    }
    

    Neste artigo, apenas sublinhados duplos são usados, pois eles têm suporte em ambos os sistemas operacionais.

  • Quando o Functions é executado localmente, as configurações do aplicativo são especificadas na coleção Values em local.settings.json.

  • Há outras opções de configuração do aplicativo de funções no arquivo host.json e no arquivo local.settings.json.

  • Você pode usar configurações de aplicativo para substituir os valores de configuração de host.json sem precisar alterar o arquivo host.json. Isso é útil para cenários em que você precisa configurar ou modificar configurações específicas de host.json para um ambiente específico. Isso também permite que você altere configurações de host.json sem precisar republicar o projeto. Para saber mais, confira o artigo de referência de host.json.

  • Este artigo documenta as configurações mais relevantes para seus aplicativos de funções. Como o Azure Functions é executado no Serviço de Aplicativo, outras configurações de aplicativo também podem ter suporte. Para mais informações, confira Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.

  • Alguns cenários também exigem que você trabalhe com configurações documentadas nas configurações de site do Serviço de Aplicativo.

  • Alterar qualquer configuração de aplicativo do Serviço de Aplicativosomente leitura pode colocar seu aplicativo de funções em um estado sem resposta.

  • Tome cuidado ao atualizar as configurações de aplicativo usando APIs REST, incluindo modelos do ARM. Como essas APIs substituem as configurações de aplicativo existentes, você deve incluir todas as configurações existentes ao adicionar ou modificar configurações usando APIs REST ou modelos do ARM. Quando possível, use a CLI do Azure ou o Azure PowerShell para trabalhar programaticamente com as configurações do aplicativo. Para obter mais informações, confira Trabalhar com configurações de aplicativo.

APPINSIGHTS_INSTRUMENTATIONKEY

A chave de instrumentação do Application Insights. Não use APPINSIGHTS_INSTRUMENTATIONKEY e APPLICATIONINSIGHTS_CONNECTION_STRING. Quando possível, use APPLICATIONINSIGHTS_CONNECTION_STRING. Quando o Application Insights é executado em uma nuvem soberana, você deve usar APPLICATIONINSIGHTS_CONNECTION_STRING. Para saber mais, confira Como configurar o monitoramento para o Azure Functions.

Chave Valor de exemplo
APPINSIGHTS_INSTRUMENTATIONKEY 55555555-af77-484b-9032-64f83bb83bb

Não use APPINSIGHTS_INSTRUMENTATIONKEY e APPLICATIONINSIGHTS_CONNECTION_STRING. Recomenda-se o uso do APPLICATIONINSIGHTS_CONNECTION_STRING.

Observação

Em 31 de março de 31, 2025, o suporte à ingestão de chave de instrumentação será encerrado. A ingestão de chave de instrumentação continuará funcionando, mas não forneceremos mais atualizações ou suporte para o recurso. Faça a transição para cadeias de conexão para aproveitar as novas funcionalidades.

APPLICATIONINSIGHTS_CONNECTION_STRING

A cadeia de conexão do Application Insights. Não use APPINSIGHTS_INSTRUMENTATIONKEY e APPLICATIONINSIGHTS_CONNECTION_STRING. Embora o uso do APPLICATIONINSIGHTS_CONNECTION_STRING seja recomendado em todos os casos, ele é necessário nos seguintes casos:

  • Quando o aplicativo de funções requer as personalizações adicionadas com suporte usando a cadeia de conexão.
  • Quando a instância do Application Insights é executada em uma nuvem soberana, que requer um ponto de extremidade personalizado.

Para saber mais, confira Cadeias de conexão.

Chave Valor de exemplo
APPLICATIONINSIGHTS_CONNECTION_STRING InstrumentationKey=...

AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL

Por padrão, os Proxies de funções usam um atalho para enviar chamadas à API de proxies diretamente para funções no mesmo aplicativo de funções. Esse atalho é usado em vez de criar uma solicitação HTTP. Essa configuração permite que você desabilite esse comportamento do atalho.

Chave Valor Descrição
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL true Chamadas com uma URL de back-end apontando para uma função no aplicativo de funções local não são enviadas diretamente para a função. Em vez disso, as solicitações são direcionadas de volta para o front-end HTTP para o aplicativo de funções.
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL false Chamadas com uma URL de back-end apontando para uma função no aplicativo de funções local são encaminhadas diretamente para essa função. false é o valor padrão.

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES

Essa configuração controla se caracteres %2F são decodificados como barras nos parâmetros de rota quando inseridos na URL de back-end.

Chave Valor Descrição
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES true Parâmetros de rota com barras codificadas são decodificados.
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES false Todos os parâmetros de rota são passados em conjunto e inalterados, que é o comportamento padrão.

Por exemplo, considere o arquivo proxies.json para um aplicativo de funções no domínio myfunction.com.

{
    "$schema": "http://json.schemastore.org/proxies",
    "proxies": {
        "root": {
            "matchCondition": {
                "route": "/{*all}"
            },
            "backendUri": "example.com/{all}"
        }
    }
}

Quando AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES está definido como true, a URL example.com/api%2ftest é resolvida para example.com/api/test. Por padrão, a URL permanece inalterada como example.com/test%2fapi. Para saber mais, confira Proxies de funções.

AZURE_FUNCTIONS_ENVIRONMENT

Na versão 2.x e em versões posteriores do runtime do Functions, configura o comportamento do aplicativo com base no ambiente de runtime. Esse valor é lido durante a inicialização e pode ser definido como qualquer valor. Somente os valores de Development, Staging e Production são respeitados pelo runtime. Quando essa configuração de aplicativo não estiver presente durante a execução no Azure, o ambiente será considerado Production. Use essa configuração em vez de ASPNETCORE_ENVIRONMENT se precisar alterar o ambiente de runtime no Azure para algo diferente de Production. O Azure Functions Core Tools definiu AZURE_FUNCTIONS_ENVIRONMENT como Development quando executado em um computador local, e essa configuração não pode ser substituído no arquivo local.settings.json. Para saber mais, confira Classe e métodos de inicialização baseados em ambiente.

AzureFunctionsJobHost__*

Na versão 2.x e em versões posteriores do runtime do Functions, as configurações de aplicativo podem substituir as configurações de host.json no ambiente atual. Essas substituições são expressas como configurações de aplicativo chamadas AzureFunctionsJobHost__path__to__setting. Para saber mais, confira Substituir valores de host.json.

AzureFunctionsWebHost__hostid

Define a ID do host para um determinado aplicativo de funções, que deve ser uma ID exclusiva. Essa configuração substitui o valor da ID do host gerado automaticamente para seu aplicativo. Use essa configuração somente quando precisar evitar colisões de ID de host entre aplicativos de funções que compartilham a mesma conta de armazenamento.

Uma ID de host deve atender aos seguintes requisitos:

  • Ter entre 1 e 32 caracteres
  • Ela pode conter apenas letras minúsculas, números e traços
  • Não iniciar ou terminar com um traço
  • Não pode conter traços consecutivos

Uma maneira fácil de gerar uma ID é pegar um GUID, remover os traços e torná-lo minúscula, como convertendo o GUID 1835D7B5-5C98-4790-815D-072CC94C6F71 no valor 1835d7b55c984790815d072cc94c6f71.

Chave Valor de exemplo
AzureFunctionsWebHost__hostid myuniquefunctionappname123456789

Para obter mais informações, consulte Considerações sobre a ID do host.

AzureWebJobsDashboard

Cadeia de conexão da conta de armazenamento opcional para armazenar logs e exibi-los na guia Monitor do portal. Essa configuração é válida apenas para aplicativos que têm como destino a versão 1.x do runtime do Azure Functions. A conta de armazenamento deve ser de uso geral, com suporte para blobs, filas e tabelas. Para saber mais, confira Requisitos de uma conta de armazenamento.

Chave Valor de exemplo
AzureWebJobsDashboard DefaultEndpointsProtocol=https;AccountName=...

Observação

Para ter um melhor desempenho e uma melhor experiência, o runtime versão 2.x e posteriores usam APPINSIGHTS_INSTRUMENTATIONKEY e o App Insights para monitoramento em vez de AzureWebJobsDashboard.

AzureWebJobsDisableHomepage

Um valor de true desabilita a página de aterrissagem padrão mostrada para a URL raiz de um aplicativo de funções. O valor padrão é false.

Chave Valor de exemplo
AzureWebJobsDisableHomepage true

Quando essa configuração de aplicativo é omitida ou definida como false, uma página semelhante ao exemplo a seguir é exibida na resposta à URL <functionappname>.azurewebsites.net.

Página de aterrissagem do aplicativo de funções

AzureWebJobsDotNetReleaseCompilation

true significa usar o modo de versão durante a compilação do código .NET; false significa usar o modo de depuração. O padrão é true.

Chave Valor de exemplo
AzureWebJobsDotNetReleaseCompilation true

AzureWebJobsFeatureFlags

Uma lista delimitada por vírgulas de recursos beta a habilitar. Os recursos beta habilitados por esses sinalizadores não estão prontos para produção, mas podem ser habilitados para uso experimental antes de serem lançados.

Chave Valor de exemplo
AzureWebJobsFeatureFlags feature1,feature2,EnableProxies

Adicione EnableProxies a esta lista para reabilitar proxies na versão 4.x do runtime do Functions ao planejar a migração para o Gerenciamento de API do Azure. Para obter mais informações, consulte Reabilitar proxies no Functions v4.x.

AzureWebJobsKubernetesSecretName

Indica o recurso de Segredos do Kubernetes usado para armazenar chaves. Compatível apenas quando em execução no Kubernetes. Essa configuração requer que você defina AzureWebJobsSecretStorageType como kubernetes. Quando AzureWebJobsKubernetesSecretName não estiver definido, o repositório será considerado somente leitura. Nesse caso, os valores devem ser gerados antes da implantação. O Azure Functions Core Tools gera os valores automaticamente durante a implantação no Kubernetes.

Chave Valor de exemplo
AzureWebJobsKubernetesSecretName <SECRETS_RESOURCE>

Para saber mais, confira Repositórios de segredos.

AzureWebJobsSecretStorageKeyVaultClientId

A ID do cliente da identidade gerenciada atribuída pelo usuário ou o registro do aplicativo usado para acessar o cofre em que as chaves são armazenadas. Essa configuração requer que você defina AzureWebJobsSecretStorageType como keyvault. Com suporte na versão 4.x e em versões posteriores do Functions Runtime.

Chave Valor de exemplo
AzureWebJobsSecretStorageKeyVaultClientId <CLIENT_ID>

Para saber mais, confira Repositórios de segredos.

AzureWebJobsSecretStorageKeyVaultClientSecret

O segredo para a ID do cliente da identidade gerenciada atribuída pelo usuário ou o registro do aplicativo usado para acessar o cofre em que as chaves são armazenadas. Essa configuração requer que você defina AzureWebJobsSecretStorageType como keyvault. Com suporte na versão 4.x e em versões posteriores do Functions Runtime.

Chave Valor de exemplo
AzureWebJobsSecretStorageKeyVaultClientSecret <CLIENT_SECRET>

Para saber mais, confira Repositórios de segredos.

AzureWebJobsSecretStorageKeyVaultName

O nome de uma instância do cofre de chaves usada para armazenar as chaves. Só há suporte para essa configuração na versão 3.x do Functions Runtime. Para a versão 4.x, use AzureWebJobsSecretStorageKeyVaultUri. Essa configuração requer que você defina AzureWebJobsSecretStorageType como keyvault.

O cofre deve ter uma política de acesso correspondente à identidade gerenciada atribuída pelo sistema do recurso de hospedagem. A política de acesso deve conceder à identidade as seguintes permissões de segredo: Get, Set, List e Delete.
Quando suas funções são executadas localmente, a identidade do desenvolvedor é usada e as configurações devem estar no local.settings.json.

Chave Valor de exemplo
AzureWebJobsSecretStorageKeyVaultName <VAULT_NAME>

Para saber mais, confira Repositórios de segredos.

AzureWebJobsSecretStorageKeyVaultTenantId

A ID do locatário do registro do aplicativo usada para acessar o cofre em que as chaves são armazenadas. Essa configuração requer que você defina AzureWebJobsSecretStorageType como keyvault. Com suporte na versão 4.x e em versões posteriores do Functions Runtime. Para saber mais, confira Repositórios de segredos.

Chave Valor de exemplo
AzureWebJobsSecretStorageKeyVaultTenantId <TENANT_ID>

AzureWebJobsSecretStorageKeyVaultUri

O URI de uma instância do cofre de chaves usada para armazenar as chaves. Com suporte na versão 4.x e em versões posteriores do Functions Runtime. Essa é a configuração recomendada para usar uma instância do cofre de chaves para armazenamento de chaves. Essa configuração requer que você defina AzureWebJobsSecretStorageType como keyvault.

O valor AzureWebJobsSecretStorageKeyVaultUri deve ser o valor completo do AzureWebJobsSecretStorageKeyVaultUri exibido na guia Visão geral do Key Vault, incluindo .

O cofre deve ter uma política de acesso correspondente à identidade gerenciada atribuída pelo sistema do recurso de hospedagem. A política de acesso deve conceder à identidade as seguintes permissões de segredo: Get, Set, List e Delete.
Quando suas funções são executadas localmente, a identidade do desenvolvedor é usada e as configurações devem estar no local.settings.json.

Chave Valor de exemplo
AzureWebJobsSecretStorageKeyVaultUri https://<VAULT_NAME>.vault.azure.net

Para saber mais, confira Usar as referências do Key Vault para o Azure Functions.

AzureWebJobsSecretStorageSas

Uma URL de SAS do Armazenamento de Blobs para uma segunda conta de armazenamento usada para o armazenamento de chaves. Por padrão, o Functions usa a conta definida em AzureWebJobsStorage. Ao usar essa opção de armazenamento de segredos, verifique se AzureWebJobsSecretStorageType não está definido explicitamente ou definido como blob. Para saber mais, confira Repositórios de segredos.

Chave Valor de exemplo
AzureWebJobsSecretStorageSas <BLOB_SAS_URL>

AzureWebJobsSecretStorageType

Especifica o repositório ou o provedor a ser usado para armazenar chaves. As chaves são criptografadas antes de serem armazenadas por meio de um segredo exclusivo do aplicativo de funções.

Chave Valor Descrição
AzureWebJobsSecretStorageType blob As chaves são armazenadas em um contêiner do armazenamento de blobs na conta fornecida pela configuração AzureWebJobsStorage. O armazenamento de blob é o comportamento padrão quando AzureWebJobsSecretStorageType não está definido.
Para especificar outra conta de armazenamento, use a configuração AzureWebJobsSecretStorageSas para indicar a URL de SAS de uma segunda conta de armazenamento.
AzureWebJobsSecretStorageType files As chaves são persistentes no sistema de arquivos. Esse é o comportamento padrão para o Functions v1.x.
AzureWebJobsSecretStorageType keyvault As chaves são armazenadas em uma instância do cofre de chaves definida por AzureWebJobsSecretStorageKeyVaultName.
AzureWebJobsSecretStorageType kubernetes Com suporte apenas ao executar o tempo de execução do Functions em Kubernetes. Quando AzureWebJobsKubernetesSecretName não estiver definido, o repositório será considerado somente leitura. Nesse caso, os valores devem ser gerados antes da implantação. O Azure Functions Core Tools gera os valores automaticamente durante a implantação no Kubernetes.

Para saber mais, confira Repositórios de segredos.

AzureWebJobsStorage

O runtime do Azure Functions usa essa cadeia de conexão da conta armazenamento para a operação normal. Alguns usos dessa conta de armazenamento incluem gerenciamento de chave, gerenciamento de gatilho de temporizador e pontos de verificação dos Hubs de Eventos. A conta de armazenamento deve ser de uso geral, com suporte para blobs, filas e tabelas. Consulte Conta de armazenamento e Requisitos da conta de armazenamento.

Chave Valor de exemplo
AzureWebJobsStorage DefaultEndpointsProtocol=https;AccountName=...

AzureWebJobs_TypeScriptPath

Caminho para o compilador usado para TypeScript. Permite substituir o padrão se necessário.

Chave Valor de exemplo
AzureWebJobs_TypeScriptPath %HOME%\typescript

DOCKER_SHM_SIZE

Define o tamanho (em bytes) da memória compartilhada quando o trabalhador do Python estiver usando memória compartilhada. Para saber mais, confira Memória compartilhada.

Chave Valor de exemplo
DOCKER_SHM_SIZE 268435456

O valor acima define um tamanho de memória compartilhada de ~256 MB.

Exige que FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED seja definido como 1.

ENABLE_ORYX_BUILD

Indica se o sistema de build Oryx é usado durante a implantação. ENABLE_ORYX_BUILD deve ser definido como true ao fazer implantações de build remoto no Linux. Para obter mais informações, confira Build remoto no Linux.

Chave Valor de exemplo
ENABLE_ORYX_BUILD true

FUNCTION_APP_EDIT_MODE

Determina se a edição no portal do Azure está habilitada. Os valores válidos são readwrite e readonly.

Chave Valor de exemplo
FUNCTION_APP_EDIT_MODE readonly

VERSION_FUNCTIONS_EXTENSION

A versão do runtime do Functions que hospeda seu aplicativo de funções. Um til (~) com a versão principal significa usar a versão mais recente da versão principal (por exemplo, ~3). Quando novas versões da mesma versão principal estão disponíveis, elas são instaladas automaticamente no aplicativo de funções. Para fixar o aplicativo a uma versão específica, use o número de versão completo (por exemplo, 3.0.12345). O padrão é ~3. Um valor de pinos ~1 seu aplicativo para a versão 1.x do runtime. Para obter mais informações, consulte Visão geral de versões do Azure Functions runtime. Um valor de ~4 significa que o aplicativo é executado na versão 4.x do runtime, que dá suporte ao .NET 6.0.

Chave Valor de exemplo
VERSION_FUNCTIONS_EXTENSION ~4

Há suporte para os seguintes valores de versão de runtime principal:

Valor Destino de runtime Comentário
~4 4.x Recomendadas
~3 3.x O suporte encerra em 13 de dezembro de 2022
~2 2. x Não é mais compatível
~1 1.x Com suporte

FUNCTIONS_V2_COMPATIBILITY_MODE

Essa configuração permite que o aplicativo de funções seja executado em um modo compatível com a versão 2.x no runtime da versão 3.x. Use essa configuração somente se encontrar problemas ao atualizar seu aplicativo de funções da versão 2.x para a 3.x do runtime.

Importante

Essa configuração tem a finalidade de ser apenas uma solução alternativa de curto prazo enquanto você atualiza o aplicativo para ser executado corretamente na versão 3.x. Haverá suporte para essa configuração enquanto o runtime 2.x tiver suporte. Se você encontrar problemas que impeçam que o aplicativo seja executado na versão 3.x sem usar essa configuração, informe seu problema.

Defina também FUNCTIONS_EXTENSION_VERSION como ~3.

Chave Valor de exemplo
FUNCTIONS_V2_COMPATIBILITY_MODE true

FUNCTIONS_REQUEST_BODY_SIZE_LIMIT

Substitui o limite padrão no tamanho do corpo das solicitações enviadas aos pontos de extremidade HTTP. O valor é fornecido em bytes, com um tamanho máximo de solicitação padrão de 104857600 bytes.

Chave Valor de exemplo
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT 250000000

FUNCTIONS_WORKER_PROCESS_COUNT

Especifica o número máximo de processos de trabalho de linguagem, com um valor padrão de 1. O valor máximo permitido é de 10. As invocações de função são distribuídas de maneira uniforme entre os processos de trabalho de linguagem. Os processos de trabalho de linguagem são gerados a cada 10 segundos até que a contagem definida por FUNCTIONS_WORKER_PROCESS_COUNT seja atingida. O uso de vários processos de trabalho de linguagem não é o mesmo que acolocação em escala. Considere usar essa configuração quando a carga de trabalho tiver uma combinação de invocações associadas à CPU e à E/S. Essa configuração se aplica a todos os runtimes de linguagem, exceto o .NET em execução em processo (dotnet).

Chave Valor de exemplo
FUNCTIONS_WORKER_PROCESS_COUNT 2

RUNTIME_FUNCTIONS_WORKER

O runtime do trabalho de linguagem deve ser carregado no aplicativo de funções. Isso corresponde à linguagem que está sendo usada em seu aplicativo (por exemplo, dotnet). Começando na versão 2.x do runtime do Azure Functions, um determinado aplicativo de funções só pode dar suporte a uma linguagem.

Chave Valor de exemplo
RUNTIME_FUNCTIONS_WORKER node

Valores válidos:

Valor Idioma
dotnet C# (biblioteca de classes)
C# (script)
dotnet-isolated C# (processo de trabalho isolado)
java Java
node JavaScript
TypeScript
powershell PowerShell
python Python

FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED

Essa configuração permite que o trabalhador do Python use a memória compartilhada para melhorar a taxa de transferência. Habilite a memória compartilhada quando seu aplicativo de funções do Python estiver atingindo gargalos de memória.

Chave Valor de exemplo
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED 1

Com essa configuração habilitada, você pode usar a configuração DOCKER_SHM_SIZE para definir o tamanho da memória compartilhada. Para saber mais, confira Memória compartilhada.

JAVA_OPTS

Usado para personalizar a JVM (máquina virtual Java) usada para executar as funções Java durante a execução em um plano premium ou plano dedicado. Ao executar em um plano de consumo, em vez disso, use languageWorkers__java__arguments. Para obter mais informações, confira Personalizar a JVM.

languageWorkers__java__arguments

Usado para personalizar a JVM (máquina virtual Java) usada para executar suas funções Java durante a execução em um plano de consumo. Essa configuração aumenta os tempos de inicialização a frio para funções Java em execução em um plano de consumo. Para um plano premium ou dedicado, em vez disso, use JAVA_OPTS. Para obter mais informações, confira Personalizar a JVM.

MDMaxBackgroundUpgradePeriod

Controla o período de atualização em segundo plano das dependências gerenciadas para aplicativos de funções do PowerShell, com um valor padrão de 7.00:00:00 (semanal).

Cada processo de trabalho do PowerShell inicia a verificação de atualizações de módulo na Galeria do PowerShell no início do processo e a cada MDMaxBackgroundUpgradePeriod depois disso. Quando uma nova versão de módulo está disponível no Galeria do PowerShell, ela é instalada no sistema de arquivos e disponibilizada para os trabalhos do PowerShell. Diminuir esse valor permite que seu aplicativo de funções obtenha versões mais recentes do módulo antecipadamente, mas também aumenta o uso de recursos do aplicativo (E/S de rede, CPU, armazenamento). Aumentar esse valor diminui o uso de recursos do aplicativo, mas também pode atrasar a entrega de novas versões de módulo ao seu aplicativo.

Chave Valor de exemplo
MDMaxBackgroundUpgradePeriod 7.00:00:00

Para saber mais, confira Gerenciamento de dependências.

MDNewSnapshotCheckPeriod

Especifica com que frequência cada trabalho do PowerShell verifica se as atualizações de dependência gerenciada foram instaladas. A frequência padrão é 01:00:00 (por hora).

Depois que novas versões de módulo são instaladas no sistema de arquivos, todos os processos de trabalho do PowerShell devem ser reiniciados. Reiniciar os trabalhos do PowerShell afeta a disponibilidade do aplicativo, pois a execução da função atual pode ser interrompida. Até que todos os processos de trabalho do PowerShell sejam reiniciados, as invocações de função podem usar as versões de módulo antigas ou novas. A reinicialização de todos os trabalhos do PowerShell é concluída em MDNewSnapshotCheckPeriod.

A cada MDNewSnapshotCheckPeriod, a função de trabalho do PowerShell verifica se as atualizações de dependência gerenciada foram ou não instaladas. Quando as atualizações são instaladas, uma reinicialização é iniciada. Aumentar esse valor diminui a frequência de interrupções devido a reinicializações. No entanto, o aumento também pode aumentar o tempo durante o qual as invocações de função podem usar as versões antigas ou novas do módulo, não determinísticamente.

Chave Valor de exemplo
MDNewSnapshotCheckPeriod 01:00:00

Para saber mais, confira Gerenciamento de dependências.

MDMinBackgroundUpgradePeriod

O período após uma verificação anterior de atualização de dependência gerenciada antes de outra verificação de atualização ser iniciada, com um padrão de 1.00:00:00 (diariamente).

Para evitar atualizações excessivas de módulo em reinicializações de trabalho frequentes, a verificação de atualizações de módulo não será executada quando algum trabalho já tiver iniciado essa verificação no último MDMinBackgroundUpgradePeriod.

Chave Valor de exemplo
MDMinBackgroundUpgradePeriod 1.00:00:00

Para saber mais, confira Gerenciamento de dependências.

PIP_INDEX_URL

Essa configuração permite substituir a URL base do Índice de Pacote do Python, que por padrão é https://pypi.org/simple. Use essa configuração quando precisar executar um build remoto usando dependências personalizadas. Essas dependências personalizadas encontradas em um repositório de índice de pacote em conformidade com o PEP 503 (a API de repositório simples) ou em um diretório local que siga o mesmo formato.

Chave Valor de exemplo
PIP_INDEX_URL http://my.custom.package.repo/simple

Para saber mais, confira a documentação pip para --index-url e o uso de Dependências personalizadas na referência do desenvolvedor de Python.

PIP_EXTRA_INDEX_URL

O valor dessa configuração indica uma URL de índice adicional de pacotes personalizados para aplicativos do Python a serem usados além de --index-url. Use essa configuração quando precisar executar um build remoto usando dependências personalizadas encontradas em um índice de pacote extra. Deve seguir as mesmas regras que --index-url.

Chave Valor de exemplo
PIP_EXTRA_INDEX_URL http://my.custom.package.repo/simple

Para saber mais, confira a documentação pip para --extra-index-url e Dependências personalizadas na referência do desenvolvedor de Python.

PYTHON_ISOLATE_WORKER_DEPENDENCIES

A configuração é específica para aplicativos de funções do Python. Ele define a priorização da ordem de carregamento do módulo. Por padrão, esse valor é definido como 0.

Chave Valor Descrição
PYTHON_ISOLATE_WORKER_DEPENDENCIES 0 Priorize o carregamento das bibliotecas do Python das dependências internas de trabalho do Python; o que é o comportamento padrão. Bibliotecas de terceiros definidas em requirements.txt podem estar sombreadas.
PYTHON_ISOLATE_WORKER_DEPENDENCIES 1 Priorize o carregamento das bibliotecas do Python do pacote do aplicativo definido em requirements.txt. Isso impede que suas bibliotecas se colidam com as bibliotecas internas de trabalho do Python.

PYTHON_ENABLE_DEBUG_LOGGING

Habilita o registro em log no nível de depuração em um aplicativo de funções do Python. Um valor de 1 habilita o registro em log no nível de depuração. Sem essa configuração ou com um valor de 0, somente as informações e os logs de nível superior são enviados do trabalho do Python para o host do Functions. Use essa configuração ao depurar ou rastrear suas execuções de função do Python.

Ao depurar funções do Python, certifique-se também de definir um nível de log de depuração ou rastreamento no arquivo host.json, conforme necessário. Para saber mais, confira Como configurar o monitoramento para o Azure Functions.

PYTHON_ENABLE_WORKER_EXTENSIONS

A configuração é específica para aplicativos de funções do Python. Definir isso como 1 permite que o trabalho carregue em 1 definidas em requirements.txt. Ele permite que seu aplicativo de funções acesse novos recursos fornecidos por pacotes de terceiros. Ele também pode alterar o comportamento da carga de função e da invocação em seu aplicativo. Verifique se a extensão escolhida é confiável, pois você corre o risco de usá-la. O Azure Functions não oferece garantias expressas a nenhuma extensão. Para saber como usar uma extensão, visite a página do manual da extensão ou o documento readme. Por padrão, esse valor é definido como 0.

Chave Valor Descrição
PYTHON_ENABLE_WORKER_EXTENSIONS 0 Desabilite qualquer extensão de trabalho do Python.
PYTHON_ENABLE_WORKER_EXTENSIONS 1 Permitir que o trabalho do Python carregue extensões do requirements.txt.

PYTHON_THREADPOOL_THREAD_COUNT

Especifica o número máximo de threads que uma função de trabalho na linguagem Python usaria para executar invocações de função, com um valor padrão de 1 para o Python versão 3.8 e abaixo. Para o Python versão 3.9 e superior, o valor é definido como None. Essa configuração não garante o número de threads que seriam definidos durante as execuções. Ela permite que o Python expanda o número de threads para o valor especificado. A configuração se aplica somente a aplicativos de funções Python. Além disso, a configuração se aplica à invocação de funções síncronas, e não a corrotinas.

Chave Valor de exemplo Valor máximo
PYTHON_THREADPOOL_THREAD_COUNT 2 32

SCALE_CONTROLLER_LOGGING_ENABLED

No momento, essa configuração está na versão prévia.

Essa configuração controla o registro em log do controlador de escala do Azure Functions. Para saber mais, confira Dimensionar logs do controlador.

Chave Valor de exemplo
SCALE_CONTROLLER_LOGGING_ENABLED AppInsights:Verbose

O valor dessa chave é fornecido no formato <DESTINATION>:<VERBOSITY>, que é definido da seguinte maneira:

Propriedade Descrição
<DESTINATION> O destino para o qual os logs são enviados. Os valores válidos são AppInsights e Blob.
Ao usar o AppInsights, verifique se Application Insights está habilitado no aplicativo de funções.
Quando você define o destino como Blob, os logs são criados em um contêiner de blob nomeado azure-functions-scale-controller na conta de armazenamento padrão definida na configuração do aplicativo AzureWebJobsStorage.
<VERBOSITY> Especifique o nível de registro em log. Os valores com suporte são None, Warning e Verbose.
Quando definido como Verbose, o controlador de escala registra um motivo para cada alteração na contagem de trabalhadores, bem como informações sobre os gatilhos que resultam nessas decisões. Os logs detalhados incluem avisos de gatilho e os hashes usados pelos gatilhos antes e depois que o controlador de escala é executado.

Dica

Lembre-se de que, enquanto você deixa o registro em log do controlador de escala habilitado, ele afeta os custos potenciais de monitoramento do seu aplicativo de funções. Considere habilitar o registro em log até que você tenha coletado dados suficientes para entender como o controlador de escala está se comportando, depois desabilite-o.

SCM_DO_BUILD_DURING_DEPLOYMENT

Controla o comportamento de build remoto durante a implantação. Quando SCM_DO_BUILD_DURING_DEPLOYMENT é definido como true, o projeto é criado remotamente durante a implantação.

Chave Valor de exemplo
SCM_DO_BUILD_DURING_DEPLOYMENT true

SCM_LOGSTREAM_TIMEOUT

Controla o tempo limite, em segundos, quando conectado aos logs de streaming. O valor padrão é 7200 (2 horas).

Chave Valor de exemplo
SCM_LOGSTREAM_TIMEOUT 1800

O valor de exemplo acima 1800 define um tempo limite de 30 minutos. Para saber mais, confira Habilitar logs de streaming.

WEBSITE_CONTENTAZUREFILECONNECTIONSTRING

Cadeia de conexão para a conta de armazenamento em que o código e a configuração do aplicativo de funções estão armazenados em planos de colocação em escala controlados por eventos. Para obter mais informações, confira Criar um aplicativo de funções.

Chave Valor de exemplo
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING DefaultEndpointsProtocol=https;AccountName=...

Essa configuração é necessária para aplicativos dos planos Consumo e Premium no Windows e no Linux. Ela não é necessária para aplicativos do plano Dedicado, que não são escalados dinamicamente pelo Functions.

Alterar ou remover essa configuração pode fazer com que o aplicativo de funções não seja iniciado. Para saber mais, confira este artigo de solução de problemas.

WEBSITE_CONTENTOVERVNET

Um valor 1 permite que o aplicativo de funções seja dimensionado quando você tiver a conta de armazenamento restrita a uma rede virtual. Habilite essa configuração ao restringir a conta de armazenamento a uma rede virtual. Para saber mais, confira Restringir a conta de armazenamento a uma rede virtual.

Chave Valor de exemplo
WEBSITE_CONTENTOVERVNET 1

Com suporte em planos Premium e Dedicados (Serviço de Aplicativo) (Standard e superior). Não tem suporte quando executado em um Plano de consumo.

WEBSITE_CONTENTSHARE

O caminho de arquivo para o código do aplicativo de funções e a configuração em um plano de escala controlado por eventos. Usado com WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. O padrão é uma cadeia exclusiva gerada pelo runtime que começa com o nome do aplicativo de funções. Consulte Criar um aplicativo de funções.

Chave Valor de exemplo
WEBSITE_CONTENTSHARE functionapp091999e2

Essa configuração é necessária para aplicativos dos planos Consumo e Premium no Windows e no Linux. Ela não é necessária para aplicativos do plano Dedicado, que não são escalados dinamicamente pelo Functions.

Alterar ou remover essa configuração pode fazer com que o aplicativo de funções não seja iniciado. Para saber mais, confira este artigo de solução de problemas.

As seguintes considerações se aplicam ao usar um modelo do ARM (Azure Resource Manager) para criar um aplicativo de funções durante a implantação:

  • Quando você não define um valor WEBSITE_CONTENTSHARE para o aplicativo de funções principal ou qualquer aplicativo nos slots, valores de compartilhamento exclusivos são gerados para você. Nenhuma configuração WEBSITE_CONTENTSHARE é a abordagem recomendada para uma implantação de modelo do ARM.
  • Há cenários em que você deve definir o valor WEBSITE_CONTENTSHARE como um compartilhamento predefinido, como quando você usa uma conta de armazenamento protegida em uma rede virtual. Nesse caso, você deve definir um nome de compartilhamento exclusivo para o aplicativo de funções principal e o aplicativo para cada slot de implantação.
  • WEBSITE_CONTENTSHARE não pode ser uma configuração de slot.
  • Quando você especificar WEBSITE_CONTENTSHARE, o valor deverá seguir estas diretrizes para nomes do compartilhamento.

Para saber mais, confira Automatizar a implantação de recursos para seu aplicativo de funções.

WEBSITE_DNS_SERVER

Define o servidor DNS usado por um aplicativo ao resolver endereços IP. Frequentemente, essa configuração é necessária ao usar determinadas funcionalidades de rede, como Zonas Privadas do DNS do Azure e pontos de extremidade privados.

Chave Valor de exemplo
WEBSITE_DNS_SERVER 168.63.129.16

WEBSITE_ENABLE_BROTLI_ENCODING

Controla se a codificação Brotli é usada para compactação em vez da compactação gzip padrão. Quando WEBSITE_ENABLE_BROTLI_ENCODING é definido como 1, a codificação Brotli é usada; caso contrário, a codificação gzip é usada.

WEBSITE_FUNCTIONS_ARMCACHE_ENABLED

Desabilita o cache ao implantar aplicativos de funções usando modelos do ARM (Azure Resource Manager).

Chave Valor de exemplo
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED 0

WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT

O número máximo de instâncias que o aplicativo pode escalar horizontalmente. O padrão é sem limites.

Importante

Essa configuração está em versão prévia. Uma propriedade de aplicativo para expansão máxima da função foi adicionada e é a maneira recomendada de limitar a escala horizontal.

Chave Valor de exemplo
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 5

WEBSITE_NODE_DEFAULT_VERSION

Somente Windows. Define a versão do Node.js a ser usada ao executar seu aplicativo de funções no Windows. Use um til (~) para que o runtime use a versão mais recente disponível da versão principal de destino. Por exemplo, quando definido como ~18, a versão mais recente do Node.js 18 é usada. Quando uma versão principal é direcionada com um til, você não precisa atualizar manualmente a versão secundária.

Chave Valor de exemplo
WEBSITE_NODE_DEFAULT_VERSION ~18

WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS

Ao executar uma troca de slot no Functions Premium, ela poderá falhar ao trocar se a conta de armazenamento associada ao aplicativo de funções for restrita à rede. Isso ocorre devido a um recurso de registro em log de aplicativo herdado que o Functions e o Serviço de Aplicativo compartilham. Essa configuração substitui esse recurso de log herdado e permite que a troca ocorra. Defina como 0 no slot de produção e marque-o como uma configuração de slot de implantação (também conhecido como autoadesiva) ou adicione a todos os slots para garantir que todas as configurações da versão também sejam trocadas.

Chave Valor de exemplo
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS 0

WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS

Por padrão, as configurações de versão para aplicativos de funções são específicas para cada slot. Essa configuração é usada ao atualizar funções usando slots de implantação. Isso impede o comportamento imprevisto devido a alterações da versões após uma troca. Defina como 0 em produção e no slot para garantir que todas as configurações de versão também sejam trocadas. Para saber mais, confira Fazer upgrade usando slots.

Chave Valor de exemplo
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS 0

WEBSITE_RUN_FROM_PACKAGE

Permite que seu aplicativo de funções execute de um arquivo de pacote montado.

Chave Valor de exemplo
WEBSITE_RUN_FROM_PACKAGE 1

Os valores válidos são 1 ou uma URL que resolve para o local de um arquivo de pacote de implantação. Quando definido como 1, o pacote deve estar na pasta d:\home\data\SitePackages. Ao usar uma implantação em zip com WEBSITE_RUN_FROM_PACKAGE implantado, o pacote é automaticamente carregado para esse local. Na versão prévia, essa configuração foi nomeada WEBSITE_RUN_FROM_ZIP. Para obter mais informações, veja Executar suas funções de um arquivo de pacote.

WEBSITE_SKIP_CONTENTSHARE_VALIDATION

As configurações WEBSITE_CONTENTAZUREFILECONNECTIONSTRING e WEBSITE_CONTENTSHARE têm verificações de validação adicionais para garantir que o aplicativo possa ser iniciado corretamente. A criação de configurações de aplicativo falhará se o aplicativo de funções não puder chamar corretamente a conta de armazenamento downstream ou o Key Vault devido a restrições de rede ou outros fatores limitantes. Quando WEBSITE_SKIP_CONTENTSHARE_VALIDATION é definido como 1, a verificação de validação é ignorada; caso contrário, o valor usa 0 como padrão e a validação ocorre.

Chave Valor de exemplo
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 1

Se a validação for ignorada e a cadeia de conexão ou o compartilhamento de conteúdo não forem inválidos, o aplicativo poderá não iniciar corretamente. Nesse caso, as funções retornam erros HTTP 500. Para obter mais informações, confira Solucionar o erro: "O Azure Functions Runtime está inacessível"

WEBSITE_SLOT_NAME

Somente leitura. Nome do slot de implantação atual. O nome do slot de produção é Production.

Chave Valor de exemplo
WEBSITE_SLOT_NAME Production

WEBSITE_TIME_ZONE

Permite que você defina o fuso horário para o aplicativo de funções.

Chave Sistema operacional Valor de exemplo
WEBSITE_TIME_ZONE Windows Eastern Standard Time
WEBSITE_TIME_ZONE Linux America/New_York

O fuso horário padrão usado com as expressões CRON é a Hora Universal Coordenada (UTC). Para que a expressão CRON se baseie em outro fuso horário, crie uma configuração de aplicativo para o aplicativo de funções denominada WEBSITE_TIME_ZONE.

O valor dessa configuração depende do sistema operacional e do plano no qual seu aplicativo de funções é executado.

Sistema operacional Plano Valor
Windows Tudo Defina o valor para o nome do fuso horário desejado, conforme fornecido pela segunda linha de cada par fornecido pelo comando do Windowstzutil.exe /L
Linux Premium
Dedicado
Defina o valor como o nome do fuso horário desejado, conforme mostrado no banco de dados tz.

Observação

WEBSITE_TIME_ZONE atualmente não é compatível com o plano Consumo em Linux.

Por exemplo, o horário do leste dos EUA (representado por Eastern Standard Time (Windows) ou America/New_York (Linux)) atualmente usa UTC-05: 00 durante o horário padrão e UTC-04:00 durante o dia. Para que um acionador de cronômetro seja disparado às 10:00, horário do leste dos EUA, todos os dias, crie uma configuração de aplicativo para seu aplicativo de funções chamado WEBSITE_TIME_ZONE, defina o valor como Eastern Standard Time (Windows) ou America/New_York (Linux) e, em seguida, use a seguinte expressão NCRONTAB:

"0 0 10 * * *"

Quando você usa WEBSITE_TIME_ZONE, o horário é ajustado para alterações de horário no fuso horário específico, incluindo horário de verão e alterações no horário padrão.

WEBSITE_USE_PLACEHOLDER

Indica se é necessário usar uma otimização de inicialização a frio específica durante a execução no plano de consumo. Defina como 0 para desabilitar a otimização de inicialização a frio no plano de consumo.

Chave Valor de exemplo
WEBSITE_USE_PLACEHOLDER 1

WEBSITE_VNET_ROUTE_ALL

Importante

WEBSITE_VNET_ROUTE_ALL é uma configuração de aplicativo herdada que foi substituída pela configuração de site vnetRouteAllEnabled.

Indica se todo o tráfego de saída do aplicativo é roteado por meio da rede virtual. Um valor de configuração 1 indica que todo o tráfego é roteado por meio da rede virtual. Você precisa dessa configuração ao usar recursos de Integração da rede virtual regional. Ela também é usada quando um gateway de NAT de rede virtual é usado para definir um endereço IP de saída estático.

Chave Valor de exemplo
WEBSITE_VNET_ROUTE_ALL 1

Configurações do site do Serviço de Aplicativo

Algumas configurações deverão ser mantidas no nível do Serviço de Aplicativo como configurações de site como, por exemplo, as versões de idioma. Essas configurações são gerenciadas no portal usando as APIs REST, a CLI do Azure ou o Azure PowerShell. Veja a seguir as configurações de site que poderão ser necessárias, dependendo do idioma de tempo de execução, sistema operacional e versões:

linuxFxVersion

Para aplicativos de funções em execução no Linux, linuxFxVersion indica o idioma e a versão do processo de trabalho específico do idioma. Essas informações são usadas juntamente com FUNCTIONS_EXTENSION_VERSION para determinar qual imagem de contêiner específica do Linux está instalada para executar o aplicativo de funções. Essa configuração poderá ser definida para um valor predefinido ou um URI de imagem personalizado.

Esse valor será definido quando você criar o aplicativo de funções do Linux. Talvez seja necessário defini-lo para implantações de modelo do ARM e Bicep e em determinados cenários de atualização.

Valores de linuxFxVersion válidos

É possível usar o seguinte comando da CLI do Azure para ver uma tabela de valores atuais de linuxFxVersion, por versão do Azure Functions Runtime com suporte:

az functionapp list-runtimes --os linux --query "[].{stack:join(' ', [runtime, version]), LinuxFxVersion:linux_fx_version, SupportedFunctionsVersions:to_string(supported_functions_versions[])}" --output table

O comando anterior exigirá que você atualize para a versão 2.40 da CLI do Azure.

Imagens personalizadas

Quando você criar e mantiver seu próprio contêiner do Linux personalizado do seu aplicativo de funções, o valor de linuxFxVersion também estará no formato DOCKER|<IMAGE_URI>, como no exemplo a seguir:

linuxFxVersion = "DOCKER|contoso.com/azurefunctionsimage:v1.0.0"

Para obter mais informações, consulte Criar uma função no Linux usando um contêiner personalizado.

Importante

Ao usar contêineres personalizados, será necessário manter a imagem de base do contêiner atualizada para a imagem de base com suporte mais recente. As imagens base com suporte para o Azure Functions são específicas a uma linguagem e encontradas nos repositórios de imagem base do Azure Functions, por linguagem:

A equipe do Functions está comprometida em publicar atualizações mensais para essas imagens base. As atualizações regularem incluem as atualizações de versão secundária mais recentes e as correções de segurança para linguagens e runtime do Functions. Para contêineres personalizados, será necessário atualizar regularmente a imagem base no Dockerfile, recompilar e reimplantar as versões atualizadas dos contêineres personalizados.

netFrameworkVersion

Define a versão específica do .NET para funções C#. Para saber mais, confira Atualizar seu aplicativo de funções no Azure.

powerShellVersion

Define a versão específica do PowerShell na qual as funções executam. Para obter mais informações, consulte Alterar a versão do PowerShell.

Ao executar localmente, você usará a configuração FUNCTIONS_WORKER_RUNTIME_VERSION no arquivo local.settings.json.

vnetrouteallenabled

Indica se todo o tráfego de saída do aplicativo é roteado por meio da rede virtual. Um valor de configuração 1 indica que todo o tráfego é roteado por meio da rede virtual. Você precisa dessa configuração ao usar recursos de Integração da rede virtual regional. Ela também é usada quando um gateway de NAT de rede virtual é usado para definir um endereço IP de saída estático. Para saber mais, confira Configurar o roteamento de aplicativos.

Essa configuração de site substitui a configuração WEBSITE_VNET_ROUTE_ALL herdada.

Próximas etapas

Saiba como atualizar as configurações do aplicativo

Consulte as configurações no arquivo host.json

Consulte outras configurações de aplicativo para aplicativos do Serviço de Aplicativo