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.

O Azure Functions usa a plataforma do Serviço de Aplicativo do Azure para hospedagem. Você pode encontrar algumas configurações relevantes para hospedar seu aplicativo de função 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. Os dois pontos são interpretados da mesma forma 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 as funções são executadas localmente, as configurações do aplicativo são especificadas na coleção em Values.

  • 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. Essa abordagem é útil para cenários em que você precisa definir ou modificar configurações de host.json específicas para um ambiente específico. Essa abordagem também permite que você altere host.json configurações sem ter que publicar novamente seu projeto. Para saber mais, consulte o artigo de referência host.json.

  • 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 só de leituradefinição de aplicação do App Service pode colocar a sua aplicação de função num 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. 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, 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 numa nuvem soberana, você deve usar APPLICATIONINSIGHTS_CONNECTION_STRING. Para obter mais informações, consulte Como configurar o monitoramento para o Azure Functions.

Key Valor da amostra
APPINSIGHTS_INSTRUMENTATIONKEY 55555555-af77-484b-9032-64f83bb83bb

Não use ambos APPINSIGHTS_INSTRUMENTATIONKEY e APPLICATIONINSIGHTS_CONNECTION_STRING. Recomendamos que utilize APPLICATIONINSIGHTS_CONNECTION_STRING.

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 usas APPLICATIONINSIGHTS_AUTHENTICATION_STRING, o valor específico que definires depende do tipo de identidade gerida:

Identidade gerenciada Valor de configuração
System-assigned Authorization=AAD
User-assigned Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID>

Esse requisito de autenticação é aplicado a conexões do host das Funções, do depurador de instantâneo, do analisador de desempenho 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.

Note

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. Recomendamos o uso de APPLICATIONINSIGHTS_CONNECTION_STRING em todos os casos. É um requisito nos seguintes casos:

  • Quando a sua aplicação de funções requer as personalizações adicionais suportadas ao usar 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.

Key Valor da amostra
APPLICATIONINSIGHTS_CONNECTION_STRING InstrumentationKey=...

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

AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL

Important

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 diretamente para funções na mesma aplicação de funções. Esse atalho é usado em vez de criar uma nova solicitação HTTP. Essa configuração permite que você desabilite esse comportamento de atalho.

Key Value Description
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL true As chamadas com um URL de back-end apontando para uma função na aplicação de funções local não são encaminhadas 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 Chamamentos com um URL de backend apontando para uma função na aplicação de funções local são encaminhados diretamente para a função. false é o valor padrão.

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES

Important

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.

Esta configuração controla se os caracteres %2F são decodificados como barras nos parâmetros de rota quando são inseridos na URL do backend.

Key Value 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. O tempo de execução aceita apenas estes valores:

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

Use esta configuração em vez de ASPNETCORE_ENVIRONMENT quando precisar alterar o ambiente de tempo de execução no Azure para algo diferente de 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 runtime do Functions, as definições da aplicação podem substituir as definições no host.json no ambiente atual. Essas substituições são expressas como definições de aplicação nomeadas AzureFunctionsJobHost__path__to__setting. Para mais informações, consulte 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 deve conter 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.

Key Valor da amostra
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 opcional da conta de armazenamento para armazenar logs e exibi-los no separador Monitor no portal do Azure. 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.

Key Valor da amostra
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.

Key Valor da amostra
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.

A captura de ecrã mostra a landing page do Function App.

AzureWebJobsDotNetReleaseCompilation

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

Key Valor da amostra
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.

Key Valor da amostra
AzureWebJobsFeatureFlags feature1,feature2,EnableProxies

Se o seu aplicativo tiver essa configuração no momento, adicione novos sinalizadores ao final da lista delineada por vírgula.

Sinais de funcionalidades atualmente suportados:

Valor da bandeira Description
EnableProxies Reativa proxies na versão 4.x do tempo de execução do Functions enquanto você planeja sua migração para o Gerenciamento de API do Azure. Para obter mais informações, consulte Reativar proxies no Functions v4.x.
EnableAzureMonitorTimeIsoFormat Habilita o formato de hora ISO 8601 nos logs do Azure Monitor para aplicações Linux a correr num plano Dedicado (Serviço de Aplicação).

