Partilhar via


Referência das definições de aplicação para as Funções do Azure

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

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

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

Neste artigo, exemplos de valores de cadeia de conexão são truncados para facilitar a leitura.

Como o Azure Functions usa a plataforma do Serviço de Aplicativo do Azure para hospedagem, você pode encontrar algumas configurações relevantes para sua hospedagem de aplicativo de função 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ção exigem que seu aplicativo de função seja reiniciado.

  • Na definição de nomes, o sublinhado duplo (__) e os 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 Windows. 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, uma vez que são suportados em ambos os sistemas operacionais. A maioria das configurações que oferecem suporte a conexões de identidade gerenciadas usa sublinhados duplos.

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

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

  • Você pode usar as configurações do aplicativo para substituir host.json valores de configuração sem ter que alterar o próprio arquivo host.json. Isso é útil para cenários em que você precisa definir ou modificar configurações de host.json específicas para um ambiente específico. Isso também permite que você altere host.json configurações sem ter que publicar novamente seu projeto. Para saber mais, consulte o host.json artigo de referência.

  • Este artigo documenta as configurações mais relevantes para seus aplicativos de função. Como o Azure Functions é executado no Serviço de Aplicativo, outras configurações de aplicativo também são suportadas. Para obter mais informações, consulte 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 do site do Serviço de Aplicativo.

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

  • Tenha cuidado ao atualizar as configurações do aplicativo usando APIs REST, incluindo modelos 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 ARM. Sempre que 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, consulte Trabalhar com configurações do aplicativo.

APPINSIGHTS_INSTRUMENTATIONKEY

A chave de instrumentação para o Application Insights. Não use ambos APPINSIGHTS_INSTRUMENTATIONKEY e APPLICATIONINSIGHTS_CONNECTION_STRING. Sempre que possível, utilize APPLICATIONINSIGHTS_CONNECTION_STRING. Quando o Application Insights é executado em uma nuvem soberana, você deve usar APPLICATIONINSIGHTS_CONNECTION_STRINGo . Para obter mais informações, consulte Como configurar o monitoramento para o Azure Functions.

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

Não use ambos APPINSIGHTS_INSTRUMENTATIONKEY e APPLICATIONINSIGHTS_CONNECTION_STRING. Recomenda-se a utilização de APPLICATIONINSIGHTS_CONNECTION_STRING seringas.

APPLICATIONINSIGHTS_AUTHENTICATION_STRING

Permite o acesso ao Application Insights usando a autenticação do Microsoft Entra. Use essa configuração quando precisar se conectar ao espaço de trabalho 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_STRINGo , o valor específico definido depende do tipo de identidade gerenciada:

Identidade gerida Valor da definição
Atribuída pelo sistema Authorization=AAD
Atribuída pelo utilizador Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID>

Esse requisito de autenticação é aplicado a conexões do host Functions, do depurador de instantâneo, do criador de perfis 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ção, com uma função atribuída equivalente ao Monitoring Metrics Publisher.

Nota

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 para o Application Insights. Não use ambos APPINSIGHTS_INSTRUMENTATIONKEY e APPLICATIONINSIGHTS_CONNECTION_STRING. Embora o uso de APPLICATIONINSIGHTS_CONNECTION_STRING seja recomendado em todos os casos, é necessário nos seguintes casos:

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

Para obter mais informações, consulte Cadeias de conexão.

Chave Valores de exemplo
APPLICATIONINSIGHTS_CONNECTION_STRING InstrumentationKey=...

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

AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL

Importante

Os proxies do Azure Functions são um recurso herdado para as versões 1.x a 3.x do tempo de execução do Azure Functions. Para obter mais informações sobre suporte herdado na versão 4.x, consulte Proxies de funções.

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

Key valor Description
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL true As chamadas com um URL de back-end apontando para uma função no aplicativo de função local não serão enviadas diretamente para a função. Em vez disso, as solicitações são direcionadas de volta para o frontend HTTP para o aplicativo de função.
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL false As chamadas com um URL de back-end apontando para uma função no aplicativo de função local são encaminhadas diretamente para a 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 as versões 1.x a 3.x do tempo de execução do Azure Functions. Para obter mais informações sobre suporte herdado na versão 4.x, consulte Proxies de funções.

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

Key valor Description
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES true Os 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 inalterados, que é o comportamento padrão.

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

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

Quando AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES estiver definido como true, o URL example.com/api%2ftest será resolvido como example.com/api/test. Por padrão, a URL permanece inalterada como example.com/test%2fapi. Para obter mais informações, consulte Proxies de funções.

AZURE_FUNCTIONS_ENVIRONMENT

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

valor Description
Production Representa um ambiente de produção, com registro em log reduzido e otimizações de desempenho completas. Este é o padrão quando AZURE_FUNCTIONS_ENVIRONMENT não está definido ou está definido como um valor sem suporte.
Staging Representa um ambiente de preparação, como quando executado em um slot de preparação.
Development Um ambiente de desenvolvimento suporta um registro em log mais detalhado e outras otimizações de desempenho reduzidas. As Ferramentas Principais do Azure Functions são definidas AZURE_FUNCTIONS_ENVIRONMENT como Development quando executadas no computador local. Essa configuração não pode ser substituída no arquivo local.settings.json.

