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.

Como o Azure Functions aproveita a plataforma do Serviço de Aplicativo do Azure para hospedagem, você pode encontrar algumas configurações relevantes para a hospedagem do seu aplicativo de funções documentadas em Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.

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 dois-pontos (:) 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. A maioria das configurações que dá suporte a conexões de identidade gerenciada usa sublinhados duplos.

  • 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 possuem 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 do aplicativo somente leitura do Serviço de Aplicativo 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.

APPLICATIONINSIGHTS_AUTHENTICATION_STRING

Habilita o acesso ao Application Insights usando a autenticação do Microsoft Entra. Use essa configuração quando precisar se conectar ao workspace do Application Insights usando a autenticação do Microsoft Entra. Para obter mais informações, consulte Autenticação do Microsoft Entra para Application Insights.

Quando você usa APPLICATIONINSIGHTS_AUTHENTICATION_STRING, o valor específico definido depende do tipo de identidade gerenciada:

Identidade gerenciada Valor da configuração
System-assigned Authorization=AAD
Atribuída pelo usuário Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID>

Esse requisito de autenticação é aplicado às conexões do host do Functions, do depurador de instantâneos, do criador de perfil e de quaisquer agentes específicos do idioma. Para usar essa configuração, a identidade gerenciada já deve estar disponível para o aplicativo de funções com uma função atribuída equivalente ao Editor de Métricas de Monitoramento.

Observação

Ao usar APPLICATIONINSIGHTS_AUTHENTICATION_STRING para se conectar ao Application Insights usando a autenticação do Microsoft Entra, você também deve Desabilitar a autenticação local para o Application Insights. Essa configuração requer a autenticação do Microsoft Entra para que a telemetria seja ingerida em seu espaço de trabalho.

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=...

Para se conectar ao Application Insights com a autenticação do Microsoft Entra, você deve usar APPLICATIONINSIGHTS_AUTHENTICATION_STRING.

AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL

Importante

Os proxies do Azure Functions são um recurso herdado para versões 1.x a 3.x do Azure Functions runtime. Para obter mais informações sobre o suporte herdado na versão 4.x, veja Proxies do Functions.

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

Importante

Os proxies do Azure Functions são um recurso herdado para versões 1.x a 3.x do Azure Functions runtime. Para obter mais informações sobre o suporte herdado na versão 4.x, veja Proxies do Functions.

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

Configura o ambiente de hospedagem do runtime do aplicativo de funções durante a execução no Azure. Esse valor é lido durante a inicialização e somente esses valores são respeitados pelo runtime:

Valor Descrição
Production Representa um ambiente de produção, com log reduzido e otimizações de desempenho completas. Esse é o padrão quando AZURE_FUNCTIONS_ENVIRONMENT não está definido ou é definido como um valor sem suporte.
Staging Representa um ambiente de preparo, por exemplo, durante a execução em um slot de preparo.
Development Um ambiente de desenvolvimento dá suporte a logs mais detalhados e outras otimizações de desempenho reduzido. O Azure Functions Core Tools define AZURE_FUNCTIONS_ENVIRONMENT como Development durante a execução no computador local. Essa configuração não pode ser substituída no arquivo local.settings.json.

Use essa configuração em vez de ASPNETCORE_ENVIRONMENT quando precisar alterar o ambiente de runtime no Azure para algo diferente de Production. Para saber mais, veja Classe Startup e métodos baseados em ambiente.

Essa configuração não está disponível na versão 1.x do runtime do Functions.

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

Ela foi preterida e só há suporte para ela quando executada na versão 1.x do runtime do Azure Functions.

Cadeia de conexão da conta de armazenamento opcional para armazenar logs e exibi-los na guia Monitor do portal. 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=...

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 Gerenciar armazenamento de chaves.

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 Gerenciar armazenamento de chaves.

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 Gerenciar armazenamento de chaves.

AzureWebJobsSecretStorageKeyVaultName

Essa configuração foi preterida e só foi usada com a execução na versão 3.x do runtime do Azure Functions.