AzureWebJobsKubernetesSecretName

Indica o recurso Segredos do Kubernetes usado para armazenar chaves. Suportado apenas quando executado no Kubernetes.

Key Valor da amostra
AzureWebJobsKubernetesSecretName <SECRETS_RESOURCE>

Considerações ao usar um recurso Segredos do Kubernetes:

  • Você também deve definir 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.
  • Segredos imutáveis não são suportados e usá-los resulta em erros de tempo de execução.

Para saber mais, consulte Gerenciar armazenamento de chaves.

AzureWebJobsSecretStorageKeyVaultClientId

O ID do cliente da identidade gerida atribuída pelo utilizador ou o registo da aplicação usado para aceder ao 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.

Key Valor da amostra
AzureWebJobsSecretStorageKeyVaultClientId <CLIENT_ID>

Para saber mais, consulte Gerenciar armazenamento de chaves.

AzureWebJobsSecretStorageKeyVaultClientSecret

O segredo para a identificação do cliente da identidade gerida atribuída pelo utilizador ou o registo da aplicação usado para aceder ao 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.

Key Valor da amostra
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, em vez disso, use AzureWebJobsSecretStorageKeyVaultUri. Essa configuração requer que você defina AzureWebJobsSecretStorageType como keyvault.

O cofre deverá possuir uma política de acesso correspondente à identidade gerida 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. As configurações devem estar no arquivolocal.settings.json.

Key Valor da amostra
AzureWebJobsSecretStorageKeyVaultName <VAULT_NAME>

Para saber mais, consulte Gerenciar armazenamento de chaves.

AzureWebJobsSecretStorageKeyVaultTenantId

O ID do inquilino do registo 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.

Key Valor da amostra
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. Recomendamos essa configuração 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 Cofre de Chaves, incluindo https://.

O cofre deverá possuir uma política de acesso correspondente à identidade gerida 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.

Key Valor da amostra
AzureWebJobsSecretStorageKeyVaultUri https://<VAULT_NAME>.vault.azure.net

Important

Os segredos não estão confinados a aplicações de funções individuais através da AzureWebJobsSecretStorageKeyVaultUri configuração. Se várias aplicações de função estiverem configuradas para usar o mesmo Cofre de Chaves, partilham os mesmos segredos, potencialmente levando a conflitos ou substituições de chaves. Para evitar comportamentos não intencionais, recomendamos que você use uma instância separada do Cofre de Chaves para cada aplicativo de função.

Para saber mais, consulte Gerenciar armazenamento de chaves.

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.

Key Valor da amostra
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 Value 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. Esse comportamento é o padrão para 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 ambiente de execução das Functions usa para operações rotineiras. 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.

Key Valor da amostra
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 Ligação ao armazenamento do 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 e AzureWebJobsStorage não pode ser usada para outras conexões baseadas em identidade.

Key Valor da amostra
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.

Key Valor da amostra
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 Ligação ao armazenamento do host com uma identidade.

AzureWebJobsStorage__clientId

Define a ID do cliente de uma identidade específica atribuída pelo usuário usada para obter um token de acesso para autenticação de identidade gerenciada. Requer que AzureWebJobsStorage__credential seja definido como managedidentity. O valor é um ID de cliente que corresponde a uma identidade atribuída ao aplicativo. Não é possível definir ambos AzureWebJobsStorage__managedIdentityResourceIdAzureWebJobsStorage__clientIde . Quando não está definida, a identidade atribuída ao sistema é usada.

AzureWebJobsStorage__credential

Define como um token de acesso é obtido para a conexão. Use managedidentity para autenticação de identidade gerenciada. Ao usar managedidentityo , uma identidade gerenciada deve estar disponível no ambiente de hospedagem. Não defina AzureWebJobsStorage__credential cenários de desenvolvimento local.

AzureWebJobsStorage__managedIdentityResourceId

