Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As configurações de aplicativo em um aplicativo de funções contêm opções de configuração que afetam todas as funções do aplicativo de funções. Essas configurações são acessadas como variáveis de ambiente. Este artigo lista as configurações de aplicativo disponíveis nos aplicativos de funções.
Há várias maneiras de adicionar, atualizar e excluir configurações do aplicativo de funções:
As alterações nas configurações do aplicativo de funções exigem que o seu aplicativo de funções seja reiniciado.
Neste artigo, valores de cadeia de conexão de exemplo são truncados para legibilidade.
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ções 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:
A alteração das configurações do aplicativo faz com que seu aplicativo de funções seja reiniciado por padrão em todos os planos de hospedagem. Para implantações sem tempo de inatividade ao alterar configurações, use o plano de Consumo Flexível com atualizações contínuas como a estratégia de atualização do site. Para outros planos de hospedagem, consulte otimizar implantações para obter diretrizes sobre como minimizar o tempo de inatividade.
Nos nomes de configuração, os sublinhado duplo (
__) e dois-pontos (:) são considerados valores reservados. Sublinhados duplos são interpretados como delimitadores hierárquicos no Windows e no Linux. Os dois-pontos são interpretados da mesma forma somente no Windows. Por exemplo, a configuraçãoAzureFunctionsWebHost__hostid=somehost_123456seria interpretada como o seguinte objeto JSON:"AzureFunctionsWebHost": { "hostid": "somehost_123456" }Neste artigo, apenas sublinhados duplos são usados, pois eles têm suporte em ambos os sistemas operacionais. A maioria das configurações que dá suporte a conexões de identidade gerenciada usa sublinhados duplos.
Quando as funções são executadas localmente, as configurações do
Valuesaplicativo são especificadas na coleção no local.settings.json.Há outras opções de configuração do aplicativo de funções no arquivo host.json e no arquivo local.settings.json .
Você pode usar configurações de aplicativo para substituir os valores de configuração de host.json sem precisar alterar o arquivo host.json. 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 alterar host.json configurações sem precisar republicar seu projeto. Para saber mais, confira o artigo de referência de host.json.
Este artigo documenta as configurações mais relevantes para seus aplicativos de funções. Como o Azure Functions é executado no Serviço de Aplicativo, outras configurações de aplicativo também possuem suporte. Para mais informações, confira Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
Alguns cenários também exigem que você trabalhe com configurações documentadas nas configurações de site do Serviço de Aplicativo.
Alterar as configurações de aplicativo do Serviço de Aplicativosomente leitura pode colocar seu aplicativo de funções em um estado sem resposta.
Tome cuidado ao atualizar as configurações de aplicativo usando APIs REST, incluindo modelos do ARM. Como essas APIs substituem as configurações de aplicativo existentes, você deve incluir todas as configurações existentes ao adicionar ou modificar configurações usando APIs REST ou modelos do ARM. Quando possível, use a CLI do Azure ou o Azure PowerShell para trabalhar programaticamente com as configurações do aplicativo. Para obter mais informações, confira Trabalhar com configurações de aplicativo.
APPINSIGHTS_INSTRUMENTATIONKEY
A chave de instrumentação do Application Insights. Não use APPINSIGHTS_INSTRUMENTATIONKEY e APPLICATIONINSIGHTS_CONNECTION_STRING. Quando possível, use APPLICATIONINSIGHTS_CONNECTION_STRING. Quando o Application Insights é executado em uma nuvem soberana, você deve usar APPLICATIONINSIGHTS_CONNECTION_STRING. Para saber mais, confira Como configurar o monitoramento para o Azure Functions.
| Key | Valor de amostra |
|---|---|
| APPINSIGHTS_INSTRUMENTATIONKEY | 55555555-af77-484b-9032-64f83bb83bb |
Não use APPINSIGHTS_INSTRUMENTATIONKEY e APPLICATIONINSIGHTS_CONNECTION_STRING. Recomendamos que você use APPLICATIONINSIGHTS_CONNECTION_STRING.
APPLICATIONINSIGHTS_AUTHENTICATION_STRING
Habilita o acesso ao Application Insights usando a autenticação do Microsoft Entra. Use essa configuração quando precisar se conectar ao workspace do Application Insights usando a autenticação do Microsoft Entra. Para obter mais informações, consulte Autenticação do Microsoft Entra para Application Insights.
Quando você usa APPLICATIONINSIGHTS_AUTHENTICATION_STRING, o valor específico definido depende do tipo de identidade gerenciada:
| Identidade gerenciada | Valor de configuração |
|---|---|
| System-assigned | Authorization=AAD |
| User-assigned | Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID> |
Esse requisito de autenticação é aplicado às conexões do host do Functions, do depurador de instantâneos, do criador de perfil e de agentes específicos a um idioma. Para usar essa configuração, a identidade gerenciada já deve estar disponível para o aplicativo de funções com uma função atribuída equivalente ao Editor de Métricas de Monitoramento.
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 do Application Insights. Não use APPINSIGHTS_INSTRUMENTATIONKEY e APPLICATIONINSIGHTS_CONNECTION_STRING. Recomendamos o uso de APPLICATIONINSIGHTS_CONNECTION_STRING em todos os casos. É um requisito nos seguintes casos:
- Quando seu aplicativo de funções requer as personalizações adicionais com suporte pelo uso da cadeia de conexão
- Quando sua instância do Application Insights é executada em uma nuvem soberana, que requer um ponto de extremidade personalizado
Para obter mais informações, consulte Cadeias de conexão.
| Key | Valor de amostra |
|---|---|
| APPLICATIONINSIGHTS_CONNECTION_STRING | InstrumentationKey=... |
Para se conectar ao Application Insights com a autenticação do Microsoft Entra, você deve usar APPLICATIONINSIGHTS_AUTHENTICATION_STRING.
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL
Important
Os proxies do Azure Functions eram um recurso das versões 1.x a 3.x do runtime do Azure Functions. Para obter mais informações, consulte proxies do Functions.
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES
Important
Os proxies do Azure Functions eram um recurso das versões 1.x a 3.x do runtime do Azure Functions. Para obter mais informações, consulte proxies do Functions.
AZURE_FUNCTIONS_ENVIRONMENT
Configura o ambiente de hospedagem de runtime do aplicativo de funções ao ser executado no Azure. Esse valor é lido durante a inicialização. O runtime aceita apenas estes valores:
| Value | Description |
|---|---|
Production |
Representa um ambiente de produção, com 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 preparo, por exemplo, durante a execução em um slot de preparo. |
Development |
Um ambiente de desenvolvimento dá suporte a logs mais detalhados e outras otimizações de desempenho reduzido. O Azure Functions Core Tools define AZURE_FUNCTIONS_ENVIRONMENT como Development durante a execução no computador local. Essa configuração não pode ser substituída no arquivo local.settings.json. |
Use essa configuração em vez de ASPNETCORE_ENVIRONMENT quando precisar alterar o ambiente de runtime no Azure para algo diferente de Production. Para saber mais, veja Classe Startup e métodos baseados em ambiente.
Essa configuração não está disponível na versão 1.x do runtime do Functions.
AzureFunctionsJobHost__*
Na versão 2.x e em versões posteriores do runtime do Functions, as configurações do aplicativo podem substituir as configurações definidas em host.json no ambiente atual. Essas substituições são expressas como configurações de aplicativo chamadas AzureFunctionsJobHost__path__to__setting. Para saber mais, confira Substituir os valores de host.json.
AzureFunctionsWebHost__hostid
Define a ID do host para um determinado aplicativo de funções, que deve ser uma ID exclusiva. Essa configuração substitui o valor da ID do host gerado automaticamente para seu aplicativo. Use essa configuração somente quando precisar evitar colisões de ID de host entre aplicativos de funções que compartilham a mesma conta de armazenamento.
Uma ID de host deve atender aos seguintes requisitos:
- Ter entre 1 e 32 caracteres
- Contém apenas letras minúsculas, números e traços
- Não iniciar ou terminar com um traço
- Não pode conter traços consecutivos
Uma maneira fácil de gerar uma ID é pegar um GUID, remover os traços e torná-lo minúscula, como convertendo o GUID 1835D7B5-5C98-4790-815D-072CC94C6F71 no valor 1835d7b55c984790815d072cc94c6f71.
| Key | Valor de amostra |
|---|---|
| AzureFunctionsWebHost__hostid | myuniquefunctionappname123456789 |
Para obter mais informações, consulte Considerações sobre a ID do host.
AzureWebJobsDashboard
Ela foi preterida e só há suporte para ela quando executada na versão 1.x do runtime do Azure Functions.
Cadeia de conexão de conta de armazenamento opcional para armazenar logs e exibi-los na guia Monitor no portal do Azure. A conta de armazenamento deve ser de uso geral, com suporte para blobs, filas e tabelas. Para saber mais, confira Requisitos de uma conta de armazenamento.
| Key | Valor de amostra |
|---|---|
| AzureWebJobsDashboard | DefaultEndpointsProtocol=https;AccountName=... |
AzureWebJobsDisableHomepage
Um valor de true desabilita a página de aterrissagem padrão mostrada para a URL raiz de um aplicativo de funções. O valor padrão é false.
| Key | Valor de amostra |
|---|---|
| AzureWebJobsDisableHomepage | true |
Quando essa configuração de aplicativo é omitida ou definida como false, uma página semelhante ao exemplo a seguir é exibida na resposta à URL <functionappname>.azurewebsites.net.
AzureWebJobsDotNetReleaseCompilation
true significa usar o modo Release ao compilar o código .NET.
false significa usar o modo de depuração. O padrão é true.
| Key | Valor de amostra |
|---|---|
| AzureWebJobsDotNetReleaseCompilation | true |
AzureWebJobsFeatureFlags
Uma lista delimitada por vírgulas de recursos beta a habilitar. Os recursos beta habilitados por esses sinalizadores não estão prontos para produção, mas podem ser habilitados para uso experimental antes de serem lançados.
| Key | Valor de amostra |
|---|---|
| AzureWebJobsFeatureFlags | feature1,feature2,EnableProxies |
Se o aplicativo tiver essa configuração no momento, adicione novos sinalizadores ao final da lista delineada por vírgulas.
Atualmente, há suporte para os seguintes sinalizadores de recurso:
| Valor de sinalizador | Description |
|---|---|
EnableProxies |
Habilita novamente proxies na versão 4.x do runtime do Functions enquanto você planeja sua migração para o Gerenciamento de API do Azure. Para obter mais informações, consulte Reabilitar proxies no Functions v4.x. |
EnableAzureMonitorTimeIsoFormat |
Habilita o ISO 8601 formato de tempo nos logs do Azure Monitor para aplicativos Linux em execução em um plano dedicado (Serviço de Aplicativo). |
AzureWebJobsKubernetesSecretName
Indica o recurso de Segredos do Kubernetes usado para armazenar chaves. Compatível apenas quando em execução no Kubernetes.
| Key | Valor de amostra |
|---|---|
| AzureWebJobsKubernetesSecretName | <SECRETS_RESOURCE> |
Considerações ao usar um recurso segredos do Kubernetes:
- Você também deve definir
AzureWebJobsSecretStorageTypecomokubernetes. QuandoAzureWebJobsKubernetesSecretNamenão estiver definido, o repositório será considerado somente leitura. Nesse caso, os valores devem ser gerados antes da implantação. - O Azure Functions Core Tools gera os valores automaticamente durante a implantação no Kubernetes.
- Não há suporte para segredos imutáveis e usá-los resulta em erros de runtime.
Para saber mais, confira Gerenciar armazenamento de chaves.
AzureWebJobsSecretStorageKeyVaultClientId
A ID do cliente da identidade gerenciada atribuída pelo usuário ou o registro do aplicativo usado para acessar o cofre onde as chaves são armazenadas. Essa configuração requer que você defina AzureWebJobsSecretStorageType como keyvault. Com suporte na versão 4.x e em versões posteriores do Functions Runtime.
| Key | Valor de amostra |
|---|---|
| AzureWebJobsSecretStorageKeyVaultClientId | <CLIENT_ID> |
Para saber mais, confira Gerenciar armazenamento de chaves.
AzureWebJobsSecretStorageKeyVaultClientSecret
O segredo para a ID do cliente da identidade gerenciada atribuída pelo usuário ou o registro do aplicativo usado para acessar o cofre onde as chaves são armazenadas. Essa configuração requer que você defina AzureWebJobsSecretStorageType como keyvault. Com suporte na versão 4.x e em versões posteriores do Functions Runtime.
| Key | Valor de amostra |
|---|---|
| AzureWebJobsSecretStorageKeyVaultClientSecret | <CLIENT_SECRET> |
Para saber mais, confira Gerenciar armazenamento de chaves.
AzureWebJobsSecretStorageKeyVaultName
Essa configuração foi preterida e só foi usada com a execução na versão 3.x do runtime do Azure Functions.
O nome de uma instância do cofre de chaves usada para armazenar as chaves. Essa configuração só foi usada na versão 3.x do runtime do Functions, a qual não tem mais suporte. Para a versão 4.x, use AzureWebJobsSecretStorageKeyVaultUri. Essa configuração requer que você defina AzureWebJobsSecretStorageType como keyvault.
O cofre deve ter uma política de acesso correspondente à identidade gerenciada atribuída pelo sistema do recurso de hospedagem. A política de acesso deve conceder à identidade as seguintes permissões de segredo: Get, Set, List e Delete.
Quando suas funções são executadas localmente, a identidade do desenvolvedor é usada. As configurações devem estar no arquivolocal.settings.json.
| Key | Valor de amostra |
|---|---|
| AzureWebJobsSecretStorageKeyVaultName | <VAULT_NAME> |
Para saber mais, confira Gerenciar armazenamento de chaves.
AzureWebJobsSecretStorageKeyVaultTenantId
A ID do locatário do registro do aplicativo usada para acessar o cofre onde as chaves são armazenadas. Essa configuração requer que você defina AzureWebJobsSecretStorageType como keyvault. Com suporte na versão 4.x e em versões posteriores do Functions Runtime. Para saber mais, confira Gerenciar armazenamento de chaves.
| Key | Valor de amostra |
|---|---|
| AzureWebJobsSecretStorageKeyVaultTenantId | <TENANT_ID> |
AzureWebJobsSecretStorageKeyVaultUri
O URI de uma instância do cofre de chaves usada para armazenar as chaves. Com suporte na versão 4.x e em versões posteriores do Functions Runtime. 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 Key Vault, incluindo https://.
O cofre deve ter uma política de acesso correspondente à identidade gerenciada atribuída pelo sistema do recurso de hospedagem. A política de acesso deve conceder à identidade as seguintes permissões de segredo: Get, Set, List e Delete.
Quando suas funções são executadas localmente, a identidade do desenvolvedor é usada e as configurações devem estar no arquivolocal.settings.json.
| Key | Valor de amostra |
|---|---|
| AzureWebJobsSecretStorageKeyVaultUri | https://<VAULT_NAME>.vault.azure.net |
Important
Os segredos não têm escopo para aplicativos de funções individuais por meio da configuração AzureWebJobsSecretStorageKeyVaultUri. Se vários aplicativos de funções estiverem configurados para usar o mesmo Key Vault, eles compartilharão os mesmos segredos, potencialmente levando a colisões de chave ou substituições. Para evitar comportamentos não intencionais, recomendamos que você use uma instância separada do Key Vault para cada aplicativo de funções.
Para saber mais, confira Gerenciar Armazenamento de Chaves.
AzureWebJobsSecretStorageSas
Uma URL de SAS do Armazenamento de Blobs para uma segunda conta de armazenamento usada para o armazenamento de chaves. Por padrão, o Functions usa a conta definida em AzureWebJobsStorage. Ao usar essa opção de armazenamento de segredos, verifique se AzureWebJobsSecretStorageType não está definido explicitamente ou definido como blob. Para saber mais, confira Gerenciar armazenamento de chaves.
| Key | Valor de amostra |
|---|---|
| AzureWebJobsSecretStorageSas | <BLOB_SAS_URL> |
AzureWebJobsSecretStorageType
Especifica o repositório ou o provedor a ser usado para armazenar chaves. As chaves são criptografadas antes de serem armazenadas por meio de um segredo exclusivo do aplicativo de funções.
| Key | Value | Description |
|---|---|---|
| AzureWebJobsSecretStorageType | blob |
As chaves são armazenadas em um contêiner do armazenamento de blobs na conta fornecida pela configuração AzureWebJobsStorage. O armazenamento de blob é o comportamento padrão quando AzureWebJobsSecretStorageType não está definido.Para especificar outra conta de armazenamento, use a configuração AzureWebJobsSecretStorageSas para indicar a URL de SAS de uma segunda conta de armazenamento. |
| AzureWebJobsSecretStorageType | files |
As chaves são persistentes no sistema de arquivos. Esse comportamento é o padrão para o Functions v1.x. |
| AzureWebJobsSecretStorageType | keyvault |
As chaves são armazenadas em uma instância do cofre de chaves definida por AzureWebJobsSecretStorageKeyVaultName. |
| AzureWebJobsSecretStorageType | kubernetes |
Com suporte apenas ao executar o tempo de execução do Functions em Kubernetes. Quando AzureWebJobsKubernetesSecretName não estiver definido, o repositório será considerado somente leitura. Nesse caso, os valores devem ser gerados antes da implantação. O Azure Functions Core Tools gera os valores automaticamente durante a implantação no Kubernetes. |
Para saber mais, confira Gerenciar armazenamento de chaves.
AzureWebJobsStorage
Especifica a cadeia de conexão para uma conta do Armazenamento do Azure que o runtime do Functions usa para operações normais. Alguns usos dessa conta de armazenamento pelo Functions incluem gerenciamento de chave, gerenciamento de gatilho de temporizador e pontos de verificação dos Hubs de Eventos. A conta de armazenamento deve ser de uso geral, com suporte para blobs, filas e tabelas. Para saber mais, veja Requisitos da conta de armazenamento.
| Key | Valor de 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, veja Conectar-se ao armazenamento de host com uma identidade.
AzureWebJobsStorage__accountName
Ao usar uma conexão de armazenamento baseada em identidade, define o nome da conta de armazenamento em vez de usar a cadeia de conexão em AzureWebJobsStorage. Essa sintaxe é exclusiva para AzureWebJobsStorage e não pode ser usada para outras conexões baseadas em identidade.
| Key | Valor de amostra |
|---|---|
| AzureWebJobsStorage__accountName | <STORAGE_ACCOUNT_NAME> |
Em nuvens soberanas ou durante o uso de um DNS personalizado, é necessário usar as configurações de AzureWebJobsStorage__*ServiceUri específicas do serviço.
AzureWebJobsStorage__blobServiceUri
Ao usar uma conexão de armazenamento baseada em identidade, define o URI do plano de dados do serviço de blob da conta de armazenamento.
| Key | Valor de amostra |
|---|---|
| AzureWebJobsStorage__blobServiceUri | https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net |
Use essa configuração em vez de AzureWebJobsStorage__accountName em nuvens soberanas ou quando usar um DNS personalizado. Para obter mais informações, veja Conectar-se ao armazenamento de host com uma identidade.
AzureWebJobsStorage__clientId
Define o ID do cliente de uma identidade específica atribuída pelo usuário usada para obter um token de acesso para a autenticação da identidade gerenciada. Exige que AzureWebJobsStorage__credential seja definido como managedidentity. O valor é uma ID do cliente que corresponde a uma identidade atribuída ao aplicativo. Você não pode definir ambos AzureWebJobsStorage__managedIdentityResourceId e AzureWebJobsStorage__clientId. Quando não definido, a identidade atribuída pelo sistema é usada.
AzureWebJobsStorage__credential
Define como um token de acesso é obtido para a conexão. Use managedidentity para a autenticação da identidade gerenciada. Ao usar managedidentity, uma identidade gerenciada deve estar disponível no ambiente de hospedagem. Não defina AzureWebJobsStorage__credential em 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 a autenticação da identidade gerenciada. Exige que AzureWebJobsStorage__credential seja definido como managedidentity. O valor é o identificador de recurso de uma identidade atribuída ao aplicativo utilizado para autenticação gerenciada. Você não pode definir ambos AzureWebJobsStorage__managedIdentityResourceId e AzureWebJobsStorage__clientId. Quando não definido, a identidade atribuída pelo 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 de amostra |
|---|---|
| AzureWebJobsStorage__queueServiceUri | https://<STORAGE_ACCOUNT_NAME>.queue.core.windows.net |
Use essa configuração em vez de AzureWebJobsStorage__accountName em nuvens soberanas ou quando usar um DNS personalizado. Para obter mais informações, veja Conectar-se ao armazenamento de host com uma identidade.
AzureWebJobsStorage__tableServiceUri
Ao usar uma conexão de armazenamento baseada em identidade, define o URI do plano de dados de um serviço de tabela da conta de armazenamento.
| Key | Valor de amostra |
|---|---|
| AzureWebJobsStorage__tableServiceUri | https://<STORAGE_ACCOUNT_NAME>.table.core.windows.net |
Use essa configuração em vez de AzureWebJobsStorage__accountName em nuvens soberanas ou quando usar um DNS personalizado. Para obter mais informações, veja Conectar-se ao armazenamento de host com uma identidade.
AzureWebJobs_TypeScriptPath
Caminho para o compilador usado para TypeScript. Permite substituir o padrão se necessário.
| Key | Valor de 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ó é obrigatória quando o aplicativo de funções conteinerizado é implantado por meio de um registro de contêiner privado. Para mais informações, confira Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
DOCKER_REGISTRY_SERVER_URL
Indica a URL de um registro de contêiner privado. Essa configuração só é obrigatória quando o aplicativo de funções conteinerizado é implantado por meio de um registro de contêiner privado. Para mais informações, confira Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
DOCKER_REGISTRY_SERVER_USERNAME
Indica a conta usada para acessar um registro de contêiner privado. Essa configuração só é obrigatória quando o aplicativo de funções conteinerizado é implantado por meio de um registro de contêiner privado. Para mais informações, confira Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
DOCKER_SHM_SIZE
Define o tamanho (em bytes) da memória compartilhada quando o trabalhador do Python estiver usando memória compartilhada. Para saber mais, confira Memória compartilhada.
| Key | Valor de amostra |
|---|---|
| DOCKER_SHM_SIZE | 268435456 |
O valor anterior define um tamanho de memória compartilhada de aproximadamente 256 MB.
Requer que FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED esteja definido como 1.
ENABLE_ORYX_BUILD
Indica se o sistema de build Oryx é usado durante a implantação.
ENABLE_ORYX_BUILD deve ser definido como true ao fazer implantações de build remoto no Linux. Para obter mais informações, consulte o build remoto.
| Key | Valor de amostra |
|---|---|
| ENABLE_ORYX_BUILD | true |
FUNCTION_APP_EDIT_MODE
Indica se você pode editar seu aplicativo de funções no portal do Azure. Os valores válidos são readwrite e readonly.
| Key | Valor de amostra |
|---|---|
| FUNCTION_APP_EDIT_MODE | readonly |
O runtime define o valor com base na pilha de linguagens e no status de implantação do seu aplicativo de funções. Para obter mais informações, veja Limitações de desenvolvimento no portal do Azure.
FUNCTIONS_EXTENSION_VERSION
A versão do runtime do Functions que hospeda seu aplicativo de funções. Um til (~) com 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 estiverem disponíveis, elas serão instaladas automaticamente no aplicativo de funções.
| Key | Valor de amostra |
|---|---|
| FUNCTIONS_EXTENSION_VERSION | ~4 |
Há suporte para os seguintes valores de versão de runtime principal:
| Value | Destino de runtime | Comment |
|---|---|---|
~4 |
4.x | Recommended |
~1 |
1.x | O suporte termina em 14 de setembro de 2026 |
Um valor de ~4 significa que o aplicativo é executado na versão 4.x do runtime. Um valor de pinos ~1 seu aplicativo para a versão 1.x do runtime. Não há mais suporte para as versões de runtime 2.x e 3.x. Para obter mais informações, consulte Visão geral de versões do Azure Functions runtime.
Se solicitado pelo suporte para fixar seu aplicativo em uma versão secundária específica, use o número completo da versão, por exemplo, 4.0.12345. Para obter mais informações, confira Como direcionar as versões de runtime do Azure Functions.
FUNCTIONS_INPROC_NET8_ENABLED
Indica se um aplicativo pode usar o .NET 8 no modelo em processo. Para usar o .NET 8 no modelo em processo, esse valor precisa ser definido como 1. Confira Atualização destinada ao .NET 8 para obter instruções completas, incluindo outros valores de configuração necessários.
| Key | Valor de amostra |
|---|---|
| FUNCTIONS_INPROC_NET8_ENABLED | 1 |
Defina como 0 para desabilitar o suporte para o .NET 8 no modelo em processo.
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR
Esta configuração de aplicativo é uma maneira temporária para os aplicativos Node.js habilitarem uma alteração interruptiva que torna mais fácil solucionar erros de ponto de entrada no Node.js v18 ou anterior. É altamente recomendável usar true, especialmente para aplicativos de modelo de programação v4, que sempre usam arquivos de ponto de entrada. O comportamento sem a alteração interruptiva (false) ignora os 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 da alteração interruptiva está sempre habilitado.
Para o Node.js v18 ou inferior, é usada a configuração do aplicativo, e o comportamento padrão dependerá de se o erro ocorrer antes ou depois que uma função de modelo v4 tiver sido registrada:
- Se o erro for gerado antes, o comportamento padrão corresponderá ao
false. Por exemplo, se você estiver usando o modelo v3 ou se o arquivo de ponto de entrada não existir. - Se o erro for gerado depois, o comportamento padrão equivale a
true. Por exemplo, se você tentar registrar funções de modelo v4 duplicadas.
| Key | Value | Description |
|---|---|---|
| FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR | true |
Bloquear erros no ponto de entrada e registrá-los no Application Insights. |
| FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR | false |
Ignore os erros de ponto de entrada e não registre-os no Application Insights. |
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT
Substitui o limite padrão no tamanho do corpo das solicitações enviadas aos pontos de extremidade HTTP. O valor é dado em bytes, com um tamanho máximo de solicitação padrão de 104.857.600 bytes.
| Key | Valor de amostra |
|---|---|
| FUNCTIONS_REQUEST_BODY_SIZE_LIMIT | 250000000 |
FUNCTIONS_V2_COMPATIBILITY_MODE
Important
Não há mais suporte para essa configuração. Originalmente, ele foi fornecido para habilitar uma solução alternativa de curto prazo para aplicativos direcionados ao runtime v2.x. Em vez disso, eles seriam capazes de executar no runtime v3.x enquanto ele ainda era compatível. Exceto os aplicativos herdados executados na versão 1.x, todos os aplicativos de funções precisam ser executados na versão 4.x do runtime do Functions: FUNCTIONS_EXTENSION_VERSION=~4. Para obter mais informações, consulte Visão geral de versões do Azure Functions runtime.
FUNCTIONS_WORKER_PROCESS_COUNT
Especifica o número máximo de processos de trabalho de linguagem, com um valor padrão de 1. O valor máximo permitido é de 10. As invocações de função são distribuídas de maneira uniforme entre os processos de trabalho de linguagem. Os processos de trabalho de linguagem são gerados a cada 10 segundos até que a contagem definida por FUNCTIONS_WORKER_PROCESS_COUNT seja atingida. O uso de vários processos de trabalho de linguagem não é o mesmo que o dimensionamento. Considere usar essa configuração quando a carga de trabalho tiver uma combinação de invocações associadas à CPU e à E/S. Essa configuração se aplica a todos os runtimes de linguagem, exceto o .NET em execução em processo (FUNCTIONS_WORKER_RUNTIME=dotnet).
| Key | Valor de amostra |
|---|---|
| FUNCTIONS_WORKER_PROCESS_COUNT | 2 |
FUNCTIONS_WORKER_RUNTIME
A linguagem ou a pilha de linguagens do runtime de trabalho a ser carregada no aplicativo de funções. Esse valor corresponde ao idioma que está sendo usado em seu aplicativo, por exemplo, python. Começando na versão 2.x do runtime do Azure Functions, um determinado aplicativo de funções só pode dar suporte a uma linguagem.
| Key | Valor de amostra |
|---|---|
| FUNCTIONS_WORKER_RUNTIME | node |
Valores válidos:
| Value | Linguagem/pilha de linguagens |
|---|---|
dotnet |
C# (biblioteca de classes) C# (script) |
dotnet-isolated |
C# (processo de trabalho isolado) |
java |
Java |
node |
JavaScript TypeScript |
powershell |
PowerShell |
python |
Python |
custom |
Other |
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED
Essa configuração permite que o trabalhador do Python use a memória compartilhada para melhorar a taxa de transferência. Habilite a memória compartilhada quando seu aplicativo de funções do Python estiver atingindo gargalos de memória.
| Key | Valor de 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, confira Memória compartilhada.
JAVA_APPLICATIONINSIGHTS_ENABLE_TELEMETRY
Indica se o processo de trabalho Java deve gerar a telemetria no formato OpenTelemetry para o ponto de extremidade do Application Insights. A definição desse sinalizador como True instrui o host do Functions a permitir que o processo de trabalho Java transmita logs do OpenTelemetry diretamente, o que impede entradas duplicadas no host. Para obter mais informações, consulte Definir as configurações do aplicativo.
JAVA_ENABLE_SDK_TYPES
Permite que seu aplicativo de funções use tipos nativos do SDK do Azure em associações.
Note
O suporte para associação a tipos de SDK está atualmente em versão prévia e limitado ao SDK do Armazenamento de Blobs do Azure. Para obter mais informações, confira Tipos de SDK no artigo de referência do Java.
| Key | Valor de amostra |
|---|---|
| JAVA_ENABLE_SDK_TYPES | true |
Para obter mais informações, confira Tipos de SDK no artigo de referência do Java.
JAVA_OPTS
Usado para personalizar a JVM (máquina virtual) Java usada para executar suas funções Java durante a execução em um plano Premium ou plano Dedicado. Ao executar em um plano de consumo, em vez disso, use languageWorkers__java__arguments. Para obter mais informações, consulte Personalizar a JVM.
languageWorkers__java__arguments
Usado para personalizar a máquina virtual Java (JVM) usada para executar suas funções Java durante a execução em um plano de consumo. Essa configuração aumenta os tempos de inicialização a frio para funções Java em execução em um plano de consumo. Para um plano premium ou dedicado, em vez disso, use JAVA_OPTS. Para obter mais informações, consulte Personalizar a JVM.
MDMaxBackgroundUpgradePeriod
Controla o período de atualização em segundo plano das dependências gerenciadas para aplicativos de funções do PowerShell, com um valor padrão de 7.00:00:00 (semanal).
Cada processo de trabalho do PowerShell inicia a verificação de atualizações de módulo na Galeria do PowerShell no início do processo e repete essa verificação a cada MDMaxBackgroundUpgradePeriod após o início. Quando uma nova versão de módulo está disponível no Galeria do PowerShell, ela é instalada no sistema de arquivos e disponibilizada para os trabalhos do PowerShell. Diminuir esse valor permite que seu aplicativo de funções obtenha versões 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 ao seu aplicativo.
| Key | Valor de amostra |
|---|---|
| MDMaxBackgroundUpgradePeriod | 7.00:00:00 |
Para saber mais, confira o gerenciamento de dependências.
MDNewSnapshotCheckPeriod
Especifica com que frequência cada trabalhador do PowerShell verifica se as atualizações de dependência gerenciada estão instaladas. A frequência padrão é 01:00:00 (por hora).
Depois que novas versões de módulo são instaladas no sistema de arquivos, todos os processos de trabalho do PowerShell devem ser reiniciados. Reiniciar os trabalhos do PowerShell afeta a disponibilidade do aplicativo porque ele 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 de módulo antigas ou novas. A reinicialização de todos os trabalhos do PowerShell é concluída em MDNewSnapshotCheckPeriod.
Dentro de cada MDNewSnapshotCheckPeriod, o trabalhador do PowerShell verifica se as atualizações de dependência gerenciadas estão instaladas. Quando as atualizações são instaladas, uma reinicialização é iniciada. Aumentar esse valor diminui a frequência de interrupções devido a reinicializações. No entanto, o aumento também pode aumentar o tempo durante o qual as invocações de função podem usar as versões antigas ou novas do módulo, de forma não determinística.
| Key | Valor de amostra |
|---|---|
| MDNewSnapshotCheckPeriod | 01:00:00 |
Para saber mais, confira o gerenciamento de dependências.
MDMinBackgroundUpgradePeriod
O período após uma verificação anterior de atualização de dependência gerenciada antes de outra verificação de atualização ser iniciada, com um padrão de 1.00:00:00 (diariamente).
Para evitar atualizações excessivas de módulos em reinicializações frequentes do Worker, a verificação de atualizações de módulos não é realizada quando qualquer trabalhador já iniciou essa verificação nos últimos MDMinBackgroundUpgradePeriod.
| Key | Valor de amostra |
|---|---|
| MDMinBackgroundUpgradePeriod | 1.00:00:00 |
Para saber mais, confira o gerenciamento de dependências.
OTEL_EXPORTER_OTLP_ENDPOINT
Indica a URL para a qual os dados formatados pelo OpenTelemetry são exportados para ingestão. Para obter mais informações, consulte Usar o OpenTelemetry com o Azure Functions.
OTEL_EXPORTER_OTLP_HEADERS
Define uma lista opcional de cabeçalhos que são aplicados a todos os dados de saída exportados para um ponto de extremidade OpenTelemetry. Você deve usar essa configuração quando o ponto de extremidade do OpenTelemetry precisar fornecer uma chave de API. Para obter mais informações, consulte Usar o OpenTelemetry com o Azure Functions.
PIP_INDEX_URL
Essa configuração permite substituir a URL base do Índice de Pacote do Python, que por padrão é https://pypi.org/simple. Use essa configuração quando precisar executar um build remoto usando dependências personalizadas. Essas dependências personalizadas encontradas em um repositório de índice de pacote em conformidade com o PEP 503 (a API de repositório simples) ou em um diretório local que siga o mesmo formato.
| Key | Valor de amostra |
|---|---|
| PIP_INDEX_URL | http://my.custom.package.repo/simple |
Para saber mais, confira a documentação pip para --index-url e o uso de Dependências personalizadas na referência do desenvolvedor de Python.
PIP_EXTRA_INDEX_URL
O valor dessa configuração indica uma URL de índice adicional de pacotes personalizados para aplicativos do Python a serem usados além de --index-url. Use essa configuração quando precisar executar um build remoto usando dependências personalizadas encontradas em um índice de pacote extra. Deve seguir as mesmas regras que --index-url.
| Key | Valor de amostra |
|---|---|
| PIP_EXTRA_INDEX_URL | http://my.custom.package.repo/simple |
Para saber mais, confira a documentação pip para --extra-index-url e Dependências personalizadas na referência do desenvolvedor de Python.
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 de amostra |
|---|---|
| PROJECT | WebProject/WebProject.csproj |
PYTHON_APPLICATIONINSIGHTS_ENABLE_TELEMETRY
Indica se o processo de trabalho do Python deve gerar a telemetria em um formato do OpenTelemetry para o ponto de extremidade do Application Insights. A definição desse sinalizador como True instrui o host do Functions a permitir que o processo de trabalho do Python exporte dados do OpenTelemetry para o ponto de extremidade do Application Insights. Para obter mais informações, consulte Definir as configurações do aplicativo.
PYTHON_ISOLATE_WORKER_DEPENDENCIES
A configuração é específica para aplicativos de funções do Python. Ele define a priorização da ordem de carregamento do módulo. Por padrão, esse valor é definido como 0.
| Key | Value | Description |
|---|---|---|
| PYTHON_ISOLATE_WORKER_DEPENDENCIES | 0 |
Priorize o carregamento das bibliotecas do Python das dependências internas de trabalho do Python; o que é o comportamento padrão. Bibliotecas não Microsoft definidas em requirements.txt podem ser sombreadas. |
| PYTHON_ISOLATE_WORKER_DEPENDENCIES | 1 |
Priorize o carregamento das bibliotecas do Python do pacote do aplicativo definido em requirements.txt. Esse valor impede que suas bibliotecas colidam com bibliotecas internas de trabalho do Python. |
PYTHON_ENABLE_DEBUG_LOGGING
Habilita o registro em log no nível de depuração em um aplicativo de funções do Python. Um valor de 1 habilita o registro em log no nível de depuração. Sem essa configuração ou com um valor de 0, somente as informações e os logs de nível superior são enviados do trabalho do Python para o host do Functions. Use essa configuração ao depurar ou rastrear suas execuções de função do Python.
Ao depurar as funções do Python, certifique-se também de definir um nível de registros em log de depuração ou rastreamento no arquivo host.json, conforme necessário. Para saber mais, confira Como configurar o monitoramento para o Azure Functions.
PYTHON_ENABLE_OPENTELEMETRY
Indica se o processo de trabalho do Python deve exportar telemetria para um endpoint do Open Telemetry. A definição desse sinalizador como True instrui o host do Functions a permitir que o processo de trabalho do Python exporte os dados do OpenTelemetry para o OTEL_EXPORTER_OTLP_ENDPOINT configurado. Para obter mais informações, consulte Definir as configurações do aplicativo.
PYTHON_ENABLE_WORKER_EXTENSIONS
A configuração é específica para aplicativos de funções do Python. Definir esse valor como 1 permite que o trabalhador carregue as Extensões do trabalhador do Python definidas em requirements.txt. Ele permite que seu aplicativo de funções acesse novos recursos fornecidos por pacotes de parceiros. Ele também pode alterar o comportamento da carga de função e da invocação em seu aplicativo. Verifique se a extensão escolhida é confiável, pois você corre o risco de usá-la. O Azure Functions não oferece garantias expressas a nenhuma extensão. Para saber como usar uma extensão, visite a página do manual da extensão ou o documento readme. Por padrão, esse valor é definido como 0.
| Key | Value | Description |
|---|---|---|
| PYTHON_ENABLE_WORKER_EXTENSIONS | 0 |
Desabilite qualquer extensão de trabalho do Python. |
| PYTHON_ENABLE_WORKER_EXTENSIONS | 1 |
Permita que o trabalho do Python carregue extensões do requirements.txt. |
PYTHON_THREADPOOL_THREAD_COUNT
Especifica o número máximo de threads que um trabalhador de 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 o Python versão 3.9 e superior, o valor é definido como None. Essa configuração não garante o número de threads que seriam definidos durante as execuções. Ela permite que o Python expanda o número de threads para o valor especificado. A configuração se aplica somente a aplicativos de funções Python. Além disso, a configuração se aplica à invocação de funções síncronas, e não a corrotinas.
| Key | Valor de amostra | Valor máximo |
|---|---|---|
| PYTHON_THREADPOOL_THREAD_COUNT | 2 | 32 |
SCALE_CONTROLLER_LOGGING_ENABLED
No momento, essa configuração está na versão prévia.
Essa configuração controla o registro em log do controlador de escala do Azure Functions. Para saber mais, confira Dimensionar logs do controlador.
| Key | Valor de amostra |
|---|---|
| SCALE_CONTROLLER_LOGGING_ENABLED | AppInsights:Verbose |
O valor dessa chave é fornecido no formato <DESTINATION>:<VERBOSITY>, que é definido da seguinte maneira:
| Property | Description |
|---|---|
<DESTINATION> |
O destino para o qual os logs são enviados. Os valores válidos são AppInsights e Blob.Ao usar o AppInsights, verifique se Application Insights está habilitado no aplicativo de funções.Quando você define o destino como Blob, os logs são criados em um contêiner de blob nomeado azure-functions-scale-controller na conta de armazenamento padrão definida na configuração do aplicativo AzureWebJobsStorage. |
<VERBOSITY> |
Especifique o nível de registro em log. Os valores com suporte são None, Warning e Verbose.Quando definido como Verbose, o controlador de escala registra um motivo para cada alteração na contagem de trabalhadores, bem como informações sobre os gatilhos que resultam nessas decisões. Os logs detalhados incluem avisos de gatilho e os hashes usados pelos gatilhos antes e depois que o controlador de escala é executado. |
Tip
Lembre-se de que, enquanto você deixa o registro em log do controlador de escala habilitado, ele afeta os custos potenciais de monitoramento do seu aplicativo de funções. Considere habilitar o log até que você colete dados suficientes para entender o comportamento do controlador de escala e, então, desabilitá-lo.
SCM_DO_BUILD_DURING_DEPLOYMENT
Controla o comportamento de build remoto durante a implantação. Quando SCM_DO_BUILD_DURING_DEPLOYMENT é definido como true, o projeto é criado remotamente durante a implantação.
| Key | Valor de amostra |
|---|---|
| SCM_DO_BUILD_DURING_DEPLOYMENT | true |
SCM_LOGSTREAM_TIMEOUT
Controla o tempo limite, em segundos, quando conectado aos logs de streaming. O valor padrão é 7200 (2 horas).
| Key | Valor de amostra |
|---|---|
| SCM_LOGSTREAM_TIMEOUT | 1800 |
O valor de exemplo anterior de 1800 define um tempo limite de 30 minutos. Para obter mais informações, confira Habilitar logs de execução de streaming no Azure Functions.
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
Cadeia de conexão para a conta de armazenamento em que o código e a configuração do aplicativo de funções estão armazenados em planos de colocação em escala controlados por eventos. Para obter mais informações, confira a Configuração da conexão da conta de armazenamento.
| Key | Valor de amostra |
|---|---|
| WEBSITE_CONTENTAZUREFILECONNECTIONSTRING | DefaultEndpointsProtocol=https;AccountName=... |
Essa configuração é necessária para aplicativos de plano de Consumo e Elastic Premium. Não é necessário para aplicativos de plano dedicados, que o Functions não dimensiona dinamicamente.
O plano de consumo flex agora é o plano de hospedagem sem servidor recomendado para o Azure Functions. Ele oferece dimensionamento mais rápido, inicializações frias reduzidas, rede privada e maior controle sobre desempenho e custo. Para obter mais informações, consulte o plano de consumo flex.
Alterar ou remover essa configuração pode fazer com que o aplicativo de funções não seja iniciado. Para saber mais, confira este artigo de solução de problemas.
Os Arquivos do Azure não dão suporte ao uso de identidade gerenciada ao acessar o compartilhamento de arquivos. Para obter mais informações, veja Cenários de autenticação com suporte dos Arquivos do Azure.
WEBSITE_CONTENTOVERVNET
Important
WEBSITE_CONTENTOVERVNET é uma configuração de aplicativo herdada que foi substituída pela propriedade do site vnetContentShareEnabled.
Um valor 1 permite que o aplicativo de funções seja dimensionado quando você tiver a conta de armazenamento restrita a uma rede virtual. Habilite essa configuração ao restringir a conta de armazenamento a uma rede virtual. Somente obrigatória quando WEBSITE_CONTENTSHARE e WEBSITE_CONTENTAZUREFILECONNECTIONSTRING são usados. Para saber mais, confira Restringir a conta de armazenamento a uma rede virtual.
| Key | Valor de amostra |
|---|---|
| WEBSITE_CONTENTOVERVNET | 1 |
Essa configuração de aplicativo é necessária nos planos Elástico Premium e Dedicado (Serviço de Aplicativo) (Standard e superior). Não é suportado quando executado em um plano de consumo.
Note
Você deve tomar cuidado especial ao rotear para o compartilhamento de conteúdo em uma conta de armazenamento compartilhada por vários aplicativos de funções no mesmo plano. Para obter mais informações, veja Roteamento consistente por meio de redes virtuais no artigo Considerações sobre armazenamento.
WEBSITE_CONTENTSHARE
O nome do compartilhamento de arquivo que o Functions usa para armazenar o código do aplicativo de funções e os arquivos de configuração. Esse conteúdo é exigido por planos de escala controlados por eventos. Usado com WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. O padrão é uma cadeia de caracteres exclusiva gerada pelo runtime, que começa com o nome do aplicativo de funções. Para obter mais informações, confira a Configuração da conexão da conta de armazenamento.
| Key | Valor de amostra |
|---|---|
| WEBSITE_CONTENTSHARE | functionapp091999e2 |
Essa configuração é necessária apenas para aplicativos de plano Premium e consumo. Não é necessário para aplicativos de plano Dedicado, que não são dimensionados dinamicamente pelo Functions.
O plano de consumo flex agora é o plano de hospedagem sem servidor recomendado para o Azure Functions. Ele oferece dimensionamento mais rápido, inicializações frias reduzidas, rede privada e maior controle sobre desempenho e custo. Para obter mais informações, consulte o plano de consumo flex.
O compartilhamento é criado quando o aplicativo de funções é criado. Alterar ou remover essa configuração pode fazer com que o aplicativo de funções não seja iniciado. Para saber mais, confira este artigo de solução de problemas.
As seguintes considerações se aplicam quando um modelo do ARM (Azure Resource Manager) é usado para criar um aplicativo de funções durante a implantação:
- Quando você não define um valor
WEBSITE_CONTENTSHAREpara o aplicativo de funções principal ou qualquer aplicativo nos slots, valores de compartilhamento exclusivos são gerados para você. Nenhuma configuraçãoWEBSITE_CONTENTSHAREé a abordagem recomendada para uma implantação de modelo do ARM. - Há cenários em que você precisa definir o valor
WEBSITE_CONTENTSHAREcomo um compartilhamento predefinido, por exemplo, ao usar uma conta de armazenamento protegida em uma rede virtual. Nesse caso, você deve definir um nome de compartilhamento exclusivo para o aplicativo de funções principal e o aplicativo para cada slot de implantação. Para uma conta de armazenamento protegida por uma rede virtual, você também deverá criar o próprio compartilhamento como parte da implantação automatizada. Para obter mais informações, consulte Implantações protegidas. -
WEBSITE_CONTENTSHAREnão pode ser uma configuração de slot. - Quando você especificar
WEBSITE_CONTENTSHARE, o valor deverá seguir estas diretrizes para nomes do compartilhamento.
WEBSITE_DNS_SERVER
Define o servidor DNS usado por um aplicativo ao resolver endereços IP. Frequentemente, essa configuração é necessária ao usar determinadas funcionalidades de rede, como Zonas Privadas do DNS do Azure e pontos de extremidade privados.
| Key | Valor de 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 será usada.
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED
Desabilita o cache ao implantar aplicativos de funções usando modelos do ARM (Azure Resource Manager).
| Key | Valor de amostra |
|---|---|
| WEBSITE_FUNCTIONS_ARMCACHE_ENABLED | 0 |
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT
O número máximo de instâncias que o aplicativo pode escalar horizontalmente. O padrão é sem limites.
Important
Essa configuração está em versão prévia. Uma propriedade de aplicativo para expansão máxima de função agora existe. Recomendamos esta propriedade para limitar a expansão.
| Key | Valor de amostra |
|---|---|
| WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT | 5 |
WEBSITE_NODE_DEFAULT_VERSION
Apenas para Windows.
Define a versão do Node.js a ser usada ao executar seu aplicativo de funções no Windows. Use um til (~) para que o runtime use a versão mais recente disponível da versão principal de destino. Por exemplo, quando definido como ~18, a versão mais recente do Node.js 18 é usada. Quando uma versão principal é direcionada com um til, você não precisa atualizar manualmente a versão secundária.
| Key | Valor de amostra |
|---|---|
| WEBSITE_NODE_DEFAULT_VERSION | ~18 |
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS
Ao trocar slots em um aplicativo de funções em execução em um plano Premium, a troca poderá falhar quando a conta de armazenamento dedicada usada pelo aplicativo tiver restrições de rede. Essa falha é causada por um recurso de registro em log de aplicativo herdado, que é compartilhado entre Functions e Serviço de Aplicativo. Essa configuração substitui esse recurso de log herdado e permite que a troca ocorra.
| Key | Valor de amostra |
|---|---|
| WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS | 0 |
Adicione WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS com um valor 0 a todos os slots para garantir que as configurações de diagnóstico herdadas não bloqueiem suas trocas. Você também pode adicionar essa configuração e valor apenas ao slot de produção como uma configuração de slot de implantação (fixo).
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS
Por padrão, as configurações de versão para aplicativos de funções são específicas para cada slot. Essa configuração é usada ao atualizar funções usando slots de implantação. Essa abordagem impede o comportamento inesperado 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 saber mais, confira Fazer upgrade usando slots.
| Key | Valor de amostra |
|---|---|
| WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS | 0 |
WEBSITE_RUN_FROM_PACKAGE
Permite que seu aplicativo de funções seja executado em um arquivo de pacote, que pode ser montado localmente ou implantado em uma URL externa.
| Key | Valor de amostra |
|---|---|
| WEBSITE_RUN_FROM_PACKAGE | 1 |
Os valores válidos são 1 ou um URL que resolve o local de um arquivo de pacote de implantação externo. Quando definido como 1, o pacote deve estar na pasta d:\home\data\SitePackages. Ao usar uma implantação em zip com WEBSITE_RUN_FROM_PACKAGE implantado, o pacote é automaticamente carregado para esse local. Para obter mais informações, veja Executar suas funções de um arquivo de pacote.
Quando você usa WEBSITE_RUN_FROM_PACKAGE=<URL>, a URL precisa ser resolvida para o local do arquivo do pacote em um local de armazenamento acessível, como um contêiner do Armazenamento de Blobs do Azure. O contêiner deve ser privado para impedir o acesso não autorizado, o que exige que você use uma SAS (assinatura de acesso compartilhado) na URL ou na autenticação da ID do Microsoft Entra para permitir o acesso. É recomendável usar a ID do Microsoft Entra com identidades gerenciadas.
Este é um exemplo de definição de WEBSITE_RUN_FROM_PACKAGE para a URL de um pacote de implantação em um contêiner do Armazenamento de Blobs do Azure:
WEBSITE_RUN_FROM_PACKAGE=https://contosostorageaccount.blob.core.windows.net/mycontainer/mypackage.zip
Ao usar 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 para a ID do recurso da identidade gerenciada atribuída pelo usuário. Ao implantar a partir de um URL de pacote externo, você também deve sincronizar gatilhos manualmente. Para obter mais informações, consulte Sincronização de gatilho.
WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID
Indica a ID do recurso de uma identidade gerenciada atribuída pelo usuário que é usada ao acessar um pacote de implantação em um contêiner externo do Armazenamento de Blobs do Azure protegido com o Microsoft Entra ID. 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 é a mesma que omitir a configuração, nesse caso, a identidade gerenciada atribuída pelo 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 extras para garantir que o aplicativo possa ser iniciado corretamente. A criação de configurações de aplicativo falha quando o aplicativo de funções não puder chamar corretamente a conta de armazenamento downstream ou o Key Vault devido a restrições de rede ou outros fatores limitantes. Quando WEBSITE_SKIP_CONTENTSHARE_VALIDATION é definido como 1, a verificação de validação é ignorada. Caso contrário, o valor será padrão 0 e a validação ocorrerá.
| Key | Valor de 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á iniciar corretamente. Nesse caso, as funções retornam erros HTTP 500. Para obter mais informações, confira Solucionar erro: "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 de amostra |
|---|---|
| WEBSITE_SLOT_NAME | Production |
WEBSITE_TIME_ZONE
Permite que você defina o fuso horário para o aplicativo de funções.
| Key | OS | Valor de amostra |
|---|---|---|
| WEBSITE_TIME_ZONE | Windows | Eastern Standard Time |
| WEBSITE_TIME_ZONE | Linux | America/New_York |
O fuso horário padrão usado com as expressões CRON é a Hora Universal Coordenada (UTC). Para que a expressão CRON se baseie em outro fuso horário, crie uma configuração de aplicativo para o aplicativo de funções denominada WEBSITE_TIME_ZONE.
O valor dessa configuração depende do sistema operacional e do plano no qual seu aplicativo de funções é executado.
| Sistema Operacional | Plan | Value |
|---|---|---|
| Windows | All | Defina o valor para o nome do fuso horário desejado, conforme fornecido pela segunda linha de cada par fornecido pelo comando do Windowstzutil.exe /L |
| Linux | Premium Dedicado |
Defina o valor como o nome do fuso horário desejado, conforme mostrado no banco de dados tz |
Note
WEBSITE_TIME_ZONE e TZ não têm suporte atualmente ao serem executados no Linux em um plano de Consumo Flexível ou de Consumo. 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 no seu aplicativo.
Por exemplo, o horário do leste dos EUA (representado por Eastern Standard Time (Windows) ou America/New_York (Linux)) atualmente usa UTC-05: 00 durante o horário padrão e UTC-04:00 durante o dia. Para que um acionador de cronômetro seja disparado às 10:00, horário do leste dos EUA, todos os dias, crie uma configuração de aplicativo para seu aplicativo de funções chamado WEBSITE_TIME_ZONE, defina o valor como Eastern Standard Time (Windows) ou America/New_York (Linux) e, em seguida, use a seguinte expressão NCRONTAB:
"0 0 10 * * *"
Ao usar WEBSITE_TIME_ZONE, o horário é ajustado para alterações de horário no fuso horário específico, incluindo horário de verão e alterações no horário padrão.
WEBSITE_USE_PLACEHOLDER
Indica se é necessário usar uma otimização de inicialização a frio específica durante a execução no plano de consumo. Defina como 0 para desabilitar a otimização de inicialização a frio no plano de Consumo.
| Key | Valor de amostra |
|---|---|
| WEBSITE_USE_PLACEHOLDER | 1 |
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED
Indica se uma otimização específica de inicialização a frio deve ser usada durante a execução de funções de processo de trabalho isoladas do .NET no plano de Consumo. Defina como 0 para desabilitar a otimização de inicialização a frio no plano de Consumo.
| Key | Valor de amostra |
|---|---|
| WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED | 1 |
WEBSITE_VNET_ROUTE_ALL
Important
WEBSITE_VNET_ROUTE_ALL é uma configuração de aplicativo herdada que foi substituída pela configuração do site vnetRouteAllEnabled .
Indica se todo o tráfego de saída do aplicativo é roteado por meio da rede virtual. Um valor de configuração 1 indica que todo o tráfego do aplicativo é roteado por meio da rede virtual. Você precisa dessa configuração ao configurar a integração de rede virtual regional nos planos de hospedagem Elástico Premium e Dedicado. Ela também é usada quando um gateway de NAT de rede virtual é usado para definir um endereço IP de saída estático.
| Key | Valor de amostra |
|---|---|
| WEBSITE_VNET_ROUTE_ALL | 1 |
WEBSITES_ENABLE_APP_SERVICE_STORAGE
Indica se o diretório /home é compartilhado entre instâncias escaladas, com um valor padrão de true. Você deve definir esse valor para false ao implantar em um contêiner seu aplicativo de funções.
Configurações do site do Serviço de Aplicativo
Algumas configurações deverão ser mantidas no nível do Serviço de Aplicativo como configurações de site como, por exemplo, as versões de idioma. Essas configurações são gerenciadas no portal do Azure, usando APIs REST ou usando a CLI do Azure ou o Azure PowerShell. Veja a seguir as configurações de site que podem ser necessárias, dependendo da linguagem de runtime, 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 você use a identidade gerenciada. Recomendamos essa abordagem em vez de 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. Esses valores são válidos:
| Value | Description |
|---|---|
system |
A identidade gerenciada atribuída pelo sistema do aplicativo de funções é usada. |
<USER_IDENTITY_RESOURCE_ID> |
A ID do recurso totalmente qualificado de uma identidade gerenciada atribuída pelo usuário. |
A identidade que você especificar deve ser adicionada à função ACRPull no registro de contêiner. Para obter mais informações, confira Criar e configurar um aplicativo de funções no Azure com a imagem.
alwaysOn
Em um aplicativo de funções em execução em um plano Dedicado (Serviço de Aplicativo), o runtime do Functions fica ocioso após alguns minutos de inatividade, ponto em que apenas as solicitações para um gatilho HTTP acordam seu aplicativo de funções. Para garantir que suas funções acionadas não HTTP sejam executadas corretamente, incluindo funções de acionamento de temporizador, habilite Always On para o aplicativo de funções definindo a configuração alwaysOn site para um valor detrue.
functionsRuntimeAdminIsolationEnabled
Determina se os pontos de extremidade do administrador interno (/admin) no seu aplicativo de funções podem ser acessados. Quando definido como false (o padrão), o aplicativo permite solicitações para endpoints em /admin quando estas solicitações apresentam uma chave mestra em uma solicitação. Quando true, os pontos de extremidade /admin não podem ser acessados, mesmo com uma chave mestra.
Essa propriedade não pode ser definida para aplicativos em execução no Linux em um plano de consumo. Ele não pode ser definido para aplicativos em execução na versão 1.x do Azure Functions. Se você estiver usando a versão 1.x, primeiro deverá migrar para a versão 4.x.
O plano de consumo flex agora é o plano de hospedagem sem servidor recomendado para o Azure Functions. Ele oferece dimensionamento mais rápido, inicializações frias reduzidas, rede privada e maior controle sobre desempenho e custo. Para obter mais informações, consulte o plano de consumo flex.
linuxFxVersion
Para os aplicativos de funções em execução no Linux, linuxFxVersion indica o idioma e a versão do processo de trabalho específico do idioma. Essas informações são usadas juntamente com FUNCTIONS_EXTENSION_VERSION para determinar qual imagem de contêiner específica do Linux está instalada para executar o aplicativo de funções. Essa configuração poderá ser definida para um valor predefinido ou um URI de imagem personalizado.
Esse valor será definido quando você criar o aplicativo de funções do Linux. Talvez seja necessário defini-lo para implantações de modelo do ARM e Bicep e em determinados cenários de atualização.
Valores de linuxFxVersion válidos
É possível usar o seguinte comando da CLI do Azure para ver uma tabela de valores atuais de linuxFxVersion, por versão do Azure Functions Runtime com suporte:
az functionapp list-runtimes --os linux --query "[].{stack:join(' ', [runtime, version]), LinuxFxVersion:linux_fx_version, SupportedFunctionsVersions:to_string(supported_functions_versions[])}" --output table
O comando anterior exigirá que você atualize para a versão 2.40 da CLI do Azure.
Imagens personalizadas
Quando você cria e mantém seu contêiner Linux personalizado para seu aplicativo 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 origem do registro do contêiner implantado. Para obter mais informações, consulte Trabalhar com contêineres e Azure Functions.
Important
Ao criar seus próprios contêineres, você precisará manter a imagem base do contêiner atualizada para a imagem base com suporte mais recente. As imagens base com suporte para o Azure Functions são específicas do idioma. Consulte os repositórios de imagem base do Azure Functions.
A equipe do Functions está comprometida em publicar atualizações mensais para essas imagens base. As atualizações regulares incluem as atualizações de versão secundária mais recentes e as correções de segurança para o runtime e os idiomas do Functions. Você deve atualizar regularmente o seu contêiner da imagem base mais recente e reimplantar a versão atualizada do seu contêiner. Para obter mais informações, consulte Manter contêineres personalizados.
netFrameworkVersion
Define a versão específica do .NET para funções C#. Para obter mais informações, confira Atualizar o seu aplicativo de funções no Azure.
powerShellVersion
Define a versão específica do PowerShell na qual as funções executam. Para obter mais informações, consulte Alterar a versão do PowerShell.
Ao executar localmente, você usará a configuração FUNCTIONS_WORKER_RUNTIME_VERSION no arquivo local.settings.json.
vnetContentShareEnabled
Os aplicativos em execução em um plano Premium usam um compartilhamento de arquivos para armazenar conteúdo. O nome desse compartilhamento de conteúdo é armazenado na configuração do aplicativo WEBSITE_CONTENTSHARE e a cadeia de conexão dele é armazenada em WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Para rotear o tráfego entre seu aplicativo de funções e o compartilhamento de conteúdo por meio de uma rede virtual, você também precisa definir vnetContentShareEnabled como true. Habilitar essa propriedade de site é um requisito ao restringir sua conta de armazenamento a uma rede virtual nos planos de hospedagem Elastic Premium e Dedicado.
Note
Você deve tomar cuidado especial ao rotear para o compartilhamento de conteúdo em uma conta de armazenamento compartilhada por vários aplicativos de funções no mesmo plano. Para obter mais informações, veja Roteamento consistente por meio de redes virtuais no artigo Considerações sobre armazenamento.
Essa propriedade do site substitui a configuração herdada de WEBSITE_CONTENTOVERVNET.
vnetImagePullEnabled
O Functions dá suporte a aplicativos de funções em execução em contêineres do Linux. Para se conectar e efetuar pull de um registro de contêiner dentro de uma rede virtual, você precisa definir vnetImagePullEnabled como true. Essa propriedade do site tem suporte nos planos de hospedagem Elastic Premium e Dedicado. O plano de Consumo Flex não depende das propriedades do site nem das configurações do aplicativo para definir a Rede. Para obter mais informações, veja Descontinuações do plano de Consumo Flexível.
vnetRouteAllEnabled
Indica se todo o tráfego de saída do aplicativo é roteado por meio da rede virtual. Um valor de configuração true indica que todo o tráfego do aplicativo é roteado por meio da rede virtual. Use essa configuração ao configurar a Integração de rede virtual regional nos planos Elastic Premium e Dedicado. Ela também é usada quando um gateway de NAT de rede virtual é usado para definir um endereço IP de saída estático. Para saber mais, confira Configurar o roteamento de aplicativos.
Essa configuração de site substitui a configuração herdada WEBSITE_VNET_ROUTE_ALL.
Descontinuações do plano de Consumo Flexível
No Plano de Consumo Flexível, essas propriedades do site e as configurações do aplicativo são preteridas e não devem ser usadas ao criar recursos do aplicativo de funções:
| Setting/property | Reason |
|---|---|
ENABLE_ORYX_BUILD |
Substituído pelo parâmetro remoteBuild ao implantar no Consumo Flexível |
FUNCTIONS_EXTENSION_VERSION |
A Configuração do Aplicativo é definida pelo back-end. Um valor de ~1 pode ser ignorado. |
FUNCTIONS_WORKER_RUNTIME |
Substituído por name no properties.functionAppConfig.runtime |
FUNCTIONS_WORKER_RUNTIME_VERSION |
Substituído por version no properties.functionAppConfig.runtime |
FUNCTIONS_MAX_HTTP_CONCURRENCY |
Substituído pela seção de gatilho de escala e simultaneidade |
FUNCTIONS_WORKER_PROCESS_COUNT |
Configuração não válida |
FUNCTIONS_WORKER_DYNAMIC_CONCURRENCY_ENABLED |
Configuração não válida |
SCM_DO_BUILD_DURING_DEPLOYMENT |
Substituído pelo parâmetro remoteBuild ao implantar no Consumo Flexível |
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING |
Substituído pela seção de implantação do functionAppConfig |
WEBSITE_CONTENTOVERVNET |
Não usado para rede no Consumo Flex |
WEBSITE_CONTENTSHARE |
Substituído pela seção de implantação do functionAppConfig |
WEBSITE_DNS_SERVER |
O DNS é herdado da rede virtual integrada no Flex |
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT |
Substituído por maximumInstanceCount no properties.functionAppConfig.scaleAndConcurrency |
WEBSITE_NODE_DEFAULT_VERSION |
Substituído por version no properties.functionAppConfig.runtime |
WEBSITE_RUN_FROM_PACKAGE |
Não usado para implantações no Consumo Flexível |
WEBSITE_SKIP_CONTENTSHARE_VALIDATION |
O compartilhamento de conteúdo não é utilizado no Flex Consumption |
WEBSITE_VNET_ROUTE_ALL |
Não usado para rede no Consumo Flex |
properties.alwaysOn |
Não válido |
properties.containerSize |
Renomeado como instanceMemoryMB |
properties.ftpsState |
Não há suporte para o FTPS |
properties.isReserved |
Não válido |
properties.IsXenon |
Não válido |
properties.javaVersion |
Substituído por version no properties.functionAppConfig.runtime |
properties.LinuxFxVersion |
Substituído por properties.functionAppConfig.runtime |
properties.netFrameworkVersion |
Substituído por version no properties.functionAppConfig.runtime |
properties.powerShellVersion |
Substituído por version no properties.functionAppConfig.runtime |
properties.siteConfig.functionAppScaleLimit |
Renomeado como maximumInstanceCount |
properties.siteConfig.preWarmedInstanceCount |
Renomeado como alwaysReadyInstances |
properties.use32BitWorkerProcess |
Não há suporte para 32 bits |
properties.vnetBackupRestoreEnabled |
Não usado para rede no Consumo Flex |
properties.vnetContentShareEnabled |
Não usado para rede no Consumo Flex |
properties.vnetImagePullEnabled |
Não usado para rede no Consumo Flex |
properties.vnetRouteAllEnabled |
Não usado para rede no Consumo Flex |
properties.windowsFxVersion |
Não válido |