Referência de configurações de aplicativo para Azure Functions
As configurações de aplicativo em um aplicativo de funções contêm opções de configuração que afetam todas as funções do aplicativo de funções. Essas configurações são acessadas como variáveis de ambiente. Este artigo lista as configurações de aplicativo disponíveis nos aplicativos de funções.
Há várias maneiras de adicionar, atualizar e excluir configurações do aplicativo de funções:
As alterações nas configurações do aplicativo de funções exigem que o seu aplicativo de funções seja reiniciado.
Neste artigo, valores de cadeia de conexão de exemplo são truncados para legibilidade.
Como o Azure Functions usa a plataforma do Serviço de Aplicativo do Azure para hosting, você pode encontrar algumas configurações relevantes para o hosting do seu aplicativo de funções documentadas em Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
Considerações sobre a configuração do aplicativo
Ao usar as configurações do aplicativo, você deve estar ciente das seguintes considerações:
As alterações nas configurações do aplicativo de funções exigem que o seu aplicativo de funções seja reiniciado.
Em nomes de configuração, sublinhado duplo (
__
) e dois-pontos (:
) são considerados valores reservados. Os sublinhados duplos são interpretados como delimitadores hierárquicos no Windows e no Linux, e os dois-pontos são interpretados da mesma maneira apenas no Linux. Por exemplo, a configuraçãoAzureFunctionsWebHost__hostid=somehost_123456
seria interpretada como o seguinte objeto JSON:"AzureFunctionsWebHost": { "hostid": "somehost_123456" }
Neste artigo, apenas sublinhados duplos são usados, pois eles têm suporte em ambos os sistemas operacionais. A maioria das configurações que dá suporte a conexões de identidade gerenciada usa sublinhados duplos.
Quando o Functions é executado localmente, as configurações do aplicativo são especificadas na coleção
Values
em local.settings.json.Há outras opções de configuração do aplicativo de funções no arquivo host.json e no arquivo local.settings.json.
Você pode usar configurações de aplicativo para substituir os valores de configuração de host.json sem precisar alterar o arquivo host.json. Isso é útil para cenários em que você precisa configurar ou modificar configurações específicas de host.json para um ambiente específico. Isso também permite que você altere configurações de host.json sem precisar republicar o projeto. Para saber mais, confira o artigo de referência de host.json.
Este artigo documenta as configurações mais relevantes para seus aplicativos de funções. Como o Azure Functions é executado no Serviço de Aplicativo, outras configurações de aplicativo também possuem suporte. Para mais informações, confira Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
Alguns cenários também exigem que você trabalhe com configurações documentadas nas configurações de site do Serviço de Aplicativo.
Alterar qualquer configuração do aplicativo somente leitura do Serviço de Aplicativo pode colocar seu aplicativo de funções em um estado sem resposta.
Tome cuidado ao atualizar as configurações de aplicativo usando APIs REST, incluindo modelos do ARM. Como essas APIs substituem as configurações de aplicativo existentes, você deve incluir todas as configurações existentes ao adicionar ou modificar configurações usando APIs REST ou modelos do ARM. Quando possível, use a CLI do Azure ou o Azure PowerShell para trabalhar programaticamente com as configurações do aplicativo. Para obter mais informações, confira Trabalhar com configurações de aplicativo.
APPINSIGHTS_INSTRUMENTATIONKEY
A chave de instrumentação do Application Insights. Não use APPINSIGHTS_INSTRUMENTATIONKEY
e APPLICATIONINSIGHTS_CONNECTION_STRING
. Quando possível, use APPLICATIONINSIGHTS_CONNECTION_STRING
. Quando o Application Insights é executado em uma nuvem soberana, você deve usar APPLICATIONINSIGHTS_CONNECTION_STRING
. Para saber mais, confira Como configurar o monitoramento para o Azure Functions.
Chave | Valor de exemplo |
---|---|
APPINSIGHTS_INSTRUMENTATIONKEY | 55555555-af77-484b-9032-64f83bb83bb |
Não use APPINSIGHTS_INSTRUMENTATIONKEY
e APPLICATIONINSIGHTS_CONNECTION_STRING
. Recomenda-se o uso do APPLICATIONINSIGHTS_CONNECTION_STRING
.
APPLICATIONINSIGHTS_AUTHENTICATION_STRING
Habilita o acesso ao Application Insights usando a autenticação do Microsoft Entra. Use essa configuração quando precisar se conectar ao workspace do Application Insights usando a autenticação do Microsoft Entra. Para obter mais informações, consulte Autenticação do Microsoft Entra para Application Insights.
Quando você usa APPLICATIONINSIGHTS_AUTHENTICATION_STRING
, o valor específico definido depende do tipo de identidade gerenciada:
Identidade gerenciada | Valor da configuração |
---|---|
System-assigned | Authorization=AAD |
Atribuída pelo usuário | Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID> |
Esse requisito de autenticação é aplicado às conexões do host do Functions, do depurador de instantâneos, do criador de perfil e de quaisquer agentes específicos do idioma. Para usar essa configuração, a identidade gerenciada já deve estar disponível para o aplicativo de funções com uma função atribuída equivalente ao Editor de Métricas de Monitoramento.
Observação
Ao usar APPLICATIONINSIGHTS_AUTHENTICATION_STRING
para se conectar ao Application Insights usando a autenticação do Microsoft Entra, você também deve Desabilitar a autenticação local para o Application Insights. Essa configuração requer a autenticação do Microsoft Entra para que a telemetria seja ingerida em seu espaço de trabalho.
APPLICATIONINSIGHTS_CONNECTION_STRING
A cadeia de conexão do Application Insights. Não use APPINSIGHTS_INSTRUMENTATIONKEY
e APPLICATIONINSIGHTS_CONNECTION_STRING
. Embora o uso do APPLICATIONINSIGHTS_CONNECTION_STRING
seja recomendado em todos os casos, ele é necessário nos seguintes casos:
- Quando 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 saber mais, confira Cadeias de conexão.
Chave | Valor de exemplo |
---|---|
APPLICATIONINSIGHTS_CONNECTION_STRING | InstrumentationKey=... |
Para se conectar ao Application Insights com a autenticação do Microsoft Entra, você deve usar APPLICATIONINSIGHTS_AUTHENTICATION_STRING
.
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL
Importante
Os proxies do Azure Functions são um recurso herdado para versões 1.x a 3.x do Azure Functions runtime. Para obter mais informações sobre o suporte herdado na versão 4.x, veja Proxies do Functions.
Por padrão, os Proxies de funções usam um atalho para enviar chamadas à API de proxies diretamente para funções no mesmo aplicativo de funções. Esse atalho é usado em vez de criar uma solicitação HTTP. Essa configuração permite que você desabilite esse comportamento do atalho.
Chave | Valor | Descrição |
---|---|---|
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL | true |
Chamadas com uma URL de back-end apontando para uma função no aplicativo de funções local não são enviadas diretamente para a função. Em vez disso, as solicitações são direcionadas de volta para o front-end HTTP para o aplicativo de funções. |
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL | false |
Chamadas com uma URL de back-end apontando para uma função no aplicativo de funções local são encaminhadas diretamente para essa função. false é o valor padrão. |
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES
Importante
Os proxies do Azure Functions são um recurso herdado para versões 1.x a 3.x do Azure Functions runtime. Para obter mais informações sobre o suporte herdado na versão 4.x, veja Proxies do Functions.
Essa configuração controla se caracteres %2F
são decodificados como barras nos parâmetros de rota quando inseridos na URL de back-end.
Chave | Valor | Descrição |
---|---|---|
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES | true |
Parâmetros de rota com barras codificadas são decodificados. |
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES | false |
Todos os parâmetros de rota são passados em conjunto e inalterados, que é o comportamento padrão. |
Por exemplo, considere o arquivo proxies.json para um aplicativo de funções no domínio myfunction.com
.
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {
"root": {
"matchCondition": {
"route": "/{*all}"
},
"backendUri": "example.com/{all}"
}
}
}
Quando AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES
está definido como true
, a URL example.com/api%2ftest
é resolvida para example.com/api/test
. Por padrão, a URL permanece inalterada como example.com/test%2fapi
. Para saber mais, confira Proxies de funções.
AZURE_FUNCTIONS_ENVIRONMENT
Configura o ambiente de hospedagem do runtime do aplicativo de funções durante a execução no Azure. Esse valor é lido durante a inicialização e somente esses valores são respeitados pelo runtime:
Valor | Descrição |
---|---|
Production |
Representa um ambiente de produção, com log reduzido e otimizações de desempenho completas. Esse é o padrão quando AZURE_FUNCTIONS_ENVIRONMENT não está definido ou é definido como um valor sem suporte. |
Staging |
Representa um ambiente de preparo, por exemplo, durante a execução em um slot de preparo. |
Development |
Um ambiente de desenvolvimento dá suporte a logs mais detalhados e outras otimizações de desempenho reduzido. O Azure Functions Core Tools define AZURE_FUNCTIONS_ENVIRONMENT como Development durante a execução no computador local. Essa configuração não pode ser substituída no arquivo local.settings.json. |
Use essa configuração em vez de ASPNETCORE_ENVIRONMENT
quando precisar alterar o ambiente de runtime no Azure para algo diferente de Production
. Para saber mais, veja Classe Startup e métodos baseados em ambiente.
Essa configuração não está disponível na versão 1.x do runtime do Functions.
AzureFunctionsJobHost__*
Na versão 2.x e em versões posteriores do runtime do Functions, as configurações de aplicativo podem substituir as configurações de host.json no ambiente atual. Essas substituições são expressas como configurações de aplicativo chamadas AzureFunctionsJobHost__path__to__setting
. Para saber mais, confira Substituir valores de host.json.
AzureFunctionsWebHost__hostid
Define a ID do host para um determinado aplicativo de funções, que deve ser uma ID exclusiva. Essa configuração substitui o valor da ID do host gerado automaticamente para seu aplicativo. Use essa configuração somente quando precisar evitar colisões de ID de host entre aplicativos de funções que compartilham a mesma conta de armazenamento.
Uma ID de host deve atender aos seguintes requisitos:
- Ter entre 1 e 32 caracteres
- Ela pode conter apenas letras minúsculas, números e traços
- Não iniciar ou terminar com um traço
- Não pode conter traços consecutivos
Uma maneira fácil de gerar uma ID é pegar um GUID, remover os traços e torná-lo minúscula, como convertendo o GUID 1835D7B5-5C98-4790-815D-072CC94C6F71
no valor 1835d7b55c984790815d072cc94c6f71
.
Chave | Valor de exemplo |
---|---|
AzureFunctionsWebHost__hostid | myuniquefunctionappname123456789 |
Para obter mais informações, consulte Considerações sobre a ID do host.
AzureWebJobsDashboard
Ela foi preterida e só há suporte para ela quando executada na versão 1.x do runtime do Azure Functions.
Cadeia de conexão da conta de armazenamento opcional para armazenar logs e exibi-los na guia Monitor do portal. A conta de armazenamento deve ser de uso geral, com suporte para blobs, filas e tabelas. Para saber mais, confira Requisitos de uma conta de armazenamento.
Chave | Valor de exemplo |
---|---|
AzureWebJobsDashboard | DefaultEndpointsProtocol=https;AccountName=... |
AzureWebJobsDisableHomepage
Um valor de true
desabilita a página de aterrissagem padrão mostrada para a URL raiz de um aplicativo de funções. O valor padrão é false
.
Chave | Valor de exemplo |
---|---|
AzureWebJobsDisableHomepage | true |
Quando essa configuração de aplicativo é omitida ou definida como false
, uma página semelhante ao exemplo a seguir é exibida na resposta à URL <functionappname>.azurewebsites.net
.
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
.
Chave | Valor de exemplo |
---|---|
AzureWebJobsDotNetReleaseCompilation | true |
AzureWebJobsFeatureFlags
Uma lista delimitada por vírgulas de recursos beta a habilitar. Os recursos beta habilitados por esses sinalizadores não estão prontos para produção, mas podem ser habilitados para uso experimental antes de serem lançados.
Chave | Valor de exemplo |
---|---|
AzureWebJobsFeatureFlags | feature1,feature2,EnableProxies |
Adicione EnableProxies
a esta lista para reabilitar proxies na versão 4.x do runtime do Functions ao planejar a migração para o Gerenciamento de API do Azure. Para obter mais informações, consulte Reabilitar proxies no Functions v4.x.
AzureWebJobsKubernetesSecretName
Indica o recurso de Segredos do Kubernetes usado para armazenar chaves. Compatível apenas quando em execução no Kubernetes. Essa configuração requer que você defina AzureWebJobsSecretStorageType
como kubernetes
. Quando AzureWebJobsKubernetesSecretName
não estiver definido, o repositório será considerado somente leitura. Nesse caso, os valores devem ser gerados antes da implantação. O Azure Functions Core Tools gera os valores automaticamente durante a implantação no Kubernetes.
Chave | Valor de exemplo |
---|---|
AzureWebJobsKubernetesSecretName | <SECRETS_RESOURCE> |
Para saber mais, confira Gerenciar armazenamento de chaves.
AzureWebJobsSecretStorageKeyVaultClientId
A ID do cliente da identidade gerenciada atribuída pelo usuário ou o registro do aplicativo usado para acessar o cofre em que as chaves são armazenadas. Essa configuração requer que você defina AzureWebJobsSecretStorageType
como keyvault
. Com suporte na versão 4.x e em versões posteriores do Functions Runtime.
Chave | Valor de exemplo |
---|---|
AzureWebJobsSecretStorageKeyVaultClientId | <CLIENT_ID> |
Para saber mais, confira Gerenciar armazenamento de chaves.
AzureWebJobsSecretStorageKeyVaultClientSecret
O segredo para a ID do cliente da identidade gerenciada atribuída pelo usuário ou o registro do aplicativo usado para acessar o cofre em que as chaves são armazenadas. Essa configuração requer que você defina AzureWebJobsSecretStorageType
como keyvault
. Com suporte na versão 4.x e em versões posteriores do Functions Runtime.
Chave | Valor de exemplo |
---|---|
AzureWebJobsSecretStorageKeyVaultClientSecret | <CLIENT_SECRET> |
Para saber mais, confira Gerenciar armazenamento de chaves.
AzureWebJobsSecretStorageKeyVaultName
Essa configuração foi preterida e só foi usada com a execução na versão 3.x do runtime do Azure Functions.
O nome de uma instância do cofre de chaves usada para armazenar as chaves. Essa configuração só foi usada na versão 3.x do runtime do Functions, a qual não tem mais suporte. Para a versão 4.x, use AzureWebJobsSecretStorageKeyVaultUri
. Essa configuração requer que você defina AzureWebJobsSecretStorageType
como keyvault
.
O cofre deve ter uma política de acesso correspondente à identidade gerenciada atribuída pelo sistema do recurso de hospedagem. A política de acesso deve conceder à identidade as seguintes permissões de segredo: Get
, Set
, List
e Delete
.
Quando suas funções são executadas localmente, a identidade do desenvolvedor é usada e as configurações devem estar no local.settings.json.
Chave | Valor de exemplo |
---|---|
AzureWebJobsSecretStorageKeyVaultName | <VAULT_NAME> |
Para saber mais, confira Gerenciar armazenamento de chaves.
AzureWebJobsSecretStorageKeyVaultTenantId
A ID do locatário do registro do aplicativo usada para acessar o cofre em que as chaves são armazenadas. Essa configuração requer que você defina AzureWebJobsSecretStorageType
como keyvault
. Com suporte na versão 4.x e em versões posteriores do Functions Runtime. Para saber mais, confira Gerenciar armazenamento de chaves.
Chave | Valor de exemplo |
---|---|
AzureWebJobsSecretStorageKeyVaultTenantId | <TENANT_ID> |
AzureWebJobsSecretStorageKeyVaultUri
O URI de uma instância do cofre de chaves usada para armazenar as chaves. Com suporte na versão 4.x e em versões posteriores do Functions Runtime. Essa é a configuração recomendada para usar uma instância do cofre de chaves para armazenamento de chaves. Essa configuração requer que você defina AzureWebJobsSecretStorageType
como keyvault
.
O valor AzureWebJobsSecretStorageKeyVaultUri
deve ser o valor completo do URI do Cofre exibido na guia Visão geral do Key Vault, incluindo https://
.
O cofre deve ter uma política de acesso correspondente à identidade gerenciada atribuída pelo sistema do recurso de hospedagem. A política de acesso deve conceder à identidade as seguintes permissões de segredo: Get
, Set
, List
e Delete
.
Quando suas funções são executadas localmente, a identidade do desenvolvedor é usada e as configurações devem estar no local.settings.json.
Chave | Valor de exemplo |
---|---|
AzureWebJobsSecretStorageKeyVaultUri | https://<VAULT_NAME>.vault.azure.net |
Para saber mais, confira Usar as referências do Key Vault para o Azure Functions.
AzureWebJobsSecretStorageSas
Uma URL de SAS do Armazenamento de Blobs para uma segunda conta de armazenamento usada para o armazenamento de chaves. Por padrão, o Functions usa a conta definida em AzureWebJobsStorage
. Ao usar essa opção de armazenamento de segredos, verifique se AzureWebJobsSecretStorageType
não está definido explicitamente ou definido como blob
. Para saber mais, confira Gerenciar armazenamento de chaves.
Chave | Valor de exemplo |
---|---|
AzureWebJobsSecretStorageSas | <BLOB_SAS_URL> |
AzureWebJobsSecretStorageType
Especifica o repositório ou o provedor a ser usado para armazenar chaves. As chaves são criptografadas antes de serem armazenadas por meio de um segredo exclusivo do aplicativo de funções.
Chave | Valor | Descrição |
---|---|---|
AzureWebJobsSecretStorageType | blob |
As chaves são armazenadas em um contêiner do armazenamento de blobs na conta fornecida pela configuração AzureWebJobsStorage . O armazenamento de blob é o comportamento padrão quando AzureWebJobsSecretStorageType não está definido.Para especificar outra conta de armazenamento, use a configuração AzureWebJobsSecretStorageSas para indicar a URL de SAS de uma segunda conta de armazenamento. |
AzureWebJobsSecretStorageType | files |
As chaves são persistentes no sistema de arquivos. Esse é o comportamento padrão para o Functions v1.x. |
AzureWebJobsSecretStorageType | keyvault |
As chaves são armazenadas em uma instância do cofre de chaves definida por AzureWebJobsSecretStorageKeyVaultName . |
AzureWebJobsSecretStorageType | kubernetes |
Com suporte apenas ao executar o tempo de execução do Functions em Kubernetes. Quando AzureWebJobsKubernetesSecretName não estiver definido, o repositório será considerado somente leitura. Nesse caso, os valores devem ser gerados antes da implantação. O Azure Functions Core Tools gera os valores automaticamente durante a implantação no Kubernetes. |
Para saber mais, confira Gerenciar armazenamento de chaves.
AzureWebJobsStorage
Especifica a cadeia de conexão para uma conta do Armazenamento do Azure que o runtime do Functions usa para operações normais. Alguns usos dessa conta de armazenamento pelo Functions incluem gerenciamento de chave, gerenciamento de gatilho de temporizador e pontos de verificação dos Hubs de Eventos. A conta de armazenamento deve ser de uso geral, com suporte para blobs, filas e tabelas. Para saber mais, veja Requisitos da conta de armazenamento.
Chave | Valor de exemplo |
---|---|
AzureWebJobsStorage | DefaultEndpointsProtocol=https;AccountName=... |
Em vez de uma cadeia de conexão, você pode usar uma conexão baseada em identidade para essa conta de armazenamento. Para obter mais informações, consulte Conectar-se ao armazenamento de host com uma identidade.
AzureWebJobsStorage__accountName
Ao usar uma conexão de armazenamento baseada em identidade, define o nome da conta de armazenamento em vez de usar a cadeia de conexão em AzureWebJobsStorage
. Essa sintaxe é exclusiva para AzureWebJobsStorage
e não pode ser usada para outras conexões baseadas em identidade.
Chave | Valor de exemplo |
---|---|
AzureWebJobsStorage__accountName | <STORAGE_ACCOUNT_NAME> |
Em nuvens soberanas ou durante o uso de um DNS personalizado, é necessário usar as configurações de AzureWebJobsStorage__*ServiceUri
específicas do serviço.
AzureWebJobsStorage__blobServiceUri
Ao usar uma conexão de armazenamento baseada em identidade, define o URI do plano de dados do serviço de blob da conta de armazenamento.
Chave | Valor de exemplo |
---|---|
AzureWebJobsStorage__blobServiceUri | https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net |
Use essa configuração em vez de AzureWebJobsStorage__accountName
em nuvens soberanas ou quando usar um DNS personalizado. Para obter mais informações, consulte Conectar-se ao armazenamento de host com uma identidade.
AzureWebJobsStorage__queueServiceUri
Ao usar uma conexão de armazenamento baseada em identidade, define o URI do plano de dados do serviço de fila da conta de armazenamento.
Chave | Valor de exemplo |
---|---|
AzureWebJobsStorage__queueServiceUri | https://<STORAGE_ACCOUNT_NAME>.queue.core.windows.net |
Use essa configuração em vez de AzureWebJobsStorage__accountName
em nuvens soberanas ou quando usar um DNS personalizado. Para obter mais informações, consulte Conectar-se ao armazenamento de host com uma identidade.
AzureWebJobsStorage__tableServiceUri
Ao usar uma conexão de armazenamento baseada em identidade, define o URI do plano de dados de um serviço de tabela da conta de armazenamento.
Chave | Valor de exemplo |
---|---|
AzureWebJobsStorage__tableServiceUri | https://<STORAGE_ACCOUNT_NAME>.table.core.windows.net |
Use essa configuração em vez de AzureWebJobsStorage__accountName
em nuvens soberanas ou quando usar um DNS personalizado. Para obter mais informações, consulte Conectar-se ao armazenamento de host com uma identidade.
AzureWebJobs_TypeScriptPath
Caminho para o compilador usado para TypeScript. Permite substituir o padrão se necessário.
Chave | Valor de exemplo |
---|---|
AzureWebJobs_TypeScriptPath | %HOME%\typescript |
DOCKER_REGISTRY_SERVER_PASSWORD
Indica a senha usada para acessar um registro de contêiner privado. Essa configuração só é obrigatória quando o aplicativo de funções conteinerizado é implantado por meio de um registro de contêiner privado. Para mais informações, confira Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
DOCKER_REGISTRY_SERVER_URL
Indica a URL de um registro de contêiner privado. Essa configuração só é obrigatória quando o aplicativo de funções conteinerizado é implantado por meio de um registro de contêiner privado. Para mais informações, confira Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
DOCKER_REGISTRY_SERVER_USERNAME
Indica a conta usada para acessar um registro de contêiner privado. Essa configuração só é obrigatória quando o aplicativo de funções conteinerizado é implantado por meio de um registro de contêiner privado. Para mais informações, confira Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
DOCKER_SHM_SIZE
Define o tamanho (em bytes) da memória compartilhada quando o trabalhador do Python estiver usando memória compartilhada. Para saber mais, confira Memória compartilhada.
Chave | Valor de exemplo |
---|---|
DOCKER_SHM_SIZE | 268435456 |
O valor acima define um tamanho de memória compartilhada de ~256 MB.
Exige que FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED
seja definido como 1
.
ENABLE_ORYX_BUILD
Indica se o sistema de build Oryx é usado durante a implantação. ENABLE_ORYX_BUILD
deve ser definido como true
ao fazer implantações de build remoto no Linux. Para obter mais informações, consulte Compilação Remota.
Chave | Valor de exemplo |
---|---|
ENABLE_ORYX_BUILD | true |
FUNCTION_APP_EDIT_MODE
Indica se você pode editar seu aplicativo de funções no portal do Azure. Os valores válidos são readwrite
e readonly
.
Chave | Valor de exemplo |
---|---|
FUNCTION_APP_EDIT_MODE | readonly |
O valor é definido pelo runtime com base na pilha de linguagens e no status de implantação do aplicativo de funções. Para obter mais informações, veja Limitações de desenvolvimento no portal do Azure.
VERSION_FUNCTIONS_EXTENSION
A versão do runtime do Functions que hospeda seu aplicativo de funções. Um til (~
) com a versão principal significa usar a versão mais recente da versão principal (por exemplo, ~4
). Quando novas versões secundárias da mesma versão principal estiverem disponíveis, elas serão instaladas automaticamente no aplicativo de funções.
Chave | Valor de exemplo |
---|---|
VERSION_FUNCTIONS_EXTENSION | ~4 |
Há suporte para os seguintes valores de versão de runtime principal:
Valor | Destino de runtime | Comentário |
---|---|---|
~4 |
4.x | Recomendadas |
~1 |
1.x | O suporte termina em 14 de setembro de 2026 |
Um valor de ~4
significa que o aplicativo é executado na versão 4.x do runtime. Um valor de pinos ~1
seu aplicativo para a versão 1.x do runtime. Não há mais suporte para as versões de runtime 2.x e 3.x. Para obter mais informações, consulte Visão geral de versões do Azure Functions runtime.
Se solicitado pelo suporte para fixar seu aplicativo em uma versão secundária específica, use o número de versão completo (por exemplo, 4.0.12345
). Para obter mais informações, confira Como direcionar as versões de runtime do Azure Functions.
FUNCTIONS_INPROC_NET8_ENABLED
Indica se um aplicativo pode usar o .NET 8 no modelo em processo. Para usar o .NET 8 no modelo em processo, esse valor precisa ser definido como 1
. Confira Atualização destinada ao .NET 8 para obter instruções completas, incluindo outros valores de configuração necessários.
Chave | Valor de exemplo |
---|---|
FUNCTIONS_INPROC_NET8_ENABLED | 1 |
Defina como 0
para desabilitar o suporte para o .NET 8 no modelo em processo.
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR
Essa configuração de aplicativo é uma maneira temporária de Node.js aplicativos habilitarem uma alteração interruptiva que facilita a solução de erros de ponto de entrada em Node.js v18 ou inferior. É altamente recomendável usar true
, especialmente para aplicativos de modelo de programação v4, que sempre usam arquivos de ponto de entrada. O comportamento sem a alteração interruptiva (false
) ignora erros de ponto de entrada e não os registra no Application Insights.
A partir do Node.js v20, a configuração do aplicativo não tem efeito e o comportamento de alteração interruptiva está sempre habilitado.
Para o Node.js v18 ou inferior, é usada a configuração do aplicativo, e o comportamento padrão dependerá de se o erro ocorrer antes ou depois que uma função de modelo v4 tiver sido registrada:
- Se o erro for gerado antes (por exemplo, se você estiver usando o modelo v3 ou o arquivo de ponto de entrada não existir), o comportamento padrão corresponderá a
false
. - Se o erro for gerado após (por exemplo, se você tentar registrar funções duplicadas do modelo v4), o comportamento padrão corresponderá a
true
.
Key | Valor | Descrição |
---|---|---|
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR | true |
Bloquear erros de ponto de entrada e registrá-los no Application Insights. |
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR | false |
Ignorar erros de ponto de entrada e registrá-los no Application Insights. |
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT
Substitui o limite padrão no tamanho do corpo das solicitações enviadas aos pontos de extremidade HTTP. O valor é dado em bytes, com um tamanho máximo de solicitação padrão de 104.857.600 bytes.
Chave | Valor de exemplo |
---|---|
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT | 250000000 |
FUNCTIONS_V2_COMPATIBILITY_MODE
Importante
Não há mais suporte para essa configuração. Originalmente, ela foi fornecida para permitir uma solução alternativa de curto prazo em aplicativos direcionados ao runtime v2.x, de modo que eles pudessem ser executados no runtime v3.x enquanto ainda havia suporte para ele. Exceto os aplicativos herdados executados na versão 1.x, todos os aplicativos de funções precisam ser executados na versão 4.x do runtime do Functions: FUNCTIONS_EXTENSION_VERSION=~4
. Para obter mais informações, consulte Visão geral de versões do Azure Functions runtime.
FUNCTIONS_WORKER_PROCESS_COUNT
Especifica o número máximo de processos de trabalho de linguagem, com um valor padrão de 1
. O valor máximo permitido é de 10
. As invocações de função são distribuídas de maneira uniforme entre os processos de trabalho de linguagem. Os processos de trabalho de linguagem são gerados a cada 10 segundos até que a contagem definida por FUNCTIONS_WORKER_PROCESS_COUNT
seja atingida. O uso de vários processos de trabalho de linguagem não é o mesmo que acolocação em escala. Considere usar essa configuração quando a carga de trabalho tiver uma combinação de invocações associadas à CPU e à E/S. Essa configuração se aplica a todos os runtimes de linguagem, exceto o .NET em execução em processo (FUNCTIONS_WORKER_RUNTIME=dotnet
).
Chave | Valor de exemplo |
---|---|
FUNCTIONS_WORKER_PROCESS_COUNT | 2 |
RUNTIME_FUNCTIONS_WORKER
A linguagem ou a pilha de linguagens do runtime de trabalho a ser carregada no aplicativo de funções. Isso corresponde à linguagem que está sendo usada em seu aplicativo (por exemplo, python
). Começando na versão 2.x do runtime do Azure Functions, um determinado aplicativo de funções só pode dar suporte a uma linguagem.
Chave | Valor de exemplo |
---|---|
RUNTIME_FUNCTIONS_WORKER | node |
Valores válidos:
Valor | Linguagem/pilha de linguagens |
---|---|
dotnet |
C# (biblioteca de classes) C# (script) |
dotnet-isolated |
C# (processo de trabalho isolado) |
java |
Java |
node |
JavaScript TypeScript |
powershell |
PowerShell |
python |
Python |
custom |
Outros |
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED
Essa configuração permite que o trabalhador do Python use a memória compartilhada para melhorar a taxa de transferência. Habilite a memória compartilhada quando seu aplicativo de funções do Python estiver atingindo gargalos de memória.
Chave | Valor de exemplo |
---|---|
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED | 1 |
Com essa configuração habilitada, você pode usar a configuração DOCKER_SHM_SIZE para definir o tamanho da memória compartilhada. Para saber mais, confira Memória compartilhada.
JAVA_OPTS
Usado para personalizar a JVM (máquina virtual Java) usada para executar as funções Java durante a execução em um plano premium ou plano dedicado. Ao executar em um plano de consumo, em vez disso, use languageWorkers__java__arguments
. Para obter mais informações, confira Personalizar a JVM.
languageWorkers__java__arguments
Usado para personalizar a JVM (máquina virtual Java) usada para executar suas funções Java durante a execução em um plano de consumo. Essa configuração aumenta os tempos de inicialização a frio para funções Java em execução em um plano de consumo. Para um plano premium ou dedicado, em vez disso, use JAVA_OPTS
. Para obter mais informações, confira Personalizar a JVM.
MDMaxBackgroundUpgradePeriod
Controla o período de atualização em segundo plano das dependências gerenciadas para aplicativos de funções do PowerShell, com um valor padrão de 7.00:00:00
(semanal).
Cada processo de trabalho do PowerShell inicia a verificação de atualizações de módulo na Galeria do PowerShell no início do processo e a cada MDMaxBackgroundUpgradePeriod
depois disso. Quando uma nova versão de módulo está disponível no Galeria do PowerShell, ela é instalada no sistema de arquivos e disponibilizada para os trabalhos do PowerShell. Diminuir esse valor permite que seu aplicativo de funções obtenha versões mais recentes do módulo antecipadamente, mas também aumenta o uso de recursos do aplicativo (E/S de rede, CPU, armazenamento). Aumentar esse valor diminui o uso de recursos do aplicativo, mas também pode atrasar a entrega de novas versões de módulo ao seu aplicativo.
Chave | Valor de exemplo |
---|---|
MDMaxBackgroundUpgradePeriod | 7.00:00:00 |
Para saber mais, confira Gerenciamento de dependências.
MDNewSnapshotCheckPeriod
Especifica com que frequência cada trabalho do PowerShell verifica se as atualizações de dependência gerenciada foram instaladas. A frequência padrão é 01:00:00
(por hora).
Depois que novas versões de módulo são instaladas no sistema de arquivos, todos os processos de trabalho do PowerShell devem ser reiniciados. Reiniciar os trabalhos do PowerShell afeta a disponibilidade do aplicativo, pois a execução da função atual pode ser interrompida. Até que todos os processos de trabalho do PowerShell sejam reiniciados, as invocações de função podem usar as versões de módulo antigas ou novas. A reinicialização de todos os trabalhos do PowerShell é concluída em MDNewSnapshotCheckPeriod
.
A cada MDNewSnapshotCheckPeriod
, a função de trabalho do PowerShell verifica se as atualizações de dependência gerenciada foram ou não instaladas. Quando as atualizações são instaladas, uma reinicialização é iniciada. Aumentar esse valor diminui a frequência de interrupções devido a reinicializações. No entanto, o aumento também pode aumentar o tempo durante o qual as invocações de função podem usar as versões antigas ou novas do módulo, de forma não determinística.
Chave | Valor de exemplo |
---|---|
MDNewSnapshotCheckPeriod | 01:00:00 |
Para saber mais, confira Gerenciamento de dependências.
MDMinBackgroundUpgradePeriod
O período após uma verificação anterior de atualização de dependência gerenciada antes de outra verificação de atualização ser iniciada, com um padrão de 1.00:00:00
(diariamente).
Para evitar atualizações excessivas de módulo em reinicializações de trabalho frequentes, a verificação de atualizações de módulo não será executada quando algum trabalho já tiver iniciado essa verificação no último MDMinBackgroundUpgradePeriod
.
Chave | Valor de exemplo |
---|---|
MDMinBackgroundUpgradePeriod | 1.00:00:00 |
Para saber mais, confira Gerenciamento de dependências.
PIP_INDEX_URL
Essa configuração permite substituir a URL base do Índice de Pacote do Python, que por padrão é https://pypi.org/simple
. Use essa configuração quando precisar executar um build remoto usando dependências personalizadas. Essas dependências personalizadas encontradas em um repositório de índice de pacote em conformidade com o PEP 503 (a API de repositório simples) ou em um diretório local que siga o mesmo formato.
Chave | Valor de exemplo |
---|---|
PIP_INDEX_URL | http://my.custom.package.repo/simple |
Para saber mais, confira a documentação pip
para --index-url
e o uso de Dependências personalizadas na referência do desenvolvedor de Python.
PIP_EXTRA_INDEX_URL
O valor dessa configuração indica uma URL de índice adicional de pacotes personalizados para aplicativos do Python a serem usados além de --index-url
. Use essa configuração quando precisar executar um build remoto usando dependências personalizadas encontradas em um índice de pacote extra. Deve seguir as mesmas regras que --index-url
.
Chave | Valor de exemplo |
---|---|
PIP_EXTRA_INDEX_URL | http://my.custom.package.repo/simple |
Para saber mais, confira a documentação pip
para --extra-index-url
e Dependências personalizadas na referência do desenvolvedor de Python.
PROJETO
Uma configuração de implantação contínua que informa ao serviço de implantação do Kudu a pasta em um repositório conectado para localizar o projeto implantável.
Chave | Valor de exemplo |
---|---|
PROJETO | WebProject/WebProject.csproj |
PYTHON_ISOLATE_WORKER_DEPENDENCIES
A configuração é específica para aplicativos de funções do Python. Ele define a priorização da ordem de carregamento do módulo. Por padrão, esse valor é definido como 0
.
Chave | Valor | Descrição |
---|---|---|
PYTHON_ISOLATE_WORKER_DEPENDENCIES | 0 |
Priorize o carregamento das bibliotecas do Python das dependências internas de trabalho do Python; o que é o comportamento padrão. Bibliotecas de terceiros definidas em requirements.txt podem estar sombreadas. |
PYTHON_ISOLATE_WORKER_DEPENDENCIES | 1 |
Priorize o carregamento das bibliotecas do Python do pacote do aplicativo definido em requirements.txt. Isso impede que suas bibliotecas se colidam com as bibliotecas internas de trabalho do Python. |
PYTHON_ENABLE_DEBUG_LOGGING
Habilita o registro em log no nível de depuração em um aplicativo de funções do Python. Um valor de 1
habilita o registro em log no nível de depuração. Sem essa configuração ou com um valor de 0
, somente as informações e os logs de nível superior são enviados do trabalho do Python para o host do Functions. Use essa configuração ao depurar ou rastrear suas execuções de função do Python.
Ao depurar funções do Python, certifique-se também de definir um nível de log de depuração ou rastreamento no arquivo host.json, conforme necessário. Para saber mais, confira Como configurar o monitoramento para o Azure Functions.
PYTHON_ENABLE_WORKER_EXTENSIONS
A configuração é específica para aplicativos de funções do Python. Definir isso como 1
permite que o trabalho carregue em 1
definidas em requirements.txt. Ele permite que seu aplicativo de funções acesse novos recursos fornecidos por pacotes de terceiros. Ele também pode alterar o comportamento da carga de função e da invocação em seu aplicativo. Verifique se a extensão escolhida é confiável, pois você corre o risco de usá-la. O Azure Functions não oferece garantias expressas a nenhuma extensão. Para saber como usar uma extensão, visite a página do manual da extensão ou o documento readme. Por padrão, esse valor é definido como 0
.
Chave | Valor | Descrição |
---|---|---|
PYTHON_ENABLE_WORKER_EXTENSIONS | 0 |
Desabilite qualquer extensão de trabalho do Python. |
PYTHON_ENABLE_WORKER_EXTENSIONS | 1 |
Permitir que o trabalho do Python carregue extensões do requirements.txt. |
PYTHON_THREADPOOL_THREAD_COUNT
Especifica o número máximo de threads que uma função de trabalho na linguagem Python usaria para executar invocações de função, com um valor padrão de 1
para o Python versão 3.8
e abaixo. Para o Python versão 3.9
e superior, o valor é definido como None
. Essa configuração não garante o número de threads que seriam definidos durante as execuções. Ela permite que o Python expanda o número de threads para o valor especificado. A configuração se aplica somente a aplicativos de funções Python. Além disso, a configuração se aplica à invocação de funções síncronas, e não a corrotinas.
Chave | Valor de exemplo | Valor máximo |
---|---|---|
PYTHON_THREADPOOL_THREAD_COUNT | 2 | 32 |
SCALE_CONTROLLER_LOGGING_ENABLED
No momento, essa configuração está na versão prévia.
Essa configuração controla o registro em log do controlador de escala do Azure Functions. Para saber mais, confira Dimensionar logs do controlador.
Chave | Valor de exemplo |
---|---|
SCALE_CONTROLLER_LOGGING_ENABLED | AppInsights:Verbose |
O valor dessa chave é fornecido no formato <DESTINATION>:<VERBOSITY>
, que é definido da seguinte maneira:
Propriedade | Descrição |
---|---|
<DESTINATION> |
O destino para o qual os logs são enviados. Os valores válidos são AppInsights e Blob .Ao usar o AppInsights , verifique se Application Insights está habilitado no aplicativo de funções.Quando você define o destino como Blob , os logs são criados em um contêiner de blob nomeado azure-functions-scale-controller na conta de armazenamento padrão definida na configuração do aplicativo AzureWebJobsStorage . |
<VERBOSITY> |
Especifique o nível de registro em log. Os valores com suporte são None , Warning e Verbose .Quando definido como Verbose , o controlador de escala registra um motivo para cada alteração na contagem de trabalhadores, bem como informações sobre os gatilhos que resultam nessas decisões. Os logs detalhados incluem avisos de gatilho e os hashes usados pelos gatilhos antes e depois que o controlador de escala é executado. |
Dica
Lembre-se de que, enquanto você deixa o registro em log do controlador de escala habilitado, ele afeta os custos potenciais de monitoramento do seu aplicativo de funções. Considere habilitar o registro em log até que você tenha coletado dados suficientes para entender como o controlador de escala está se comportando, depois desabilite-o.
SCM_DO_BUILD_DURING_DEPLOYMENT
Controla o comportamento de build remoto durante a implantação. Quando SCM_DO_BUILD_DURING_DEPLOYMENT
é definido como true
, o projeto é criado remotamente durante a implantação.
Chave | Valor de exemplo |
---|---|
SCM_DO_BUILD_DURING_DEPLOYMENT | true |
SCM_LOGSTREAM_TIMEOUT
Controla o tempo limite, em segundos, quando conectado aos logs de streaming. O valor padrão é 7200 (2 horas).
Chave | Valor de exemplo |
---|---|
SCM_LOGSTREAM_TIMEOUT | 1800 |
O valor de exemplo acima 1800
define um tempo limite de 30 minutos. Para obter mais informações, confira Habilitar logs de execução de streaming no Azure Functions.
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
Cadeia de conexão para a conta de armazenamento em que o código e a configuração do aplicativo de funções estão armazenados em planos de colocação em escala controlados por eventos. Para obter mais informações, confira a Configuração da conexão da conta de armazenamento.
Chave | Valor de exemplo |
---|---|
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING | DefaultEndpointsProtocol=https;AccountName=... |
Essa configuração é obrigatória para aplicativos dos planos Consumo e Elástico Premium em execução no Windows e no Linux. Ela não é necessária para aplicativos do plano Dedicado, que não são escalados dinamicamente pelo Functions.
Alterar ou remover essa configuração pode fazer com que o aplicativo de funções não seja iniciado. Para saber mais, confira este artigo de solução de problemas.
Os Arquivos do Azure não dão suporte ao uso de identidade gerenciada ao acessar o compartilhamento de arquivos. Para obter mais informações, veja Cenários de autenticação com suporte dos Arquivos do Azure.
WEBSITE_CONTENTOVERVNET
Importante
WEBSITE_CONTENTOVERVNET é uma configuração de aplicativo herdada que foi substituída pela propriedade do site vnetContentShareEnabled.
Um valor 1
permite que o aplicativo de funções seja dimensionado quando você tiver a conta de armazenamento restrita a uma rede virtual. Habilite essa configuração ao restringir a conta de armazenamento a uma rede virtual. Somente obrigatória quando WEBSITE_CONTENTSHARE
e WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
são usados. Para saber mais, confira Restringir a conta de armazenamento a uma rede virtual.
Chave | Valor de exemplo |
---|---|
WEBSITE_CONTENTOVERVNET | 1 |
Essa configuração de aplicativo é necessária nos planos Elastic Premium e Dedicado (Serviço de Aplicativo) (Standard e superior). Não tem suporte quando executado em um Plano de consumo.
Observação
Você deve tomar cuidado especial ao rotear para o compartilhamento de conteúdo em uma conta de armazenamento compartilhada por vários aplicativos de funções no mesmo plano. Para obter mais informações, veja Roteamento consistente por meio de redes virtuais no artigo Considerações sobre armazenamento.
WEBSITE_CONTENTSHARE
O nome do compartilhamento de arquivo que o Functions usa para armazenar o código do aplicativo de funções e os arquivos de configuração. Esse conteúdo é exigido por planos de escala controlados por eventos. Usado com WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
. O padrão é uma cadeia de caracteres exclusiva gerada pelo runtime, que começa com o nome do aplicativo de funções. Para obter mais informações, confira a Configuração da conexão da conta de armazenamento.
Chave | Valor de exemplo |
---|---|
WEBSITE_CONTENTSHARE | functionapp091999e2 |
Essa configuração é necessária para aplicativos dos planos Consumo e Premium no Windows e no Linux. Ela não é necessária para aplicativos do plano Dedicado, que não são escalados dinamicamente pelo Functions.
O compartilhamento é criado quando o aplicativo de funções é criado. Alterar ou remover essa configuração pode fazer com que o aplicativo de funções não seja iniciado. Para saber mais, confira este artigo de solução de problemas.
As seguintes considerações se aplicam quando um modelo do ARM (Azure Resource Manager) é usado para criar um aplicativo de funções durante a implantação:
- Quando você não define um valor
WEBSITE_CONTENTSHARE
para o aplicativo de funções principal ou qualquer aplicativo nos slots, valores de compartilhamento exclusivos são gerados para você. Não definirWEBSITE_CONTENTSHARE
é a abordagem recomendada para uma implantação de modelo ARM. - Há cenários em que você precisa definir o valor
WEBSITE_CONTENTSHARE
como um compartilhamento predefinido, por exemplo, ao usar uma conta de armazenamento protegida em uma rede virtual. Nesse caso, você deve definir um nome de compartilhamento exclusivo para o aplicativo de funções principal e o aplicativo para cada slot de implantação. No caso de uma conta de armazenamento protegida por uma rede virtual, você também precisa criar o próprio compartilhamento como parte da implantação automatizada. Para obter mais informações, veja Implantações protegidas. WEBSITE_CONTENTSHARE
não pode ser uma configuração de slot.- Quando você especificar
WEBSITE_CONTENTSHARE
, o valor deverá seguir estas diretrizes para nomes do compartilhamento.
WEBSITE_DNS_SERVER
Define o servidor DNS usado por um aplicativo ao resolver endereços IP. Frequentemente, essa configuração é necessária ao usar determinadas funcionalidades de rede, como Zonas Privadas do DNS do Azure e pontos de extremidade privados.
Chave | Valor de exemplo |
---|---|
WEBSITE_DNS_SERVER | 168.63.129.16 |
WEBSITE_ENABLE_BROTLI_ENCODING
Controla se a codificação Brotli é usada para compactação em vez da compactação gzip padrão. Quando WEBSITE_ENABLE_BROTLI_ENCODING
é definido como 1
, a codificação Brotli é usada; caso contrário, a codificação gzip é usada.
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED
Desabilita o cache ao implantar aplicativos de funções usando modelos do ARM (Azure Resource Manager).
Chave | Valor de exemplo |
---|---|
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED | 0 |
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT
O número máximo de instâncias que o aplicativo pode escalar horizontalmente. O padrão é sem limites.
Importante
Essa configuração está em versão prévia. Uma propriedade de aplicativo para expansão máxima da função foi adicionada e é a maneira recomendada de limitar a escala horizontal.
Chave | Valor de exemplo |
---|---|
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT | 5 |
WEBSITE_NODE_DEFAULT_VERSION
Somente Windows.
Define a versão do Node.js a ser usada ao executar seu aplicativo de funções no Windows. Use um til (~) para que o runtime use a versão mais recente disponível da versão principal de destino. Por exemplo, quando definido como ~18
, a versão mais recente do Node.js 18 é usada. Quando uma versão principal é direcionada com um til, você não precisa atualizar manualmente a versão secundária.
Chave | Valor de exemplo |
---|---|
WEBSITE_NODE_DEFAULT_VERSION | ~18 |
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS
Ao realizar uma troca de slot em um aplicativo de funções em execução em um plano Premium, a troca pode falhar quando a conta de armazenamento dedicada usada pelo aplicativo estiver restrita à rede. Essa falha é causada por uma funcionalidade de registo de aplicações herdada, que é partilhada tanto pelas Funções como pelo Serviço de Aplicativo. Essa configuração substitui esse recurso de log herdado e permite que a troca ocorra.
Chave | Valor de exemplo |
---|---|
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS | 0 |
Adicione WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS
com um valor 0
a todos os slots para garantir que as configurações de diagnóstico herdadas não bloqueiem suas trocas. Você também pode adicionar essa configuração e valor apenas ao slot de produção como uma configuração slot de implantação (fixo).
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS
Por padrão, as configurações de versão para aplicativos de funções são específicas para cada slot. Essa configuração é usada ao atualizar funções usando slots de implantação. Isso impede o comportamento imprevisto devido a alterações da versões após uma troca. Defina como 0
em produção e no slot para garantir que todas as configurações de versão também sejam trocadas. Para saber mais, confira Fazer upgrade usando slots.
Chave | Valor de exemplo |
---|---|
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS | 0 |
WEBSITE_RUN_FROM_PACKAGE
Permite que seu aplicativo de funções seja executado em um arquivo de pacote, que pode ser montado localmente ou implantado em uma URL externa.
Chave | Valor de exemplo |
---|---|
WEBSITE_RUN_FROM_PACKAGE | 1 |
Os valores válidos são 1
ou uma URL que resolve o local de um arquivo de pacote de implantação externo. Quando definido como 1
, o pacote deve estar na pasta d:\home\data\SitePackages
. Ao usar uma implantação em zip com WEBSITE_RUN_FROM_PACKAGE
implantado, o pacote é automaticamente carregado para esse local. Na versão prévia, essa configuração foi nomeada WEBSITE_RUN_FROM_ZIP
. Para obter mais informações, veja Executar suas funções de um arquivo de pacote.
Ao implantar a partir de uma URL de pacote externo, você também deve sincronizar gatilhos manualmente. Para obter mais informações, consulte Sincronização de gatilho.
WEBSITE_SKIP_CONTENTSHARE_VALIDATION
As configurações WEBSITE_CONTENTAZUREFILECONNECTIONSTRING e WEBSITE_CONTENTSHARE têm verificações de validação adicionais para garantir que o aplicativo possa ser iniciado corretamente. A criação de configurações de aplicativo falha quando o aplicativo de funções não puder chamar corretamente a conta de armazenamento downstream ou o Key Vault devido a restrições de rede ou outros fatores limitantes. Quando WEBSITE_SKIP_CONTENTSHARE_VALIDATION é definido como 1
, a verificação de validação é ignorada; caso contrário, o valor usa 0
como padrão e a validação ocorre.
Chave | Valor de exemplo |
---|---|
WEBSITE_SKIP_CONTENTSHARE_VALIDATION | 1 |
Se a validação for ignorada e a cadeia de conexão ou o compartilhamento de conteúdo não forem inválidos, o aplicativo poderá não iniciar corretamente. Nesse caso, as funções retornam erros HTTP 500. Para obter mais informações, confira Solucionar o erro: "O Azure Functions Runtime está inacessível"
WEBSITE_SLOT_NAME
Somente leitura. Nome do slot de implantação atual. O nome do slot de produção é Production
.
Chave | Valor de exemplo |
---|---|
WEBSITE_SLOT_NAME | Production |
WEBSITE_TIME_ZONE
Permite que você defina o fuso horário para o aplicativo de funções.
Chave | Sistema operacional | Valor de exemplo |
---|---|---|
WEBSITE_TIME_ZONE | Windows | Eastern Standard Time |
WEBSITE_TIME_ZONE | Linux | America/New_York |
O fuso horário padrão usado com as expressões CRON é a Hora Universal Coordenada (UTC). Para que a expressão CRON se baseie em outro fuso horário, crie uma configuração de aplicativo para o aplicativo de funções denominada WEBSITE_TIME_ZONE
.
O valor dessa configuração depende do sistema operacional e do plano no qual seu aplicativo de funções é executado.
Sistema operacional | Plano | Valor |
---|---|---|
Windows | Tudo | Defina o valor para o nome do fuso horário desejado, conforme fornecido pela segunda linha de cada par fornecido pelo comando do Windowstzutil.exe /L |
Linux | Premium Dedicado |
Defina o valor como o nome do fuso horário desejado, conforme mostrado no banco de dados tz. |
Observação
No momento, não há suporte para WEBSITE_TIME_ZONE
e TZ
durante a execução no Linux em um plano de Consumo. Nesse caso, definir WEBSITE_TIME_ZONE
ou TZ
pode criar problemas relacionados ao SSL e fazer com que as métricas parem de funcionar para seu aplicativo.
Por exemplo, o horário do leste dos EUA (representado por Eastern Standard Time
(Windows) ou America/New_York
(Linux)) atualmente usa UTC-05: 00 durante o horário padrão e UTC-04:00 durante o dia. Para que um acionador de cronômetro seja disparado às 10:00, horário do leste dos EUA, todos os dias, crie uma configuração de aplicativo para seu aplicativo de funções chamado WEBSITE_TIME_ZONE
, defina o valor como Eastern Standard Time
(Windows) ou America/New_York
(Linux) e, em seguida, use a seguinte expressão NCRONTAB:
"0 0 10 * * *"
Quando você usa WEBSITE_TIME_ZONE
, o horário é ajustado para alterações de horário no fuso horário específico, incluindo horário de verão e alterações no horário padrão.
WEBSITE_USE_PLACEHOLDER
Indica se é necessário usar uma otimização de inicialização a frio específica durante a execução no plano de consumo. Defina como 0
para desabilitar a otimização de inicialização a frio no plano de consumo.
Chave | Valor de exemplo |
---|---|
WEBSITE_USE_PLACEHOLDER | 1 |
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED
Indica se uma otimização específica de inicialização a frio deve ser usada durante a execução de funções de processo de trabalho isoladas do .NET no plano de Consumo. Defina como 0
para desabilitar a otimização de inicialização a frio no plano de consumo.
Chave | Valor de exemplo |
---|---|
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED | 1 |
WEBSITE_VNET_ROUTE_ALL
Importante
WEBSITE_VNET_ROUTE_ALL é uma configuração de aplicativo herdada que foi substituída pela configuração de site vnetRouteAllEnabled.
Indica se todo o tráfego de saída do aplicativo é roteado por meio da rede virtual. Um valor de configuração 1
indica que todo o tráfego do aplicativo é roteado por meio da rede virtual. Você precisará dessa configuração ao configurar a Integração de rede virtual regional em planos de hospedagem Elastic Premium e Dedicado. Ela também é usada quando um gateway de NAT de rede virtual é usado para definir um endereço IP de saída estático.
Chave | Valor de exemplo |
---|---|
WEBSITE_VNET_ROUTE_ALL | 1 |
WEBSITES_ENABLE_APP_SERVICE_STORAGE
Indica se o diretório /home
é compartilhado entre instâncias escaladas, com um valor padrão de true
. Você deverá definir esse valor como false
ao implantar seu aplicativo de funções em um contêiner.
Configurações do site do Serviço de Aplicativo
Algumas configurações deverão ser mantidas no nível do Serviço de Aplicativo como configurações de site como, por exemplo, as versões de idioma. Essas configurações são gerenciadas no portal usando as APIs REST, a CLI do Azure ou o Azure PowerShell. Veja a seguir as configurações de site que poderão ser necessárias, dependendo do idioma de tempo de execução, sistema operacional e versões:
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 a identidade gerenciada seja usada, o que é recomendado em vez de credenciais de autenticação armazenadas como uma melhor prática 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 são os valores válidos:
Valor | Descrição |
---|---|
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 solicitações para um gatilho HTTP acordam seu aplicativo de funções. Para garantir que suas funções acionadas não HTTP sejam executadas corretamente, incluindo funções de acionamento de temporizador, habilite Always On para o aplicativo de funções definindo a configuração alwaysOn
site para um valor detrue
.
functionsRuntimeAdminIsolationEnabled
Determina se os pontos de extremidade do administrador interno (/admin
) no seu aplicativo de funções podem ser acessados. Quando definido como false
(o padrão), o aplicativo permite solicitações aos pontos de extremidade em /admin
quando essas solicitações apresentam uma chave mestra na solicitação. Quando true
, os pontos de extremidade /admin
não podem ser acessados, mesmo com uma chave mestra.
Essa propriedade não pode ser definida para aplicativos em execução no SKU de Consumo em Linux e não pode ser definida para aplicativos em execução na versão 1.x do Azure Functions. Se você estiver usando a versão 1.x, primeiro deverá migrar para a versão 4.x.
linuxFxVersion
Para aplicativos de funções em execução no Linux, linuxFxVersion
indica o idioma e a versão do processo de trabalho específico do idioma. Essas informações são usadas juntamente com FUNCTIONS_EXTENSION_VERSION
para determinar qual imagem de contêiner específica do Linux está instalada para executar o aplicativo de funções. Essa configuração poderá ser definida para um valor predefinido ou um URI de imagem personalizado.
Esse valor será definido quando você criar o aplicativo de funções do Linux. Talvez seja necessário defini-lo para implantações de modelo do ARM e Bicep e em determinados cenários de atualização.
Valores de linuxFxVersion válidos
É possível usar o seguinte comando da CLI do Azure para ver uma tabela de valores atuais de linuxFxVersion
, por versão do Azure Functions Runtime com suporte:
az functionapp list-runtimes --os linux --query "[].{stack:join(' ', [runtime, version]), LinuxFxVersion:linux_fx_version, SupportedFunctionsVersions:to_string(supported_functions_versions[])}" --output table
O comando anterior exigirá que você atualize para a versão 2.40 da CLI do Azure.
Imagens personalizadas
Quando você cria e mantém seu próprio contêiner Linux personalizado para seu aplicativo de funções, o valor de linuxFxVersion
está no formato DOCKER|<IMAGE_URI>
, como no exemplo a seguir:
linuxFxVersion = "DOCKER|contoso.com/azurefunctionsimage:v1.0.0"
Isto indica a origem do registro do contêiner implantado. Para obter mais informações, consulte Trabalhar com contêineres e Azure Functions.
Importante
Ao criar seus próprios contêineres, será necessário manter a imagem base do contêiner atualizada para a imagem base com suporte mais recente. As imagens base com suporte para o Azure Functions são específicas a uma linguagem e encontradas nos repositórios de imagem base do Azure Functions.
A equipe do Functions está comprometida em publicar atualizações mensais para essas imagens base. As atualizações regularem incluem as atualizações de versão secundária mais recentes e as correções de segurança para linguagens e runtime do Functions. Você deve atualizar regularmente o seu contêiner a partir da imagem base mais recente e reimplantar a versão atualizada do seu contêiner.
netFrameworkVersion
Define a versão específica do .NET para funções C#. Para obter mais informações, confira Atualizar o seu aplicativo de funções no Azure.
powerShellVersion
Define a versão específica do PowerShell na qual as funções executam. Para obter mais informações, consulte Alterar a versão do PowerShell.
Ao executar localmente, você usará a configuração FUNCTIONS_WORKER_RUNTIME_VERSION
no arquivo local.settings.json.
vnetContentShareEnabled
Os aplicativos em execução em um plano Premium usam um compartilhamento de arquivos para armazenar conteúdo. O nome desse compartilhamento de conteúdo é armazenado na configuração do aplicativo WEBSITE_CONTENTSHARE
e a cadeia de conexão dele é armazenada em WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
. Para rotear o tráfego entre seu aplicativo de funções e o compartilhamento de conteúdo por meio de uma rede virtual, você também precisa definir vnetContentShareEnabled
como true
. Habilitar essa propriedade de site é um requisito ao restringir sua conta de armazenamento a uma rede virtual nos planos de hospedagem Elastic Premium e Dedicado.
Observação
Você deve tomar cuidado especial ao rotear para o compartilhamento de conteúdo em uma conta de armazenamento compartilhada por vários aplicativos de funções no mesmo plano. Para obter mais informações, veja Roteamento consistente por meio de redes virtuais no artigo Considerações sobre armazenamento.
Essa propriedade do site substitui a configuração herdada WEBSITE_CONTENTOVERVNET
.
vnetImagePullEnabled
O Functions dá suporte a aplicativos de funções em execução em contêineres do Linux. Para se conectar e efetuar pull de um registro de contêiner dentro de uma rede virtual, você precisa definir vnetImagePullEnabled
como true
. Essa propriedade do site tem suporte nos planos de hospedagem Elastic Premium e Dedicado. O plano de Consumo Flex não depende das propriedades do site nem das configurações do aplicativo para definir a Rede. Para obter mais informações, confira Plano de Consumo Flex preteridos.
vnetRouteAllEnabled
Indica se todo o tráfego de saída do aplicativo é roteado por meio da rede virtual. Um valor de configuração true
indica que todo o tráfego do aplicativo é roteado por meio da rede virtual. Use essa configuração ao configurar a Integração de rede virtual regional nos planos Elastic Premium e Dedicado. Ela também é usada quando um gateway de NAT de rede virtual é usado para definir um endereço IP de saída estático. Para saber mais, confira Configurar o roteamento de aplicativos.
Essa configuração de site substitui a configuração WEBSITE_VNET_ROUTE_ALL herdada.
Preterimentos do plano de Consumo Flex
No Plano de Consumo Flex, essas propriedades do site e as configurações do aplicativo são preteridas e não devem ser usadas ao criar recursos do aplicativo de funções:
Configuração/propriedade | Motivo |
---|---|
ENABLE_ORYX_BUILD |
Substituído pelo parâmetro remoteBuild ao implantar no Consumo Flex |
FUNCTIONS_EXTENSION_VERSION |
A Configuração do Aplicativo é definida pelo back-end. Um valor de ~1 pode ser ignorado. |
FUNCTIONS_WORKER_RUNTIME |
Substituído por name no properties.functionAppConfig.runtime |
FUNCTIONS_WORKER_RUNTIME_VERSION |
Substituído por version no properties.functionAppConfig.runtime |
FUNCTIONS_MAX_HTTP_CONCURRENCY |
Substituído pela seção de gatilho de escala e simultaneidade |
FUNCTIONS_WORKER_PROCESS_COUNT |
Configuração não válida |
FUNCTIONS_WORKER_DYNAMIC_CONCURRENCY_ENABLED |
Configuração não válida |
SCM_DO_BUILD_DURING_DEPLOYMENT |
Substituído pelo parâmetro remoteBuild ao implantar no Consumo Flex |
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING |
Substituído pela seção de implantação do functionAppConfig |
WEBSITE_CONTENTOVERVNET |
Não usado para rede no Consumo Flex |
WEBSITE_CONTENTSHARE |
Substituído pela seção de implantação do functionAppConfig |
WEBSITE_DNS_SERVER |
O DNS é herdado da 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 |
WEBSITE_SKIP_CONTENTSHARE_VALIDATION |
O compartilhamento de conteúdo não é usado no Consumo Flex |
WEBSITE_VNET_ROUTE_ALL |
Não usado para rede no Consumo Flex |
properties.alwaysOn |
Não válido |
properties.containerSize |
Renomeado como instanceMemoryMB |
properties.ftpsState |
Não há suporte para o FTPS |
properties.isReserved |
Não válido |
properties.IsXenon |
Não válido |
properties.javaVersion |
Substituído por version no properties.functionAppConfig.runtime |
properties.LinuxFxVersion |
Substituído por properties.functionAppConfig.runtime |
properties.netFrameworkVersion |
Substituído por version no properties.functionAppConfig.runtime |
properties.powerShellVersion |
Substituído por version no properties.functionAppConfig.runtime |
properties.siteConfig.functionAppScaleLimit |
Renomeado como maximumInstanceCount |
properties.siteConfig.preWarmedInstanceCount |
Renomeado como alwaysReadyInstances |
properties.use32BitWorkerProcess |
Não há suporte para 32 bits |
properties.vnetBackupRestoreEnabled |
Não usado para rede no Consumo Flex |
properties.vnetContentShareEnabled |
Não usado para rede no Consumo Flex |
properties.vnetImagePullEnabled |
Não usado para rede no Consumo Flex |
properties.vnetRouteAllEnabled |
Não usado para rede no Consumo Flex |
properties.windowsFxVersion |
Não válido |
Próximas etapas
Saiba como atualizar as configurações do aplicativo
Consulte as configurações no arquivo host.json
Consulte outras configurações de aplicativo para aplicativos do Serviço de Aplicativo