O nome de uma instância do cofre de chaves usada para armazenar as chaves. Essa configuração só foi usada na versão 3.x do runtime do Functions, a qual não tem mais suporte. 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 Gerenciar armazenamento de chaves.

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 Gerenciar armazenamento de chaves.

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 URI do Cofre exibido na guia Visão geral do Key Vault, incluindo https://.

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 Gerenciar armazenamento de chaves.

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 Gerenciar armazenamento de chaves.

AzureWebJobsStorage

Especifica a cadeia de conexão para uma conta do Armazenamento do Azure que o runtime do Functions usa para operações normais. Alguns usos dessa conta de armazenamento pelo Functions 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. Para saber mais, veja Requisitos da conta de armazenamento.

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

Em vez de uma cadeia de conexão, você pode usar uma conexão baseada em identidade para essa conta de armazenamento. Para obter mais informações, consulte Conectar-se ao armazenamento de host com uma identidade.

AzureWebJobsStorage__accountName

Ao usar uma conexão de armazenamento baseada em identidade, define o nome da conta de armazenamento em vez de usar a cadeia de conexão em AzureWebJobsStorage. Essa sintaxe é exclusiva para AzureWebJobsStorage e não pode ser usada para outras conexões baseadas em identidade.

Chave Valor de exemplo
AzureWebJobsStorage__accountName <STORAGE_ACCOUNT_NAME>

Em nuvens soberanas ou durante o uso de um DNS personalizado, é necessário usar as configurações de AzureWebJobsStorage__*ServiceUri específicas do serviço.

AzureWebJobsStorage__blobServiceUri

Ao usar uma conexão de armazenamento baseada em identidade, define o URI do plano de dados do serviço de blob da conta de armazenamento.

Chave Valor de exemplo
AzureWebJobsStorage__blobServiceUri https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net

Use essa configuração em vez de AzureWebJobsStorage__accountName em nuvens soberanas ou quando usar um DNS personalizado. Para obter mais informações, consulte Conectar-se ao armazenamento de host com uma identidade.

AzureWebJobsStorage__queueServiceUri

Ao usar uma conexão de armazenamento baseada em identidade, define o URI do plano de dados do serviço de fila da conta de armazenamento.

Chave Valor de exemplo
AzureWebJobsStorage__queueServiceUri https://<STORAGE_ACCOUNT_NAME>.queue.core.windows.net

Use essa configuração em vez de AzureWebJobsStorage__accountName em nuvens soberanas ou quando usar um DNS personalizado. Para obter mais informações, consulte Conectar-se ao armazenamento de host com uma identidade.

AzureWebJobsStorage__tableServiceUri

Ao usar uma conexão de armazenamento baseada em identidade, define o URI do plano de dados de um serviço de tabela da conta de armazenamento.

Chave Valor de exemplo
AzureWebJobsStorage__tableServiceUri https://<STORAGE_ACCOUNT_NAME>.table.core.windows.net

Use essa configuração em vez de AzureWebJobsStorage__accountName em nuvens soberanas ou quando usar um DNS personalizado. Para obter mais informações, consulte Conectar-se ao armazenamento de host com uma identidade.

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_REGISTRY_SERVER_PASSWORD

Indica a senha usada para acessar um registro de contêiner privado. Essa configuração só é obrigatória quando o aplicativo de funções conteinerizado é implantado por meio de um registro de contêiner privado. Para mais informações, confira Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.

DOCKER_REGISTRY_SERVER_URL

Indica a URL de um registro de contêiner privado. Essa configuração só é obrigatória quando o aplicativo de funções conteinerizado é implantado por meio de um registro de contêiner privado. Para mais informações, confira Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.

DOCKER_REGISTRY_SERVER_USERNAME

Indica a conta usada para acessar um registro de contêiner privado. Essa configuração só é obrigatória quando o aplicativo de funções conteinerizado é implantado por meio de um registro de contêiner privado. Para mais informações, confira Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.

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, consulte Compilação Remota.

Chave Valor de exemplo
ENABLE_ORYX_BUILD true