Use essa configuração em vez de quando precisar alterar o ambiente de tempo de execução no Azure para algo diferente de ASPNETCORE_ENVIRONMENT Production. Para obter mais informações, consulte Classe e métodos de inicialização baseados em ambiente.

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

AzureFunctionsJobHost__*

Na versão 2.x e versões posteriores do tempo de execução do Functions, as configurações do aplicativo podem substituir host.json configurações no ambiente atual. Essas substituições são expressas como configurações de aplicativo nomeadas AzureFunctionsJobHost__path__to__setting. Para obter mais informações, veja Substituir valores host.json.

AzureFunctionsWebHost__hostid

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

Um ID de host deve atender aos seguintes requisitos:

  • Ter entre 1 e 32 caracteres
  • contêm apenas letras minúsculas, números e traços
  • Não começar ou terminar com um traço
  • Não contém traços consecutivos

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

Chave Valores de exemplo
AzureFunctionsWebHost__hostid myuniquefunctionappname123456789

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

AzureWebJobsDashboard

Essa configuração foi preterida e só tem suporte quando executada na versão 1.x do tempo de execução do Azure Functions.

Cadeia de conexão de conta de armazenamento opcional para armazenar logs e exibi-los na guia Monitor no portal. A conta de armazenamento deve ser de uso geral que ofereça suporte a blobs, filas e tabelas. Para saber mais, consulte Requisitos da conta de armazenamento.

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

AzureWebJobsDisableHomepage

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

Chave Valores de exemplo
AzureWebJobsDisableHomepage true

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

Página inicial do aplicativo de função

AzureWebJobsDotNetReleaseCompilation

true significa usar Release o modo ao compilar o código .NET; false significa usar o modo de depuração. A predefinição é true.

Chave Valores de exemplo
AzureWebJobsDotNetReleaseCompilation true

AzureWebJobsFeatureFlags

Uma lista delimitada por vírgulas de recursos beta para 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 ativados.

Chave Valores de exemplo
AzureWebJobsFeatureFlags feature1,feature2,EnableProxies

Adicione EnableProxies a esta lista para reativar proxies na versão 4.x do tempo de execução do Functions enquanto planeja sua migração para o Gerenciamento de API do Azure. Para obter mais informações, consulte Reativar proxies no Functions v4.x.

AzureWebJobsKubernetesSecretName

Indica o recurso Segredos do Kubernetes usado para armazenar chaves. Suportado apenas quando executado no Kubernetes. Essa configuração requer que você defina AzureWebJobsSecretStorageType como kubernetes. Quando AzureWebJobsKubernetesSecretName não está definido, o repositório é 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 implementação no Kubernetes.

Chave Valores de exemplo
AzureWebJobsKubernetesSecretName <SECRETS_RESOURCE>

Para saber mais, consulte Gerenciar armazenamento de chaves.

AzureWebJobsSecretStorageKeyVaultClientId

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

Chave Valores de exemplo
AzureWebJobsSecretStorageKeyVaultClientId <CLIENT_ID>

Para saber mais, consulte 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 onde as chaves são armazenadas. Essa configuração requer que você defina AzureWebJobsSecretStorageType como keyvault. Suportado na versão 4.x e versões posteriores do tempo de execução do Functions.

Chave Valores de exemplo
AzureWebJobsSecretStorageKeyVaultClientSecret <CLIENT_SECRET>

Para saber mais, consulte Gerenciar armazenamento de chaves.

AzureWebJobsSecretStorageKeyVaultName

Essa configuração foi preterida e só foi usada quando executada na versão 3.x do tempo de execução do Azure Functions.

O nome de uma instância do cofre de chaves usada para armazenar chaves. Essa configuração só foi usada na versão 3.x do tempo de execução do Functions, que não é mais suportado. 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 secretas: Get,Set, Liste Delete.
Quando suas funções são executadas localmente, a identidade do desenvolvedor é usada e as configurações devem estar no arquivo local.settings.json.

Chave Valores de exemplo
AzureWebJobsSecretStorageKeyVaultName <VAULT_NAME>

Para saber mais, consulte Gerenciar armazenamento de chaves.

AzureWebJobsSecretStorageKeyVaultTenantId

O ID do locatário do registro do aplicativo usado para acessar o cofre onde as chaves são armazenadas. Essa configuração requer que você defina AzureWebJobsSecretStorageType como keyvault. Suportado na versão 4.x e versões posteriores do tempo de execução do Functions. Para saber mais, consulte Gerenciar armazenamento de chaves.

Chave Valores de exemplo
AzureWebJobsSecretStorageKeyVaultTenantId <TENANT_ID>

AzureWebJobsSecretStorageKeyVaultUri

O URI de uma instância do cofre de chaves usado para armazenar chaves. Suportado na versão 4.x e versões posteriores do tempo de execução do Functions. Esta é 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 AzureWebJobsSecretStorageKeyVaultUri valor deve ser o valor completo do URI do Vault exibido na guia Visão geral do Cofre de Chaves, 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 secretas: Get,Set, Liste Delete.
Quando suas funções são executadas localmente, a identidade do desenvolvedor é usada e as configurações devem estar no arquivo local.settings.json.

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

Para saber mais, veja Utilizar referências de Key Vault para Funções do Azure.

AzureWebJobsSecretStorageSas