Define o identificador de recurso de uma identidade atribuída pelo usuário usada para obter um token de acesso para autenticação de identidade gerenciada. Requer que AzureWebJobsStorage__credential seja definido como managedidentity. O valor é o ID de recurso de uma identidade atribuída ao aplicativo usado para autenticação de identidade gerenciada. Não é possível definir ambos AzureWebJobsStorage__managedIdentityResourceIdAzureWebJobsStorage__clientIde . Quando não está definida, a identidade atribuída ao sistema é usada.

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.

Key Valor da amostra
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 Ligação ao armazenamento do 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.

Key Valor da amostra
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 Ligação ao armazenamento do host com uma identidade.

AzureWebJobs_TypeScriptPath

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

Key Valor da amostra
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.

Key Valor da amostra
DOCKER_SHM_SIZE 268435456

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

Requer que FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED esteja 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.

Key Valor da amostra
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.

Key Valor da amostra
FUNCTION_APP_EDIT_MODE readonly

O runtime define o valor com base na pilha de linguagens e no estado de implementação da sua aplicação de funções. 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.

Key Valor da amostra
FUNCTIONS_EXTENSION_VERSION ~4

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

Value Alvo de tempo de execução Comment
~4 4.x Recommended
~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 associar a sua aplicação a uma versão secundária específica, use o número completo da versão, 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. Ver Atualização para o .NET 8 para obter instruções detalhadas, incluindo outros valores de configuração necessários.

Key Valor da amostra
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 definição de aplicação é uma forma temporária de permitir que aplicações Node.js implementem uma alteração disruptiva, que torna mais fácil solucionar erros de ponto de entrada no Node.js v18 ou versões anteriores. É altamente recomendável usar true, especialmente para os aplicativos do modelo de programação v4, que sempre utilizam arquivos 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 lançado previamente, o comportamento padrão corresponderá a false. Por exemplo, se você estiver usando o modelo v3 ou se o arquivo do ponto de entrada não existir.
  • Se o erro for gerado depois, o comportamento padrão corresponderá ao true. Por exemplo, se você tentar registrar funções duplicadas do modelo v4.
Key Value 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.

Key Valor da amostra
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT 250000000

FUNCTIONS_V2_COMPATIBILITY_MODE

Important

Essa configuração não é mais suportada. Foi originalmente fornecido para habilitar uma solução alternativa de curto prazo para aplicativos destinados ao runtime v2.x. Em vez disso, eles poderiam executar no ambiente 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 múltiplos processos de trabalho de linguagem 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).

Key Valor da amostra
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. Esse valor corresponde ao idioma que está sendo usado em seu aplicativo, 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.

Key Valor da amostra
FUNCTIONS_WORKER_RUNTIME node

Valores válidos:

Value Pilha de linguagens/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 Other

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. Ative a memória partilhada quando a sua aplicação de funções Python estiver a enfrentar gargalos de memória.

Key Valor da amostra
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_APPLICATIONINSIGHTS_ENABLE_TELEMETRY

Indica se o processo de trabalho Java deve gerar telemetria em um formato de Telemetria Aberta para o endpoint do Application Insights. Definir este sinalizador para True instrui o host Functions a permitir que o processo de trabalhador Java transmita diretamente os logs OpenTelemetry, o que impede entradas duplicadas ao nível do host. Para obter mais informações, consulte Definir configurações do aplicativo.

JAVA_ENABLE_SDK_TYPES

Permite que seu aplicativo de função use tipos nativos do SDK do Azure em associações.

Note

O suporte para associação a tipos de SDK está atualmente em pré-visualização e limitado ao SDK de Armazenamento de Blob do Azure. Para obter mais informações, consulte Tipos de SDK no artigo de referência Java.

Key Valor da amostra
JAVA_ENABLE_SDK_TYPES true

Para obter mais informações, consulte Tipos de SDK no artigo de referência Java.

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 as suas funções Java ao correr num 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_OPTS. 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 em intervalos de MDMaxBackgroundUpgradePeriod após o início. 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 de módulo mais recentes mais cedo, mas também aumenta o uso de recursos do aplicativo, incluindo E/S de rede, CPU e 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.

Key Valor da amostra
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 gerenciada estão 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 porque 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 estão 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.

Key Valor da amostra
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 é executada quando algum trabalhador já iniciou essa verificação no último MDMinBackgroundUpgradePeriod.