FUNCTION_APP_EDIT_MODE

Indica se você pode editar seu aplicativo de funções no portal do Azure. Os valores válidos são readwrite e readonly.

Chave Valor de exemplo
FUNCTION_APP_EDIT_MODE readonly

O valor é definido pelo runtime com base na pilha de linguagens e no status de implantação do aplicativo de funções. Para obter mais informações, veja Limitações de desenvolvimento no portal do Azure.

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, ~4). Quando novas versões secundárias da mesma versão principal estiverem disponíveis, elas serão instaladas automaticamente no aplicativo de funções.

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
~1 1.x O suporte termina em 14 de setembro de 2026

Um valor de ~4 significa que o aplicativo é executado na versão 4.x do runtime. Um valor de pinos ~1 seu aplicativo para a versão 1.x do runtime. Não há mais suporte para as versões de runtime 2.x e 3.x. Para obter mais informações, consulte Visão geral de versões do Azure Functions runtime. Se solicitado pelo suporte para fixar seu aplicativo em uma versão secundária específica, use o número de versão completo (por exemplo, 4.0.12345). Para obter mais informações, confira Como direcionar as versões de runtime do Azure Functions.

FUNCTIONS_INPROC_NET8_ENABLED

Indica se um aplicativo pode usar o .NET 8 no modelo em processo. Para usar o .NET 8 no modelo em processo, esse valor precisa ser definido como 1. Confira Atualização destinada ao .NET 8 para obter instruções completas, incluindo outros valores de configuração necessários.

Chave Valor de exemplo
FUNCTIONS_INPROC_NET8_ENABLED 1

Defina como 0 para desabilitar o suporte para o .NET 8 no modelo em processo.

FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR

Essa configuração de aplicativo é uma maneira temporária de Node.js aplicativos habilitarem uma alteração interruptiva que facilita a solução de erros de ponto de entrada em Node.js v18 ou inferior. É altamente recomendável usar true, especialmente para aplicativos de modelo de programação v4, que sempre usam arquivos de ponto de entrada. O comportamento sem a alteração interruptiva (false) ignora erros de ponto de entrada e não os registra no Application Insights.

A partir do Node.js v20, a configuração do aplicativo não tem efeito e o comportamento de alteração interruptiva está sempre habilitado.

Para o Node.js v18 ou inferior, é usada a configuração do aplicativo, e o comportamento padrão dependerá de se o erro ocorrer antes ou depois que uma função de modelo v4 tiver sido registrada:

  • Se o erro for gerado antes (por exemplo, se você estiver usando o modelo v3 ou o arquivo de ponto de entrada não existir), o comportamento padrão corresponderá a false.
  • Se o erro for gerado após (por exemplo, se você tentar registrar funções duplicadas do modelo v4), o comportamento padrão corresponderá a true.
Key Valor Descrição
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR true Bloquear erros de ponto de entrada e registrá-los no Application Insights.
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR false Ignorar erros de ponto de entrada e registrá-los no Application Insights.

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_V2_COMPATIBILITY_MODE

Importante

Não há mais suporte para essa configuração. Originalmente, ela foi fornecida para permitir uma solução alternativa de curto prazo em aplicativos direcionados ao runtime v2.x, de modo que eles pudessem ser executados no runtime v3.x enquanto ainda havia suporte para ele. Exceto os aplicativos herdados executados na versão 1.x, todos os aplicativos de funções precisam ser executados na versão 4.x do runtime do Functions: FUNCTIONS_EXTENSION_VERSION=~4. Para obter mais informações, consulte Visão geral de versões do Azure Functions runtime.

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 (FUNCTIONS_WORKER_RUNTIME=dotnet).

Chave Valor de exemplo
FUNCTIONS_WORKER_PROCESS_COUNT 2

RUNTIME_FUNCTIONS_WORKER