Uma URL SAS de armazenamento de Blob para uma segunda conta de armazenamento usada para armazenamento de chaves. Por padrão, o Functions usa a conta definida em AzureWebJobsStorage. Ao usar essa opção de armazenamento secreto, verifique se AzureWebJobsSecretStorageType ela não está explicitamente definida ou definida como blob. Para saber mais, consulte Gerenciar armazenamento de chaves.

Chave Valores de exemplo
AzureWebJobsSecretStorageSas <BLOB_SAS_URL>

AzureWebJobsSecretStorageType

Especifica o repositório ou provedor a ser usado para armazenamento de chaves. As chaves são sempre criptografadas antes de serem armazenadas usando um segredo exclusivo para seu aplicativo de função.

Key valor Description
AzureWebJobsSecretStorageType blob As chaves são armazenadas em um contêiner de armazenamento de Blob na conta fornecida pela AzureWebJobsStorage configuração. O armazenamento de blobs é o comportamento padrão quando AzureWebJobsSecretStorageType não está definido.
Para especificar uma conta de armazenamento diferente, use a AzureWebJobsSecretStorageSas configuração para indicar a URL SAS de uma segunda conta de armazenamento.
AzureWebJobsSecretStorageType files As chaves são mantidas no sistema de arquivos. Este é o comportamento padrão do Functions v1.x.
AzureWebJobsSecretStorageType keyvault As chaves são armazenadas em uma instância do cofre de chaves definida pelo AzureWebJobsSecretStorageKeyVaultName.
AzureWebJobsSecretStorageType kubernetes Suportado apenas ao executar o runtime das Funções no Kubernetes. Quando AzureWebJobsKubernetesSecretName não está definido, o repositório é 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 implementação no Kubernetes.

Para saber mais, consulte Gerenciar armazenamento de chaves.

AzureWebJobsStorage

Especifica a cadeia de conexão para uma conta de Armazenamento do Azure que o tempo de execução do Functions usa para operações normais. Alguns usos dessa conta de armazenamento pelo Functions incluem gerenciamento de chaves, gerenciamento de gatilho de temporizador e pontos de verificação de Hubs de Eventos. A conta de armazenamento deve ser de uso geral que ofereça suporte a blobs, filas e tabelas. Para obter mais informações, consulte Requisitos da conta de armazenamento.

Chave Valores 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 Ligar ao armazenamento do anfitrião 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 e AzureWebJobsStorage não pode ser usada para outras conexões baseadas em identidade.

Chave Valores de exemplo
AzureWebJobsStorage__accountName <STORAGE_ACCOUNT_NAME>

Para nuvens soberanas ou ao usar um DNS personalizado, você deve usar as configurações específicas AzureWebJobsStorage__*ServiceUri 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 Valores 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 ao usar um DNS personalizado. Para obter mais informações, consulte Ligar ao armazenamento do anfitrião 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 Valores 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 ao usar um DNS personalizado. Para obter mais informações, consulte Ligar ao armazenamento do anfitrião 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 Valores 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 ao usar um DNS personalizado. Para obter mais informações, consulte Ligar ao armazenamento do anfitrião com uma identidade.

AzureWebJobs_TypeScriptPath

Caminho para o compilador usado para TypeScript. Permite que você substitua o padrão, se necessário.

Chave Valores 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ó é necessária ao implantar seu aplicativo de função em contêiner a partir de um registro de contêiner privado. Para obter mais informações, consulte 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ó é necessária ao implantar seu aplicativo de função em contêiner a partir de um registro de contêiner privado. Para obter mais informações, consulte 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ó é necessária ao implantar seu aplicativo de função em contêiner a partir de um registro de contêiner privado. Para obter mais informações, consulte Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.

DOCKER_SHM_SIZE

Define o tamanho da memória compartilhada (em bytes) quando o trabalhador Python está usando memória compartilhada. Para saber mais, consulte Memória compartilhada.

Chave Valores de exemplo
DOCKER_SHM_SIZE 268435456

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

Requer que FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED seja definido como 1.

ENABLE_ORYX_BUILD

Indica se o sistema de compilação Oryx é usado durante a implantação. ENABLE_ORYX_BUILD deve ser definido como true ao fazer implantações de compilação remota no Linux. Para obter mais informações, consulte Compilação remota.

Chave Valores de exemplo
ENABLE_ORYX_BUILD true

FUNCTION_APP_EDIT_MODE

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

Chave Valores de exemplo
FUNCTION_APP_EDIT_MODE readonly

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

FUNCTIONS_EXTENSION_VERSION

A versão do tempo de execução do Functions que hospeda seu aplicativo de função. Um til (~) com a versão principal significa usar a versão mais recente dessa versão principal (por exemplo, ~4). Quando novas versões secundárias da mesma versão principal estão disponíveis, elas são instaladas automaticamente no aplicativo de função.

Chave Valores de exemplo
FUNCTIONS_EXTENSION_VERSION ~4

Os seguintes valores principais de versão de tempo de execução são suportados:

Value Destino do tempo de execução Comentário
~4 4.x Recomendado
~1 1.x Apoio termina a 14 de setembro de 2026