Key Valor da amostra
MDMinBackgroundUpgradePeriod 1.00:00:00

Para saber mais, consulte Gerenciamento de dependência.

OTEL_EXPORTER_OTLP_ENDPOINT

Indica a URL para a qual os dados formatados em OpenTelemetry são exportados para ingestão. Para obter mais informações, consulte Usar OpenTelemetry com o Azure Functions.

OTEL_EXPORTER_OTLP_HEADERS

Define-se uma lista opcional de cabeçalhos que são aplicados a todos os dados de saída exportados para um ponto final OpenTelemetry. Você deve usar esta configuração quando o endpoint OpenTelemetry requerer a apresentação de uma chave de API. Para obter mais informações, consulte Usar OpenTelemetry com o Azure Functions.

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.

Key Valor da amostra
PIP_INDEX_URL http://my.custom.package.repo/simple

Para saber mais, consulte pip a documentação para --index-url e sobre como usar Dependências Personalizadas na referência para desenvolvimento em 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.

Key Valor da amostra
PIP_EXTRA_INDEX_URL http://my.custom.package.repo/simple

Para saber mais, consulte a pip documentação para --extra-index-url e 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.

Key Valor da amostra
PROJECT WebProject/WebProject.csproj

PYTHON_APPLICATIONINSIGHTS_ENABLE_TELEMETRY

Indica se o processo de trabalho do Python deve gerar telemetria num formato de Telemetria Aberta para o endpoint do Application Insights. Configurar este sinalizador para True informa o host Functions que deve permitir que o processo Python exporte dados OpenTelemetry para o endpoint do Application Insights. Para obter mais informações, consulte Definir configurações do aplicativo.

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 Value Description
PYTHON_ISOLATE_WORKER_DEPENDENCIES 0 Dar prioridade ao carregamento das bibliotecas Python a partir das dependências internas do trabalhador Python, que é o comportamento padrão. As bibliotecas que não são da Microsoft 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. Esse valor impede que suas bibliotecas colidam com bibliotecas internas do Python worker.

PYTHON_ENABLE_DEBUG_LOGGING

Permite o registo de logs de nível de debug numa aplicação de funções Python. Um valor de 1 ativa o registo de logs ao nível de depuração. Sem esta configuração ou com um valor de 0, somente informações e logs de ní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 logging 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_OPENTELEMETRY

Indica se o processo de trabalho Python deve exportar telemetria para um endpoint de Telemetria Aberta. Definir esse sinalizador para True informar ao host Functions para permitir que o processo de trabalho Python exporte dados OpenTelemetry para o OTEL_EXPORTER_OTLP_ENDPOINT configurado. Para obter mais informações, consulte Definir configurações do aplicativo.

PYTHON_ENABLE_WORKER_EXTENSIONS

A configuração é específica para aplicativos de função Python. Definir este valor para 1 permite que o trabalhador carregue extensões de trabalhador Python definidas em requirements.txt. Ele permite que seu aplicativo de função acesse novos recursos fornecidos por pacotes de parceiros. 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 Value 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 do 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.

Key Valor da amostra 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 mais informações, consulte os registos do controlador de escala.

Key Valor da amostra
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 AppInsights, verifique se o Application Insights está habilitado na sua aplicação 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 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.

Tip

Lembre-se de que, embora deixe o registo em log do controlador de escala habilitado, isso afeta os custos potenciais associados ao monitoramento da sua aplicação de funções. Considere ativar o logging até recolher dados suficientes para compreender como o controlador de escala está a funcionar 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.

Key Valor da amostra
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).

Key Valor da amostra
SCM_LOGSTREAM_TIMEOUT 1800

O valor de amostra anterior 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.

Key Valor da amostra
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING DefaultEndpointsProtocol=https;AccountName=...

Essa configuração é necessária para os aplicativos do plano Consumo e do plano Elastic Premium. Não é necessário para aplicativos de plano dedicado, que o Functions não dimensiona dinamicamente.

O plano Flex Consumption agora é o plano de hospedagem sem servidor recomendado para o Azure Functions. Ele oferece escalonamento mais rápido, partidas a frio reduzidas, rede privada e mais controle sobre desempenho e custo. Para obter mais informações, consulte Plano Flex Consumption.

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