A linguagem ou a pilha de linguagens do runtime de trabalho a ser carregada no aplicativo de funções. Isso corresponde à linguagem que está sendo usada em seu aplicativo (por exemplo, python). 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 Linguagem/pilha de linguagens
dotnet C# (biblioteca de classes)
C# (script)
dotnet-isolated C# (processo de trabalho isolado)
java Java
node JavaScript
TypeScript
powershell PowerShell
python Python
custom Outros

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, de forma não determinística.

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.

PROJETO

Uma configuração de implantação contínua que informa ao serviço de implantação do Kudu a pasta em um repositório conectado para localizar o projeto implantável.

Chave Valor de exemplo
PROJETO WebProject/WebProject.csproj

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 obter mais informações, confira Habilitar logs de execução de streaming no Azure Functions.

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 a Configuração da conexão da conta de armazenamento.

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

Essa configuração é obrigatória para aplicativos dos planos Consumo e Elástico Premium em execução 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.

Os Arquivos do Azure não dão suporte ao uso de identidade gerenciada ao acessar o compartilhamento de arquivos. Para obter mais informações, veja Cenários de autenticação com suporte dos Arquivos do Azure.

WEBSITE_CONTENTOVERVNET

Importante

WEBSITE_CONTENTOVERVNET é uma configuração de aplicativo herdada que foi substituída pela propriedade do site vnetContentShareEnabled.

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. Somente obrigatória quando WEBSITE_CONTENTSHARE e WEBSITE_CONTENTAZUREFILECONNECTIONSTRING são usados. Para saber mais, confira Restringir a conta de armazenamento a uma rede virtual.

Chave Valor de exemplo
WEBSITE_CONTENTOVERVNET 1

Essa configuração de aplicativo é necessária nos planos Elastic Premium e Dedicado (Serviço de Aplicativo) (Standard e superior). Não tem suporte quando executado em um Plano de consumo.

Observação

Você deve tomar cuidado especial ao rotear para o compartilhamento de conteúdo em uma conta de armazenamento compartilhada por vários aplicativos de funções no mesmo plano. Para obter mais informações, veja Roteamento consistente por meio de redes virtuais no artigo Considerações sobre armazenamento.

WEBSITE_CONTENTSHARE

O nome do compartilhamento de arquivo que o Functions usa para armazenar o código do aplicativo de funções e os arquivos de configuração. Esse conteúdo é exigido por planos de escala controlados por eventos. Usado com WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. O padrão é uma cadeia de caracteres exclusiva gerada pelo runtime, que começa com o nome do aplicativo de funções. Para obter mais informações, confira a Configuração da conexão da conta de armazenamento.

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.

O compartilhamento é criado quando o aplicativo de funções é criado. 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 quando um modelo do ARM (Azure Resource Manager) é usado 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ê. Não definir WEBSITE_CONTENTSHARE é a abordagem recomendada para uma implantação de modelo ARM.
  • Há cenários em que você precisa definir o valor WEBSITE_CONTENTSHARE como um compartilhamento predefinido, por exemplo, ao usar 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. No caso de uma conta de armazenamento protegida por uma rede virtual, você também precisa criar o próprio compartilhamento como parte da implantação automatizada. Para obter mais informações, veja Implantações protegidas.
  • 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.

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 realizar uma troca de slot em um aplicativo de funções em execução em um plano Premium, a troca pode falhar quando a conta de armazenamento dedicada usada pelo aplicativo estiver restrita à rede. Essa falha é causada por uma funcionalidade de registo de aplicações herdada, que é partilhada tanto pelas Funções como pelo Serviço de Aplicativo. Essa configuração substitui esse recurso de log herdado e permite que a troca ocorra.

Chave Valor de exemplo
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS 0

Adicione WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS com um valor 0 a todos os slots para garantir que as configurações de diagnóstico herdadas não bloqueiem suas trocas. Você também pode adicionar essa configuração e valor apenas ao slot de produção como uma configuração slot de implantação (fixo).

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 seja executado em um arquivo de pacote, que pode ser montado localmente ou implantado em uma URL externa.

Chave Valor de exemplo
WEBSITE_RUN_FROM_PACKAGE 1

Os valores válidos são 1 ou uma URL que resolve o local de um arquivo de pacote de implantação externo. 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.