Um valor de ~4 significa que seu aplicativo é executado na versão 4.x do tempo de execução. Um valor de ~1 fixa seu aplicativo na versão 1.x do tempo de execução. As versões de tempo de execução 2.x e 3.x não são mais suportadas. Para obter mais informações, consulte Visão geral das versões de tempo de execução do Azure Functions. Se solicitado pelo suporte para fixar seu aplicativo em uma versão secundária específica, use o número da versão completa (por exemplo, 4.0.12345). Para obter mais informações, veja Como segmentar as versões do runtime das Funções do Azure.

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 deve ser definido como 1. Consulte Atualizando para o .NET 8 de destino para obter instruções completas, incluindo outros valores de configuração necessários.

Chave Valores de exemplo
FUNCTIONS_INPROC_NET8_ENABLED 1

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

FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR

Esta configuração de aplicativo é uma maneira temporária de Node.js aplicativos habilitarem uma alteração de quebra que torna os erros de ponto de entrada mais fáceis de solucionar em Node.js v18 ou inferior. É altamente recomendável usar true, especialmente para aplicativos de modelo v4 de programação, que sempre usam arquivos de ponto de entrada. O comportamento sem a alteração de quebra (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 de quebra está sempre ativado.

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

  • Se o erro for gerado antes (por exemplo, se você estiver usando o modelo v3 ou se o arquivo do ponto de entrada não existir), o comportamento padrão corresponderá ao false.
  • Se o erro for gerado depois (por exemplo, se você tentar registrar funções duplicadas do modelo v4), o comportamento padrão corresponderá trueao .
Key valor Description
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR true Bloqueie erros de ponto de entrada e registre-os no Application Insights.
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR false Ignore erros de ponto de entrada e não os registre no Application Insights.

FUNCTIONS_REQUEST_BODY_SIZE_LIMIT

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

Chave Valores de exemplo
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT 250000000

FUNCTIONS_V2_COMPATIBILITY_MODE

Importante

Essa configuração não é mais suportada. Ele foi originalmente fornecido para habilitar uma solução alternativa de curto prazo para aplicativos que visavam o tempo de execução v2.x para poder ser executado no tempo de execução v3.x enquanto ainda era suportado. Com exceção dos aplicativos herdados executados na versão 1.x, todos os aplicativos de função devem ser executados na versão 4.x do tempo de execução do Functions: FUNCTIONS_EXTENSION_VERSION=~4. Para obter mais informações, consulte Visão geral das versões de tempo de execução do Azure Functions.

FUNCTIONS_WORKER_PROCESS_COUNT

Especifica o número máximo de processos de trabalho de idioma, com um valor padrão de 1. O valor máximo permitido é 10. As invocações de função são distribuídas uniformemente entre os processos de trabalho linguístico. Os processos de trabalho linguístico são gerados a cada 10 segundos até que a contagem definida por FUNCTIONS_WORKER_PROCESS_COUNT seja atingida. Usar vários processos de trabalho de idiomas não é o mesmo que dimensionamento. Considere usar essa configuração quando sua carga de trabalho tiver uma combinação de invocações ligadas à CPU e à E/S. Essa configuração se aplica a todos os tempos de execução de linguagem, exceto para .NET em execução no processo (FUNCTIONS_WORKER_RUNTIME=dotnet).

Chave Valores de exemplo
FUNCTIONS_WORKER_PROCESS_COUNT 2

FUNCTIONS_WORKER_RUNTIME

O idioma ou pilha de idiomas do tempo de execução do trabalhador a ser carregado no aplicativo de função. Isto corresponde à língua que está a ser utilizada na sua aplicação (por exemplo, python). A partir da versão 2.x do tempo de execução do Azure Functions, um determinado aplicativo de função só pode dar suporte a um único idioma.

Chave Valores de exemplo
FUNCTIONS_WORKER_RUNTIME node

Valores válidos:

Value Pilha de idiomas/idiomas
dotnet C# (biblioteca de classes)
C# (script)
dotnet-isolated C# (processo de trabalho isolado)
java Java
node JavaScript
TypeScript
powershell PowerShell
python Python
custom Outro

FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED

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

Chave Valores 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, consulte Memória compartilhada.

JAVA_OPTS

Usado para personalizar a máquina virtual Java (JVM) usada para executar suas funções Java ao executar em um plano Premium ou plano dedicado. Ao executar em um plano de consumo, use languageWorkers__java__arguments. Para obter mais informações, consulte Personalizar JVM.

languageWorkers__java__arguments

Usado para personalizar a máquina virtual Java (JVM) usada para executar suas funções Java ao executar 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, use JAVA_OPTSo . Para obter mais informações, consulte Personalizar JVM.

MDMaxBackgroundUpgradePeriod

Controla o período de atualização em segundo plano das dependências gerenciadas para aplicativos de função 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 depois MDMaxBackgroundUpgradePeriod disso. Quando uma nova versão do módulo está disponível na Galeria do PowerShell, ela é instalada no sistema de arquivos e disponibilizada para os trabalhadores do PowerShell. Diminuir esse valor permite que seu aplicativo de função obtenha versões mais recentes do módulo mais cedo, 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 para seu aplicativo.

Chave Valores de exemplo
MDMaxBackgroundUpgradePeriod 7.00:00:00

Para saber mais, consulte Gerenciamento de dependência.

MDNewSnapshotCheckPeriod

Especifica a frequência com que cada trabalhador do PowerShell verifica se as atualizações de dependência gerenciadas foram instaladas. A frequência padrão é 01:00:00 (horária).

Depois que novas versões de módulo são instaladas no sistema de arquivos, cada processo de trabalho do PowerShell deve ser reiniciado. A reinicialização dos trabalhadores do PowerShell afeta a disponibilidade do aplicativo, pois pode interromper a execução da função atual. Até que todos os processos de trabalho do PowerShell sejam reiniciados, as invocações de função podem usar as versões antiga ou nova do módulo. A reinicialização de todos os trabalhadores do PowerShell é concluída no MDNewSnapshotCheckPeriod.

Em cada MDNewSnapshotCheckPeriod, o trabalhador do PowerShell verifica se as atualizações de dependência gerenciadas foram instaladas ou não. Quando as atualizações são instaladas, uma reinicialização é iniciada. Aumentar esse valor diminui a frequência de interrupções por causa de 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 antiga ou nova do módulo, não deterministicamente.

Chave Valores de exemplo
MDNewSnapshotCheckPeriod 01:00:00

Para saber mais, consulte Gerenciamento de dependência.

MDMinBackgroundUpgradePeriod

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

Para evitar atualizações excessivas de módulo em reinicializações frequentes do Worker, a verificação de atualizações de módulo não é realizada quando algum trabalhador já iniciou essa verificação no último MDMinBackgroundUpgradePeriod.

Chave Valores de exemplo
MDMinBackgroundUpgradePeriod 1.00:00:00

Para saber mais, consulte Gerenciamento de dependência.

PIP_INDEX_URL

Essa configuração permite substituir a URL base do Índice de Pacote Python, que por padrão é https://pypi.org/simple. Use essa configuração quando precisar executar uma compilação remota usando dependências personalizadas. Essas dependências personalizadas podem estar em um repositório de índice de pacotes compatível com PEP 503 (a API de repositório simples) ou em um diretório local que segue o mesmo formato.

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

Para saber mais, consulte pip a documentação para --index-url e usando dependências personalizadas na referência do desenvolvedor Python.

PIP_EXTRA_INDEX_URL

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

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

Para saber mais, consulte pip a documentação e --extra-index-url as dependências personalizadas na referência do desenvolvedor Python.

PROJECT

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 Valores de exemplo
PROJECT WebProject/WebProject.csproj

PYTHON_ISOLATE_WORKER_DEPENDENCIES

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

Key valor Description
PYTHON_ISOLATE_WORKER_DEPENDENCIES 0 Priorize o carregamento das bibliotecas Python das dependências internas do trabalhador do Python, que é o comportamento padrão. As bibliotecas de terceiros definidas em requirements.txt podem ser sombreadas.
PYTHON_ISOLATE_WORKER_DEPENDENCIES 1 Priorize o carregamento das bibliotecas Python do pacote do aplicativo definido no requirements.txt. Isso evita que suas bibliotecas colidam com as bibliotecas internas do Python worker.

PYTHON_ENABLE_DEBUG_LOGGING

Permite o registro em log no nível de depuração em um aplicativo de função Python. Um valor de habilita o registro em log no nível de 1 depuração. Sem essa configuração ou com um valor de , somente informações e logs de 0nível superior são enviados do trabalhador Python para o host Functions. Use essa configuração ao depurar ou rastrear suas execuções de função 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, consulte Como configurar o monitoramento para o Azure Functions.

PYTHON_ENABLE_WORKER_EXTENSIONS

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

Key valor Description
PYTHON_ENABLE_WORKER_EXTENSIONS 0 Desative qualquer extensão de trabalho do Python.
PYTHON_ENABLE_WORKER_EXTENSIONS 1 Permita que o Python worker carregue extensões do requirements.txt.

PYTHON_THREADPOOL_THREAD_COUNT

Especifica o número máximo de threads que um trabalhador da linguagem Python usaria para executar invocações de função, com um valor padrão de 1 para a versão 3.8 Python e abaixo. Para a versão 3.9 Python 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. A configuração permite que o Python expanda o número de threads para o valor especificado. A configuração só se aplica 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 co-rotinas.

Chave Valores de exemplo Valor máximo
PYTHON_THREADPOOL_THREAD_COUNT 2 32

SCALE_CONTROLLER_LOGGING_ENABLED

Essa configuração está atualmente em visualização.

Essa configuração controla o log do controlador de escala do Azure Functions. Para obter mais informações, consulte Dimensionar logs do controlador.

Chave Valores de exemplo
SCALE_CONTROLLER_LOGGING_ENABLED AppInsights:Verbose

O valor para esta chave é fornecido no formato <DESTINATION>:<VERBOSITY>, que é definido da seguinte forma:

Property Description
<DESTINATION> O destino para o qual os logs são enviados. Os valores válidos são AppInsights e Blob.
Ao usar AppInsightso , verifique se o Application Insights está habilitado em seu aplicativo de função.
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 AzureWebJobsStorage aplicativo.
<VERBOSITY> Especifica o nível de registro em log. Os valores suportados são None, Warninge Verbose.
Quando definido como Verbose, o controlador de escala registra um motivo para cada alteração na contagem de trabalhadores e informações sobre os gatilhos que influenciam essas decisões. Os logs detalhados incluem avisos de gatilho e os hashes usados pelos gatilhos antes e depois da execução do controlador de escala.

Gorjeta

Lembre-se de que, embora você deixe o registro em log do controlador de escala habilitado, isso afeta os custos potenciais de monitoramento do seu aplicativo de função. Considere habilitar o registro em log até que você tenha coletado dados suficientes para entender como o controlador de escala está se comportando e, em seguida, desativá-lo.

SCM_DO_BUILD_DURING_DEPLOYMENT

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

Chave Valores de exemplo
SCM_DO_BUILD_DURING_DEPLOYMENT true

SCM_LOGSTREAM_TIMEOUT

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

Chave Valores de exemplo
SCM_LOGSTREAM_TIMEOUT 1800

O valor da amostra acima de 1800 define um tempo limite de 30 minutos. Para obter mais informações, consulte Habilitar logs de execução de streaming no Azure Functions.

WEBSITE_CONTENTAZUREFILECONNECTIONSTRING

Cadeia de conexão para conta de armazenamento onde a função, o código do aplicativo e a configuração são armazenados em planos de dimensionamento controlados por eventos. Para obter mais informações, consulte Configuração de conexão da conta de armazenamento.

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

Essa configuração é necessária para aplicativos do plano Consumo e Elastic Premium executados em Windows e Linux. Não é necessário para aplicativos de plano dedicado, que não são dimensionados dinamicamente pelo Functions.

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

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

WEBSITE_CONTENTOVERVNET

Importante

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

Um valor de permite que seu aplicativo de função seja dimensionado quando você tem sua conta de 1 armazenamento restrita a uma rede virtual. Você deve habilitar essa configuração ao restringir sua conta de armazenamento a uma rede virtual. Apenas necessário quando se utiliza WEBSITE_CONTENTSHARE e WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Para saber mais, consulte Restringir sua conta de armazenamento a uma rede virtual.

Chave Valores de exemplo
WEBSITE_CONTENTOVERVNET 1

Essa configuração do aplicativo é necessária nos planos Elastic Premium e Dedicated (Serviço de Aplicativo) (Standard e superior). Não suportado quando executado em um plano de consumo.

Nota

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

WEBSITE_CONTENTSHARE

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

Chave Valores de exemplo
WEBSITE_CONTENTSHARE functionapp091999e2

Essa configuração é necessária para aplicativos do plano Consumo e Premium no Windows e Linux. Não é necessário para aplicativos de plano dedicado, que não são dimensionados dinamicamente pelo Functions.

O compartilhamento é criado quando seu aplicativo de função é criado. Alterar ou remover essa configuração pode fazer com que seu aplicativo de função não seja iniciado. Para saber mais, consulte este artigo de solução de problemas.

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

  • Quando você não define um WEBSITE_CONTENTSHARE valor para o aplicativo de função principal ou qualquer aplicativo em 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ê deve definir o WEBSITE_CONTENTSHARE valor como um valor predefinido, como quando você usa uma conta de armazenamento segura em uma rede virtual. Nesse caso, você deve definir um nome de compartilhamento exclusivo para o aplicativo de função 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 deve criar o próprio compartilhamento como parte de sua implantação automatizada. Para obter mais informações, consulte Implantações seguras.
  • Não faça WEBSITE_CONTENTSHARE uma configuração de slot.
  • Quando você especificar WEBSITE_CONTENTSHARE, o valor deve seguir esta orientação para nomes de compartilhamento.

WEBSITE_DNS_SERVER

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

Chave Valores 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ção usando modelos do Azure Resource Manager (ARM).

Chave Valores de exemplo
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED 0

WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT

O número máximo de instâncias para as quais o aplicativo pode ser dimensionado. O padrão não tem limite.

Importante

Esta definição está em pré-visualização. Uma propriedade de aplicativo para a função max scale out foi adicionada e é a maneira recomendada de limitar a expansão.

Chave Valores de exemplo
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 5

WEBSITE_NODE_DEFAULT_VERSION

Apenas Windows. Define a versão do Node.js a ser usada ao executar seu aplicativo de função no Windows. Você deve usar um til (~) para que o tempo de execução 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, não é necessário atualizar manualmente a versão secundária.

Chave Valores de exemplo
WEBSITE_NODE_DEFAULT_VERSION ~18

WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS

Ao executar uma troca de slot em um aplicativo de função 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 um recurso de log de aplicativo herdado, que é compartilhado pelo Functions e pelo Serviço de Aplicativo. Essa configuração substitui esse recurso de log herdado e permite que a troca ocorra.

Chave Valores de exemplo
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS 0

Adicione WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS um valor a 0 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 de slot de implantação (pegajosa).

WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS

Por padrão, as configurações de versão para aplicativos de função são específicas para cada slot. Essa configuração é usada ao atualizar funções usando slots de implantação. Isso evita um comportamento imprevisto devido à alteração de 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 obter mais informações, consulte Atualizar usando slots.

Chave Valores de exemplo
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS 0

WEBSITE_RUN_FROM_PACKAGE

Permite que seu aplicativo de função seja executado a partir de um arquivo de pacote, que pode ser montado localmente ou implantado em uma URL externa.

Chave Valores de exemplo
WEBSITE_RUN_FROM_PACKAGE 1

Os valores válidos são uma URL que resolve para o local de um arquivo de pacote de implantação externo ou 1. Quando definido como 1, o pacote deve estar na d:\home\data\SitePackages pasta. Quando você usa a implantação zip com WEBSITE_RUN_FROM_PACKAGE habilitado, o pacote é carregado automaticamente para esse local. Na visualização, essa configuração foi nomeada WEBSITE_RUN_FROM_ZIP. Para obter mais informações, consulte Executar suas funções a partir de um arquivo de pacote.

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

WEBSITE_SKIP_CONTENTSHARE_VALIDATION

As configurações de 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ção não pode chamar corretamente para a Conta de Armazenamento downstream ou Cofre de Chaves 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 será padronizado e 0 a validação ocorrerá.

Chave Valores 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 for válido, o aplicativo não poderá ser iniciado corretamente. Nesse caso, as funções retornam erros HTTP 500. Para obter mais informações, consulte Solucionar problemas de erro: "O Azure Functions Runtime está inacessível"

WEBSITE_SLOT_NAME

Só de Leitura. Nome do slot de implantação atual. O nome do slot de produção é Production.

Chave Valores de exemplo
WEBSITE_SLOT_NAME Production

WEBSITE_TIME_ZONE

Permite-lhe definir o fuso horário da aplicação de funções.

Chave SO Valores de exemplo
WEBSITE_TIME_ZONE Windows Eastern Standard Time
WEBSITE_TIME_ZONE Linux America/New_York

O fuso horário predefinido utilizado com as expressões CRON é Hora Universal Coordenada (UTC). Para ter sua expressão CRON baseada em outro fuso horário, crie uma configuração de aplicativo para seu aplicativo de função chamado WEBSITE_TIME_ZONE.

O valor desta definição depende do sistema operativo e do plano em que a aplicação de funções é executada.

Sistema operativo Planear Value
Windows Todos Defina o valor para o nome do fuso horário desejado, conforme dado pela segunda linha de cada par fornecido pelo comando do Windows tzutil.exe /L
Linux Premium
Dedicada
Defina o valor como o nome do fuso horário desejado, conforme mostrado no banco de dados tz.

Nota

WEBSITE_TIME_ZONE e TZ não são suportados atualmente quando executados em Linux em um plano de consumo. Nesse caso, definir WEBSITE_TIME_ZONE ou TZ pode criar problemas relacionados a SSL e fazer com que as métricas parem de funcionar para seu aplicativo.

Por exemplo, o horário do leste nos 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 horário de verão. Para que um temporizador acione o disparo às 10h00 (horário do leste) todos os dias, crie uma configuração de aplicativo para seu aplicativo de função chamado WEBSITE_TIME_ZONE, defina o valor como Eastern Standard Time (Windows) ou America/New_York (Linux) e 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 uma otimização de arranque a frio específica deve ser utilizada quando executada no plano de Consumo. Defina para 0 desativar a otimização de arranque a frio no plano de consumo.

Chave Valores de exemplo
WEBSITE_USE_PLACEHOLDER 1

WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED

Indica se uma otimização de inicialização a frio específica deve ser usada ao executar funções de processo de trabalho isoladas do .NET no plano de consumo. Defina para 0 desativar a otimização de arranque a frio no plano de consumo.

Chave Valores de exemplo
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED 1

WEBSITE_VNET_ROUTE_ALL

Importante

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

Indica se todo o tráfego de saída do aplicativo é roteado pela rede virtual. Um valor de configuração indica que todo o tráfego do aplicativo é roteado 1 pela rede virtual. Você precisará dessa configuração ao configurar a integração de rede virtual regional nos planos de hospedagem Elastic Premium e dedicado. Ele também é usado quando um gateway NAT de rede virtual é usado para definir um endereço IP de saída estático.

Chave Valores de exemplo
WEBSITE_VNET_ROUTE_ALL 1

WEBSITES_ENABLE_APP_SERVICE_STORAGE

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

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

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

AcrUseManagedIdentityCreds

Indica se a imagem é obtida de uma instância do Registro de Contêiner do Azure usando a autenticação de identidade gerenciada. Um valor de requer que a identidade gerenciada seja usada, o que é recomendado sobre credenciais de autenticação armazenadas como uma prática recomendada de true segurança.

AcrUserManagedIdentityID

Indica a identidade gerenciada a ser usada ao obter a imagem de uma instância do Registro de Contêiner do Azure. Requer que AcrUseManagedIdentityCreds esteja definido como true. Estes são os valores válidos:

valor Description
system A identidade gerenciada atribuída ao sistema do aplicativo de função é usada.
<USER_IDENTITY_RESOURCE_ID> O ID de recurso totalmente qualificado de uma identidade gerenciada atribuída pelo usuário.

A identidade especificada deve ser adicionada ACRPull à função no registro de contêiner. Para obter mais informações, consulte Criar e configurar um aplicativo de função no Azure com a imagem.

sempreLigado

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

funçõesRuntimeAdminIsolationEnabled

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

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

linuxFxVersion

Para aplicativos de função executados no Linux, linuxFxVersion indica o idioma e a versão para o 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 Linux específica está instalada para executar seu aplicativo de função. Essa configuração pode ser definida como um valor predefinido ou um URI de imagem personalizado.

Esse valor é definido para você quando você cria seu aplicativo de função Linux. Talvez seja necessário defini-lo para implantações de modelo ARM e Bíceps e em determinados cenários de atualização.

Valores válidos do linuxFxVersion

Você pode usar o seguinte comando da CLI do Azure para ver uma tabela de valores atuais linuxFxVersion , por versão de tempo de execução do Functions suportada:

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 requer 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ção, o linuxFxVersion valor está no formato DOCKER|<IMAGE_URI>, como no exemplo a seguir:

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

Isso indica a origem do Registro do contêiner implantado. Para obter mais informações, consulte Trabalhando com contêineres e Azure Functions.

Importante

Ao criar seus próprios contêineres, é necessário manter a imagem base do contêiner atualizada para a imagem base suportada mais recente. As imagens de base com suporte para o Azure Functions são específicas do idioma e são encontradas nos repositórios de imagem base do Azure Functions.

A equipa do Functions está empenhada em publicar atualizações mensais para estas imagens base. As atualizações regulares incluem as últimas atualizações de versões secundárias e correções de segurança para o tempo de execução e os idiomas do Functions. Você deve atualizar regularmente seu contêiner a partir da imagem base mais recente e reimplantar a versão atualizada do contêiner.

netFrameworkVersion

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

powerShellVersion

Define a versão específica do PowerShell na qual suas funções são executadas. Para obter mais informações, consulte Alterando a versão do PowerShell.

Ao executar localmente, em vez disso, você usa a FUNCTIONS_WORKER_RUNTIME_VERSION configuração no arquivo local.settings.json.

vnetContentShareEnabled

Os aplicativos executados 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 WEBSITE_CONTENTSHARE aplicativo e sua cadeia de conexão é armazenada em WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Para rotear o tráfego entre seu aplicativo de função e o compartilhamento de conteúdo por meio de uma rede virtual, você também deve 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.

Nota

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

Esta propriedade de site substitui a configuração herdada WEBSITE_CONTENTOVERVNET .

vnetImagePullEnabled

O Functions suporta aplicativos funcionais executados em contêineres Linux. Para se conectar e extrair de um registro de contêiner dentro de uma rede virtual, você deve definir vnetImagePullEnabled como true. Esta propriedade do site é suportada nos planos de hospedagem Elastic Premium e Dedicado. O plano Flex Consumption não depende das propriedades do site ou das configurações do aplicativo para configurar a rede. Para obter mais informações, consulte Descontinuações do plano Flex Consumption.

vnetRouteAllEnabled

Indica se todo o tráfego de saída do aplicativo é roteado pela rede virtual. Um valor de configuração indica que todo o tráfego do aplicativo é roteado true pela rede virtual. Use essa configuração ao configurar a integração de rede virtual regional nos planos Elastic Premium e Dedicado. Ele também é usado quando um gateway NAT de rede virtual é usado para definir um endereço IP de saída estático. Para obter mais informações, consulte Configurar o roteamento de aplicativos.

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

Descontinuações do plano de consumo Flex

No plano Flex Consumption, estas propriedades do site e configurações do aplicativo foram preteridas e não devem ser usadas ao criar recursos de aplicativo de função:

Configuração/propriedade Razão
ENABLE_ORYX_BUILD Substituído pelo remoteBuild parâmetro ao implantar no Flex Consumption
FUNCTIONS_EXTENSION_VERSION A Configuração do Aplicativo é definida pelo back-end. Um valor de ~1 pode ser ignorado.
FUNCTIONS_WORKER_RUNTIME Substituída por name in properties.functionAppConfig.runtime
FUNCTIONS_WORKER_RUNTIME_VERSION Substituída por version in 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 remoteBuild parâmetro ao implantar no Flex Consumption
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING Substituído pela seção de implantação do functionAppConfig
WEBSITE_CONTENTOVERVNET Não utilizado para redes no Flex Consumption
WEBSITE_CONTENTSHARE Substituído pela seção de implantação do functionAppConfig
WEBSITE_DNS_SERVER O DNS é herdado da rede virtual integrada no Flex
WEBSITE_NODE_DEFAULT_VERSION Substituída por version in properties.functionAppConfig.runtime
WEBSITE_RUN_FROM_PACKAGE Não usado para implantações no Flex Consumption
WEBSITE_SKIP_CONTENTSHARE_VALIDATION O compartilhamento de conteúdo não é usado no Flex Consumption
WEBSITE_VNET_ROUTE_ALL Não utilizado para redes no Flex Consumption
properties.alwaysOn Não válido
properties.containerSize Renomeado como instanceMemoryMB
properties.ftpsState FTPS não suportados
properties.isReserved Não válido
properties.IsXenon Não válido
properties.javaVersion Substituída por version in properties.functionAppConfig.runtime
properties.LinuxFxVersion Substituída por properties.functionAppConfig.runtime
properties.netFrameworkVersion Substituída por version in properties.functionAppConfig.runtime
properties.powerShellVersion Substituída por version in properties.functionAppConfig.runtime
properties.siteConfig.functionAppScaleLimit Renomeado como maximumInstanceCount
properties.siteConfig.preWarmedInstanceCount Renomeado como alwaysReadyInstances
properties.use32BitWorkerProcess 32 bits não suportado
properties.vnetBackupRestoreEnabled Não utilizado para redes no Flex Consumption
properties.vnetContentShareEnabled Não utilizado para redes no Flex Consumption
properties.vnetImagePullEnabled Não utilizado para redes no Flex Consumption
properties.vnetRouteAllEnabled Não utilizado para redes no Flex Consumption
properties.windowsFxVersion Não válido

Próximos passos

Saiba como atualizar as configurações do aplicativo

Consulte as definições de configuração no arquivo host.json

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