Important

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

Um valor de 1 permite que a sua aplicação de funções seja dimensionada quando você tem a sua 1 conta de 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.

Key Valor da amostra
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.

Note

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 ambiente de execução, que começa com o nome da aplicação de função. Para obter mais informações, consulte Configuração de conexão da conta de armazenamento.

Key Valor da amostra
WEBSITE_CONTENTSHARE functionapp091999e2

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

O plano Flex Consumption agora é o plano de hospedagem sem servidor recomendado para o Azure Functions. Ele oferece escalonamento mais rápido, partidas a frio reduzidas, rede privada e mais controle sobre desempenho e custo. Para obter mais informações, consulte Plano Flex Consumption.

A partilha é criada quando a sua aplicação de funções é criada. 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 prática 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. Para uma conta de armazenamento protegida por uma rede virtual, deve-se também criar o próprio compartilhamento como parte da implantação automatizada. Para obter mais informações, consulte Implantações seguras.
  • Não faça de WEBSITE_CONTENTSHARE uma definição de slot.
  • Quando especificar WEBSITE_CONTENTSHARE, o valor deve seguir esta orientação para nomes de partilha.

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.

Key Valor da amostra
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).

Key Valor da amostra
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.

Important

Esta configuração está em prévia. Agora existe uma propriedade de aplicativo para dimensionamento máximo de função. Recomendamos esta propriedade para limitar a expansão.

Key Valor da amostra
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 runtime utilize a versão mais recente disponível da versão alvo principal. 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.

Key Valor da amostra
WEBSITE_NODE_DEFAULT_VERSION ~18

WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS

Quando se executa uma troca de slot numa aplicação de funções em execução num plano Premium, a troca pode falhar quando a conta de armazenamento dedicada usada pela aplicação tiver restrições de rede. Essa falha é causada por um recurso de log de aplicativo herdado, que as Funções e o Serviço de Aplicativo compartilham. Essa configuração substitui esse recurso de log herdado e permite que a troca ocorra.

Key Valor da amostra
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS 0

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

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. Esta configuração é utilizada ao atualizar funções usando slots de implementação. Essa abordagem evita um comportamento imprevisto devido à alteração de versões após uma troca. Defina para 0 no ambiente de produção e no slot para assegurar que todas as definições de versão sejam também trocadas. Para obter mais informações, consulte Atualização usando slots.

Key Valor da amostra
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.

Key Valor da amostra
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. Para obter mais informações, consulte Executar suas funções a partir de um arquivo de pacote.

Quando você usa WEBSITE_RUN_FROM_PACKAGE=<URL>o , a URL deve ser resolvida para o local do arquivo de pacote em um local de armazenamento acessível, como um contêiner de Armazenamento de Blob do Azure. O contêiner deve ser privado para impedir o acesso não autorizado, o que requer que você use uma assinatura de acesso compartilhado (SAS) na URL ou a autenticação de ID do Microsoft Entra para permitir o acesso. Recomenda-se o uso do Microsoft Entra ID com identidades gerenciadas.

Este é um exemplo de configuração WEBSITE_RUN_FROM_PACKAGE para a URL de um pacote de implantação em um contêiner de Armazenamento de Blog do Azure:
WEBSITE_RUN_FROM_PACKAGE=https://contosostorageaccount.blob.core.windows.net/mycontainer/mypackage.zip

Ao usar o SAS, você acrescenta o token à URL como um parâmetro de consulta.

Ao implantar um pacote do Armazenamento de Blobs do Azure usando uma identidade gerenciada atribuída pelo usuário, você também deve definir WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID a ID do recurso da identidade gerenciada atribuída pelo usuário. Ao implantar a partir de uma URL de pacote externo, você também deve sincronizar manualmente os gatilhos. Para mais informações, consulte Sincronização de gatilhos.

WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID

Indica a ID de recurso de uma identidade gerenciada atribuída pelo usuário que é usada ao acessar um pacote de implantação de um contêiner externo de Armazenamento de Blob do Azure protegido usando a ID do Microsoft Entra. Essa configuração requer que WEBSITE_RUN_FROM_PACKAGE seja definida como a URL do pacote de implantação em um contêiner privado.