Ao implantar a partir de uma URL de pacote externo, você também deve sincronizar gatilhos manualmente. Para obter mais informações, consulte Sincronização de gatilho.

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 falha quando 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

No momento, não há suporte para WEBSITE_TIME_ZONE e TZ durante a execução no Linux em um plano de Consumo. Nesse caso, definir WEBSITE_TIME_ZONE ou TZ pode criar problemas relacionados ao SSL e fazer com que as métricas parem de funcionar para seu aplicativo.

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_USE_PLACEHOLDER_DOTNETISOLATED

Indica se uma otimização específica de inicialização a frio deve ser usada durante a execução de funções de processo de trabalho isoladas do .NET 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_DOTNETISOLATED 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 do aplicativo é roteado por meio da rede virtual. Você precisará dessa configuração ao configurar a Integração de rede virtual regional em planos de hospedagem Elastic Premium e Dedicado. 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

WEBSITES_ENABLE_APP_SERVICE_STORAGE

Indica se o diretório /home é compartilhado entre instâncias escaladas, com um valor padrão de true. Você deverá definir esse valor como false ao implantar seu aplicativo de funções em um contêiner.

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:

alwaysOn

Em um aplicativo de funções em execução em um plano Dedicado (Serviço de Aplicativo), o runtime do Functions fica ocioso após alguns minutos de inatividade, ponto em que apenas solicitações para um gatilho HTTP acordam seu aplicativo de funções. Para garantir que suas funções acionadas não HTTP sejam executadas corretamente, incluindo funções de acionamento de temporizador, habilite Always On para o aplicativo de funções definindo a configuração alwaysOn site para um valor detrue.

functionsRuntimeAdminIsolationEnabled

Determina se os pontos de extremidade do administrador interno (/admin) no seu aplicativo de funções podem ser acessados. Quando definido como false (o padrão), o aplicativo permite solicitações aos pontos de extremidade em /admin quando essas solicitações apresentam uma chave mestra na solicitação. Quando true, os pontos de extremidade /admin não podem ser acessados, mesmo com uma chave mestra.

Essa propriedade não pode ser definida para aplicativos em execução no SKU de Consumo em Linux e não pode ser definida para aplicativos em execução na versão 1.x do Azure Functions. Se você estiver usando a versão 1.x, primeiro deverá migrar para a versão 4.x.

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ê cria e mantém seu próprio contêiner Linux personalizado para seu aplicativo de funções, o valor de linuxFxVersion está no formato DOCKER|<IMAGE_URI>, como no exemplo a seguir:

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

Isto indica a origem do registro do contêiner implantado. Para obter mais informações, consulte Trabalhar com contêineres e Azure Functions.

Importante

Ao criar seus próprios contêineres, será necessário manter a imagem base do contêiner atualizada para a imagem 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.

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. Você deve atualizar regularmente o seu contêiner a partir da imagem base mais recente e reimplantar a versão atualizada do seu contêiner.

netFrameworkVersion

Define a versão específica do .NET para funções C#. Para obter mais informações, confira Atualizar o 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.

vnetContentShareEnabled

Os aplicativos em execução em um plano Premium usam um compartilhamento de arquivos para armazenar conteúdo. O nome desse compartilhamento de conteúdo é armazenado na configuração do aplicativo WEBSITE_CONTENTSHARE e a cadeia de conexão dele é armazenada em WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Para rotear o tráfego entre seu aplicativo de funções e o compartilhamento de conteúdo por meio de uma rede virtual, você também precisa definir vnetContentShareEnabled como true. Habilitar essa propriedade de site é um requisito ao restringir sua conta de armazenamento a uma rede virtual nos planos de hospedagem Elastic Premium e Dedicado.

Observação

Você deve tomar cuidado especial ao rotear para o compartilhamento de conteúdo em uma conta de armazenamento compartilhada por vários aplicativos de funções no mesmo plano. Para obter mais informações, veja Roteamento consistente por meio de redes virtuais no artigo Considerações sobre armazenamento.