A configuração WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID=SystemAssigned é o mesmo que omitir a configuração, caso em que a identidade gerenciada atribuída ao sistema para o aplicativo é usada.

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 estiver definido como 1, a verificação de validação será ignorada. Caso contrário, o valor será padronizado para 0 e a validação ocorrerá.

Key Valor da amostra
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

Read-only. Nome do slot de implantação atual. O nome do slot de produção é Production.

Key Valor da amostra
WEBSITE_SLOT_NAME Production

WEBSITE_TIME_ZONE

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

Key OS Valor da amostra
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 Plan Value
Windows All 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
Dedicado
Defina o valor como o nome do fuso horário desejado, conforme mostrado no banco de dados tz

Note

WEBSITE_TIME_ZONE e TZ não são suportados de momento quando executados em Linux num plano Flex Consumption ou Consumption. Nesse caso, a configuração 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 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 usa WEBSITE_TIME_ZONE, a hora é ajustada 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 ao executar no plano de Consumo. Defina para 0 desativar a otimização de arranque a frio no plano de consumo.

Key Valor da amostra
WEBSITE_USE_PLACEHOLDER 1

WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED

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

Key Valor da amostra
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED 1

WEBSITE_VNET_ROUTE_ALL

Important

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

Indica se todo o tráfego de saída do aplicativo é roteado pela rede virtual. Um valor de configuração de 1 indica que todo o tráfego da aplicação é roteado pela rede virtual. Você precisa 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.

Key Valor da amostra
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 esse valor 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 do Azure, 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 true requer que o utilizador use a identidade gerida. Recomendamos essa abordagem sobre credenciais de autenticação armazenadas como uma prática recomendada de 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 valores são válidos:

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

alwaysOn

Numa aplicação de função a funcionar num plano Dedicado (Serviço de Aplicativo), o tempo de execução das Funções fica inativo após alguns minutos de inatividade, neste ponto apenas solicitações para um trigger HTTP despertam a sua aplicação de função. Para garantir que as funções desencadeadas por elementos não HTTP sejam executadas corretamente, incluindo funções de gatilho de temporizador, ative o Always On para a aplicação de funções configurando o parâmetro alwaysOn do site para um valor de true.

functionsRuntimeAdminIsolationEnabled

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 true, os /admin pontos de extremidade não podem ser acessados, mesmo com uma chave mestra.

Esta propriedade não pode ser definida para aplicativos executados no Linux em um plano de consumo. Ele não pode ser definido 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.

O plano Flex Consumption agora é o plano de hospedagem sem servidor recomendado para o Azure Functions. Ele oferece escalonamento mais rápido, partidas a frio reduzidas, rede privada e mais controle sobre desempenho e custo. Para obter mais informações, consulte Plano Flex Consumption.

linuxFxVersion

Para aplicações de função em execução no Linux, linuxFxVersion indica a linguagem e a versão para o processo de trabalho específico da linguagem. 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 configurá-lo para implantações de modelo ARM e Bicep, e em certos 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 se cria e mantém um contentor Linux personalizado para a sua aplicação de funções, o valor linuxFxVersion está no formato DOCKER|<IMAGE_URI>, como no exemplo a seguir:

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

Este exemplo indica a fonte do registo do contentor implantado. Para obter mais informações, consulte Trabalhando com contêineres e Azure Functions.

Important

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 base suportadas para o Azure Functions são específicas do idioma. Consulte os 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 menores e correções de segurança tanto para o runtime do Functions quanto para as linguagens. Você deve atualizar regularmente seu contêiner a partir da imagem base mais recente e reimplantar a versão atualizada do contêiner. Para obter mais informações, consulte Mantendo contêineres personalizados.

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.

Note

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 de true indica que todo o tráfego da aplicação é roteado 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 herdada WEBSITE_VNET_ROUTE_ALL.

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:

Setting/property Reason
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_MAX_DYNAMIC_APPLICATION_SCALE_OUT Substituída por maximumInstanceCount in properties.functionAppConfig.scaleAndConcurrency
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 suportado
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 são suportados
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