Essa propriedade do site substitui a configuração herdada WEBSITE_CONTENTOVERVNET.

vnetImagePullEnabled

O Functions dá suporte a aplicativos de funções em execução em contêineres do Linux. Para se conectar e efetuar pull de um registro de contêiner dentro de uma rede virtual, você precisa definir vnetImagePullEnabled como true. Essa propriedade do site tem suporte nos planos de hospedagem Elastic Premium e Dedicado. O plano de Consumo Flex não depende das propriedades do site nem das configurações do aplicativo para definir a Rede. Para obter mais informações, confira Plano de Consumo Flex preteridos.

vnetRouteAllEnabled

Indica se todo o tráfego de saída do aplicativo é roteado por meio da rede virtual. Um valor de configuração true indica que todo o tráfego do aplicativo é roteado por meio da rede virtual. Use essa configuração ao configurar a Integração de rede virtual regional nos planos Elastic Premium e Dedicado. 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.

Preterimentos do plano de Consumo Flex

No Plano de Consumo Flex, essas propriedades do site e as configurações do aplicativo são preteridas e não devem ser usadas ao criar recursos do aplicativo de funções:

Configuração/propriedade Motivo
ENABLE_ORYX_BUILD Substituído pelo parâmetro remoteBuild ao implantar no Consumo Flex
FUNCTIONS_EXTENSION_VERSION A Configuração do Aplicativo é definida pelo back-end. Um valor de ~1 pode ser ignorado.
FUNCTIONS_WORKER_RUNTIME Substituído por name no properties.functionAppConfig.runtime
FUNCTIONS_WORKER_RUNTIME_VERSION Substituído por version no properties.functionAppConfig.runtime
FUNCTIONS_MAX_HTTP_CONCURRENCY Substituído pela seção de gatilho de escala e simultaneidade
FUNCTIONS_WORKER_PROCESS_COUNT Configuração não válida
FUNCTIONS_WORKER_DYNAMIC_CONCURRENCY_ENABLED Configuração não válida
SCM_DO_BUILD_DURING_DEPLOYMENT Substituído pelo parâmetro remoteBuild ao implantar no Consumo Flex
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Substituído pela seção de implantação do functionAppConfig
WEBSITE_CONTENTOVERVNET Não usado para rede no Consumo Flex
WEBSITE_CONTENTSHARE Substituído pela seção de implantação do functionAppConfig
WEBSITE_DNS_SERVER O DNS é herdado da VNet integrada no Flex
WEBSITE_NODE_DEFAULT_VERSION Substituído por version no properties.functionAppConfig.runtime
WEBSITE_RUN_FROM_PACKAGE Não usado para implantações no Consumo Flex
WEBSITE_SKIP_CONTENTSHARE_VALIDATION O compartilhamento de conteúdo não é usado no Consumo Flex
WEBSITE_VNET_ROUTE_ALL Não usado para rede no Consumo Flex
properties.alwaysOn Não válido
properties.containerSize Renomeado como instanceMemoryMB
properties.ftpsState Não há suporte para o FTPS
properties.isReserved Não válido
properties.IsXenon Não válido
properties.javaVersion Substituído por version no properties.functionAppConfig.runtime
properties.LinuxFxVersion Substituído por properties.functionAppConfig.runtime
properties.netFrameworkVersion Substituído por version no properties.functionAppConfig.runtime
properties.powerShellVersion Substituído por version no properties.functionAppConfig.runtime
properties.siteConfig.functionAppScaleLimit Renomeado como maximumInstanceCount
properties.siteConfig.preWarmedInstanceCount Renomeado como alwaysReadyInstances
properties.use32BitWorkerProcess Não há suporte para 32 bits
properties.vnetBackupRestoreEnabled Não usado para rede no Consumo Flex
properties.vnetContentShareEnabled Não usado para rede no Consumo Flex
properties.vnetImagePullEnabled Não usado para rede no Consumo Flex
properties.vnetRouteAllEnabled Não usado para rede no Consumo Flex
properties.windowsFxVersion Não válido

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