Referência das definições de aplicação para as Funções do Azure
As configurações do aplicativo em um aplicativo de função contêm opções de configuração que afetam todas as funções desse aplicativo de função. Essas configurações são acessadas como variáveis de ambiente. Este artigo lista as configurações do aplicativo que estão disponíveis em aplicativos de função.
Há várias maneiras de adicionar, atualizar e excluir as configurações do aplicativo de função:
As alterações nas configurações do aplicativo de função exigem que seu aplicativo de função seja reiniciado.
Neste artigo, exemplos de valores de cadeia de conexão são truncados para facilitar a leitura.
Como o Azure Functions aproveita a plataforma do Serviço de Aplicativo do Azure para hospedagem, você pode encontrar algumas configurações relevantes para sua hospedagem de aplicativo de função documentadas em Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
Considerações sobre a configuração do aplicativo
Ao usar as configurações do aplicativo, você deve estar ciente das seguintes considerações:
As alterações nas configurações do aplicativo de função exigem que seu aplicativo de função seja reiniciado.
Na definição de nomes, o sublinhado duplo (
__
) e os dois pontos (:
) são considerados valores reservados. Os sublinhados duplos são interpretados como delimitadores hierárquicos no Windows e no Linux, e os dois pontos são interpretados da mesma maneira apenas no Windows. Por exemplo, a configuraçãoAzureFunctionsWebHost__hostid=somehost_123456
seria interpretada como o seguinte objeto JSON:"AzureFunctionsWebHost": { "hostid": "somehost_123456" }
Neste artigo, apenas sublinhados duplos são usados, uma vez que são suportados em ambos os sistemas operacionais. A maioria das configurações que oferecem suporte a conexões de identidade gerenciadas usa sublinhados duplos.
Quando o Functions é executado localmente, as configurações do
Values
aplicativo são especificadas na coleção no local.settings.json.Há outras opções de configuração de aplicativo de função no arquivo host.json e no arquivo local.settings.json .
Você pode usar as configurações do aplicativo para substituir host.json valores de configuração sem ter que alterar o próprio arquivo host.json. Isso é útil para cenários em que você precisa definir ou modificar configurações de host.json específicas para um ambiente específico. Isso também permite que você altere host.json configurações sem ter que publicar novamente seu projeto. Para saber mais, consulte o host.json artigo de referência.
Este artigo documenta as configurações mais relevantes para seus aplicativos de função. Como o Azure Functions é executado no Serviço de Aplicativo, outras configurações de aplicativo também são suportadas. Para obter mais informações, consulte Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
Alguns cenários também exigem que você trabalhe com configurações documentadas nas configurações do site do Serviço de Aplicativo.
Alterar qualquer configuração de aplicativo do Serviço de Aplicativo somente leitura pode colocar seu aplicativo de função em um estado sem resposta.
Tenha cuidado ao atualizar as configurações do aplicativo usando APIs REST, incluindo modelos ARM. Como essas APIs substituem as configurações de aplicativo existentes, você deve incluir todas as configurações existentes ao adicionar ou modificar configurações usando APIs REST ou modelos ARM. Sempre que possível, use a CLI do Azure ou o Azure PowerShell para trabalhar programaticamente com as configurações do aplicativo. Para obter mais informações, consulte Trabalhar com configurações do aplicativo.
APPINSIGHTS_INSTRUMENTATIONKEY
A chave de instrumentação para o Application Insights. Não use ambos APPINSIGHTS_INSTRUMENTATIONKEY
e APPLICATIONINSIGHTS_CONNECTION_STRING
. Sempre que possível, utilize APPLICATIONINSIGHTS_CONNECTION_STRING
. Quando o Application Insights é executado em uma nuvem soberana, você deve usar APPLICATIONINSIGHTS_CONNECTION_STRING
o . Para obter mais informações, consulte Como configurar o monitoramento para o Azure Functions.
Chave | Valores de exemplo |
---|---|
APPINSIGHTS_INSTRUMENTATIONKEY | 55555555-af77-484b-9032-64f83bb83bb |
Não use ambos APPINSIGHTS_INSTRUMENTATIONKEY
e APPLICATIONINSIGHTS_CONNECTION_STRING
. Recomenda-se a utilização de APPLICATIONINSIGHTS_CONNECTION_STRING
seringas.
APPLICATIONINSIGHTS_AUTHENTICATION_STRING
Permite o acesso ao Application Insights usando a autenticação do Microsoft Entra. Use essa configuração quando precisar se conectar ao espaço de trabalho do Application Insights usando a autenticação do Microsoft Entra. Para obter mais informações, consulte Autenticação do Microsoft Entra para Application Insights.
Quando você usa APPLICATIONINSIGHTS_AUTHENTICATION_STRING
o , o valor específico definido depende do tipo de identidade gerenciada:
Identidade gerida | Valor da definição |
---|---|
Atribuída pelo sistema | Authorization=AAD |
Atribuída pelo utilizador | Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID> |
Esse requisito de autenticação é aplicado a conexões do host Functions, do depurador de instantâneo, do criador de perfis e de quaisquer agentes específicos do idioma. Para usar essa configuração, a identidade gerenciada já deve estar disponível para o aplicativo de função, com uma função atribuída equivalente ao Monitoring Metrics Publisher.
Nota
Ao usar APPLICATIONINSIGHTS_AUTHENTICATION_STRING
para se conectar ao Application Insights usando a autenticação do Microsoft Entra, você também deve Desabilitar a autenticação local para o Application Insights. Essa configuração requer a autenticação do Microsoft Entra para que a telemetria seja ingerida em seu espaço de trabalho.
APPLICATIONINSIGHTS_CONNECTION_STRING
A cadeia de conexão para o Application Insights. Não use ambos APPINSIGHTS_INSTRUMENTATIONKEY
e APPLICATIONINSIGHTS_CONNECTION_STRING
. Embora o uso de APPLICATIONINSIGHTS_CONNECTION_STRING
seja recomendado em todos os casos, é necessário nos seguintes casos:
- Quando seu aplicativo de função requer as personalizações adicionadas suportadas usando a cadeia de conexão.
- Quando sua instância do Application Insights é executada em uma nuvem soberana, o que requer um ponto de extremidade personalizado.
Para obter mais informações, consulte Cadeias de conexão.
Chave | Valores de exemplo |
---|---|
APPLICATIONINSIGHTS_CONNECTION_STRING | InstrumentationKey=... |
Para se conectar ao Application Insights com a autenticação do Microsoft Entra, você deve usar APPLICATIONINSIGHTS_AUTHENTICATION_STRING
o .
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL
Importante
Os proxies do Azure Functions são um recurso herdado para as versões 1.x a 3.x do tempo de execução do Azure Functions. Para obter mais informações sobre suporte herdado na versão 4.x, consulte Proxies de funções.
Por padrão, os proxies do Functions usam um atalho para enviar chamadas de API de proxies diretamente para funções no mesmo aplicativo de função. Esse atalho é usado em vez de criar uma nova solicitação HTTP. Essa configuração permite que você desabilite esse comportamento de atalho.
Key | valor | Description |
---|---|---|
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL | true |
As chamadas com um URL de back-end apontando para uma função no aplicativo de função local não serão enviadas diretamente para a função. Em vez disso, as solicitações são direcionadas de volta para o frontend HTTP para o aplicativo de função. |
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL | false |
As chamadas com um URL de back-end apontando para uma função no aplicativo de função local são encaminhadas diretamente para a função. false é o valor padrão. |
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES
Importante
Os proxies do Azure Functions são um recurso herdado para as versões 1.x a 3.x do tempo de execução do Azure Functions. Para obter mais informações sobre suporte herdado na versão 4.x, consulte Proxies de funções.
Essa configuração controla se os caracteres %2F
são decodificados como barras nos parâmetros de rota quando são inseridos na URL de back-end.
Key | valor | Description |
---|---|---|
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES | true |
Os parâmetros de rota com barras codificadas são decodificados. |
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES | false |
Todos os parâmetros de rota são passados inalterados, que é o comportamento padrão. |
Por exemplo, considere o arquivo proxies.json para um aplicativo de função no myfunction.com
domínio.
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {
"root": {
"matchCondition": {
"route": "/{*all}"
},
"backendUri": "example.com/{all}"
}
}
}
Quando AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES
estiver definido como true
, o URL example.com/api%2ftest
será resolvido como example.com/api/test
. Por padrão, a URL permanece inalterada como example.com/test%2fapi
. Para obter mais informações, consulte Proxies de funções.
AZURE_FUNCTIONS_ENVIRONMENT
Configura o ambiente de hospedagem de tempo de execução do aplicativo de função durante a execução no Azure. Esse valor é lido durante a inicialização e somente esses valores são honrados pelo tempo de execução:
valor | Description |
---|---|
Production |
Representa um ambiente de produção, com registro em log reduzido e otimizações de desempenho completas. Este é o padrão quando AZURE_FUNCTIONS_ENVIRONMENT não está definido ou está definido como um valor sem suporte. |
Staging |
Representa um ambiente de preparação, como quando executado em um slot de preparação. |
Development |
Um ambiente de desenvolvimento suporta um registro em log mais detalhado e outras otimizações de desempenho reduzidas. As Ferramentas Principais do Azure Functions são definidas AZURE_FUNCTIONS_ENVIRONMENT como Development quando executadas no computador local. Essa configuração não pode ser substituída no arquivo local.settings.json. |
Use essa configuração em vez de quando precisar alterar o ambiente de tempo de execução no Azure para algo diferente de ASPNETCORE_ENVIRONMENT
Production
. Para obter mais informações, consulte Classe e métodos de inicialização baseados em ambiente.
Essa configuração não está disponível na versão 1.x do tempo de execução do Functions.
AzureFunctionsJobHost__*
Na versão 2.x e versões posteriores do tempo de execução do Functions, as configurações do aplicativo podem substituir host.json configurações no ambiente atual. Essas substituições são expressas como configurações de aplicativo nomeadas AzureFunctionsJobHost__path__to__setting
. Para obter mais informações, veja Substituir valores host.json.
AzureFunctionsWebHost__hostid
Define o ID do host para um determinado aplicativo de função, que deve ser um ID exclusivo. Essa configuração substitui o valor de ID de host gerado automaticamente para seu aplicativo. Use essa configuração somente quando precisar evitar colisões de ID de host entre aplicativos de função que compartilham a mesma conta de armazenamento.
Um ID de host deve atender aos seguintes requisitos:
- Ter entre 1 e 32 caracteres
- contêm apenas letras minúsculas, números e traços
- Não começar ou terminar com um traço
- Não contém traços consecutivos
Uma maneira fácil de gerar um ID é pegar um GUID, remover os traços e torná-lo minúsculo, por exemplo, convertendo o GUID 1835D7B5-5C98-4790-815D-072CC94C6F71
para o valor 1835d7b55c984790815d072cc94c6f71
.
Chave | Valores de exemplo |
---|---|
AzureFunctionsWebHost__hostid | myuniquefunctionappname123456789 |
Para obter mais informações, consulte Considerações sobre o ID do host.
AzureWebJobsDashboard
Essa configuração foi preterida e só tem suporte quando executada na versão 1.x do tempo de execução do Azure Functions.
Cadeia de conexão de conta de armazenamento opcional para armazenar logs e exibi-los na guia Monitor no portal. A conta de armazenamento deve ser de uso geral que ofereça suporte a blobs, filas e tabelas. Para saber mais, consulte Requisitos da conta de armazenamento.
Chave | Valores de exemplo |
---|---|
AzureWebJobsDashboard | DefaultEndpointsProtocol=https;AccountName=... |
AzureWebJobsDisableHomepage
Um valor de desabilita a página de true
destino padrão que é mostrada para a URL raiz de um aplicativo de função. O valor predefinido é false
.
Chave | Valores de exemplo |
---|---|
AzureWebJobsDisableHomepage | true |
Quando essa configuração do aplicativo é omitida ou definida como false
, uma página semelhante ao exemplo a seguir é exibida em resposta à URL <functionappname>.azurewebsites.net
.
AzureWebJobsDotNetReleaseCompilation
true
significa usar o modo Release ao compilar código .NET; false
significa usar o modo de depuração. A predefinição é true
.
Chave | Valores de exemplo |
---|---|
AzureWebJobsDotNetReleaseCompilation | true |
AzureWebJobsFeatureFlags
Uma lista delimitada por vírgulas de recursos beta para habilitar. Os recursos beta habilitados por esses sinalizadores não estão prontos para produção, mas podem ser habilitados para uso experimental antes de serem ativados.
Chave | Valores de exemplo |
---|---|
AzureWebJobsFeatureFlags | feature1,feature2,EnableProxies |
Adicione EnableProxies
a esta lista para reativar proxies na versão 4.x do tempo de execução do Functions enquanto planeja sua migração para o Gerenciamento de API do Azure. Para obter mais informações, consulte Reativar proxies no Functions v4.x.
AzureWebJobsKubernetesSecretName
Indica o recurso Segredos do Kubernetes usado para armazenar chaves. Suportado apenas quando executado no Kubernetes. Essa configuração requer que você defina AzureWebJobsSecretStorageType
como kubernetes
. Quando AzureWebJobsKubernetesSecretName
não está definido, o repositório é considerado somente leitura. Nesse caso, os valores devem ser gerados antes da implantação. O Azure Functions Core Tools gera os valores automaticamente durante a implementação no Kubernetes.
Chave | Valores de exemplo |
---|---|
AzureWebJobsKubernetesSecretName | <SECRETS_RESOURCE> |
Para saber mais, consulte Gerenciar armazenamento de chaves.
AzureWebJobsSecretStorageKeyVaultClientId
O ID do cliente da identidade gerenciada atribuída pelo usuário ou o registro do aplicativo usado para acessar o cofre onde as chaves são armazenadas. Essa configuração requer que você defina AzureWebJobsSecretStorageType
como keyvault
. Suportado na versão 4.x e versões posteriores do tempo de execução do Functions.
Chave | Valores de exemplo |
---|---|
AzureWebJobsSecretStorageKeyVaultClientId | <CLIENT_ID> |
Para saber mais, consulte Gerenciar armazenamento de chaves.
AzureWebJobsSecretStorageKeyVaultClientSecret
O segredo para a ID do cliente da identidade gerenciada atribuída pelo usuário ou o registro do aplicativo usado para acessar o cofre onde as chaves são armazenadas. Essa configuração requer que você defina AzureWebJobsSecretStorageType
como keyvault
. Suportado na versão 4.x e versões posteriores do tempo de execução do Functions.
Chave | Valores de exemplo |
---|---|
AzureWebJobsSecretStorageKeyVaultClientSecret | <CLIENT_SECRET> |
Para saber mais, consulte Gerenciar armazenamento de chaves.
AzureWebJobsSecretStorageKeyVaultName
Essa configuração foi preterida e só foi usada quando executada na versão 3.x do tempo de execução do Azure Functions.
O nome de uma instância do cofre de chaves usada para armazenar chaves. Essa configuração só foi usada na versão 3.x do tempo de execução do Functions, que não é mais suportado. Para a versão 4.x, use AzureWebJobsSecretStorageKeyVaultUri
. Essa configuração requer que você defina AzureWebJobsSecretStorageType
como keyvault
.
O cofre deve ter uma política de acesso correspondente à identidade gerenciada atribuída pelo sistema do recurso de hospedagem. A política de acesso deve conceder à identidade as seguintes permissões secretas: Get
,Set
, List
e Delete
.
Quando suas funções são executadas localmente, a identidade do desenvolvedor é usada e as configurações devem estar no arquivo local.settings.json.
Chave | Valores de exemplo |
---|---|
AzureWebJobsSecretStorageKeyVaultName | <VAULT_NAME> |
Para saber mais, consulte Gerenciar armazenamento de chaves.
AzureWebJobsSecretStorageKeyVaultTenantId
O ID do locatário do registro do aplicativo usado para acessar o cofre onde as chaves são armazenadas. Essa configuração requer que você defina AzureWebJobsSecretStorageType
como keyvault
. Suportado na versão 4.x e versões posteriores do tempo de execução do Functions. Para saber mais, consulte Gerenciar armazenamento de chaves.
Chave | Valores de exemplo |
---|---|
AzureWebJobsSecretStorageKeyVaultTenantId | <TENANT_ID> |
AzureWebJobsSecretStorageKeyVaultUri
O URI de uma instância do cofre de chaves usado para armazenar chaves. Suportado na versão 4.x e versões posteriores do tempo de execução do Functions. Esta é a configuração recomendada para usar uma instância do cofre de chaves para armazenamento de chaves. Essa configuração requer que você defina AzureWebJobsSecretStorageType
como keyvault
.
O AzureWebJobsSecretStorageKeyVaultUri
valor deve ser o valor completo do URI do Vault exibido na guia Visão geral do Cofre de Chaves, incluindo https://
.
O cofre deve ter uma política de acesso correspondente à identidade gerenciada atribuída pelo sistema do recurso de hospedagem. A política de acesso deve conceder à identidade as seguintes permissões secretas: Get
,Set
, List
e Delete
.
Quando suas funções são executadas localmente, a identidade do desenvolvedor é usada e as configurações devem estar no arquivo local.settings.json.
Chave | Valores de exemplo |
---|---|
AzureWebJobsSecretStorageKeyVaultUri | https://<VAULT_NAME>.vault.azure.net |
Para saber mais, veja Utilizar referências de Key Vault para Funções do Azure.
AzureWebJobsSecretStorageSas
Uma URL SAS de armazenamento de Blob para uma segunda conta de armazenamento usada para armazenamento de chaves. Por padrão, o Functions usa a conta definida em AzureWebJobsStorage
. Ao usar essa opção de armazenamento secreto, verifique se AzureWebJobsSecretStorageType
ela não está explicitamente definida ou definida como blob
. Para saber mais, consulte Gerenciar armazenamento de chaves.
Chave | Valores de exemplo |
---|---|
AzureWebJobsSecretStorageSas | <BLOB_SAS_URL> |
AzureWebJobsSecretStorageType
Especifica o repositório ou provedor a ser usado para armazenamento de chaves. As chaves são sempre criptografadas antes de serem armazenadas usando um segredo exclusivo para seu aplicativo de função.
Key | valor | Description |
---|---|---|
AzureWebJobsSecretStorageType | blob |
As chaves são armazenadas em um contêiner de armazenamento de Blob na conta fornecida pela AzureWebJobsStorage configuração. O armazenamento de blobs é o comportamento padrão quando AzureWebJobsSecretStorageType não está definido.Para especificar uma conta de armazenamento diferente, use a AzureWebJobsSecretStorageSas configuração para indicar a URL SAS de uma segunda conta de armazenamento. |
AzureWebJobsSecretStorageType | files |
As chaves são mantidas no sistema de arquivos. Este é o comportamento padrão do Functions v1.x. |
AzureWebJobsSecretStorageType | keyvault |
As chaves são armazenadas em uma instância do cofre de chaves definida pelo AzureWebJobsSecretStorageKeyVaultName . |
AzureWebJobsSecretStorageType | kubernetes |
Suportado apenas ao executar o runtime das Funções no Kubernetes. Quando AzureWebJobsKubernetesSecretName não está definido, o repositório é considerado somente leitura. Nesse caso, os valores devem ser gerados antes da implantação. O Azure Functions Core Tools gera os valores automaticamente durante a implementação no Kubernetes. |
Para saber mais, consulte Gerenciar armazenamento de chaves.
AzureWebJobsStorage
Especifica a cadeia de conexão para uma conta de Armazenamento do Azure que o tempo de execução do Functions usa para operações normais. Alguns usos dessa conta de armazenamento pelo Functions incluem gerenciamento de chaves, gerenciamento de gatilho de temporizador e pontos de verificação de Hubs de Eventos. A conta de armazenamento deve ser de uso geral que ofereça suporte a blobs, filas e tabelas. Para obter mais informações, consulte Requisitos da conta de armazenamento.
Chave | Valores de exemplo |
---|---|
AzureWebJobsStorage | DefaultEndpointsProtocol=https;AccountName=... |
Em vez de uma cadeia de conexão, você pode usar uma conexão baseada em identidade para essa conta de armazenamento. Para obter mais informações, consulte Ligar ao armazenamento do anfitrião com uma identidade.
AzureWebJobsStorage__accountName
Ao usar uma conexão de armazenamento baseada em identidade, define o nome da conta de armazenamento em vez de usar a cadeia de conexão em AzureWebJobsStorage
. Essa sintaxe é exclusiva e AzureWebJobsStorage
não pode ser usada para outras conexões baseadas em identidade.
Chave | Valores de exemplo |
---|---|
AzureWebJobsStorage__accountName | <STORAGE_ACCOUNT_NAME> |
Para nuvens soberanas ou ao usar um DNS personalizado, você deve usar as configurações específicas AzureWebJobsStorage__*ServiceUri
do serviço.
AzureWebJobsStorage__blobServiceUri
Ao usar uma conexão de armazenamento baseada em identidade, define o URI do plano de dados do serviço de blob da conta de armazenamento.
Chave | Valores de exemplo |
---|---|
AzureWebJobsStorage__blobServiceUri | https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net |
Use essa configuração em vez de AzureWebJobsStorage__accountName
em nuvens soberanas ou ao usar um DNS personalizado. Para obter mais informações, consulte Ligar ao armazenamento do anfitrião com uma identidade.
AzureWebJobsStorage__queueServiceUri
Ao usar uma conexão de armazenamento baseada em identidade, define o URI do plano de dados do serviço de fila da conta de armazenamento.
Chave | Valores de exemplo |
---|---|
AzureWebJobsStorage__queueServiceUri | https://<STORAGE_ACCOUNT_NAME>.queue.core.windows.net |
Use essa configuração em vez de AzureWebJobsStorage__accountName
em nuvens soberanas ou ao usar um DNS personalizado. Para obter mais informações, consulte Ligar ao armazenamento do anfitrião com uma identidade.
AzureWebJobsStorage__tableServiceUri
Ao usar uma conexão de armazenamento baseada em identidade, define o URI do plano de dados de um serviço de tabela da conta de armazenamento.
Chave | Valores de exemplo |
---|---|
AzureWebJobsStorage__tableServiceUri | https://<STORAGE_ACCOUNT_NAME>.table.core.windows.net |
Use essa configuração em vez de AzureWebJobsStorage__accountName
em nuvens soberanas ou ao usar um DNS personalizado. Para obter mais informações, consulte Ligar ao armazenamento do anfitrião com uma identidade.
AzureWebJobs_TypeScriptPath
Caminho para o compilador usado para TypeScript. Permite que você substitua o padrão, se necessário.
Chave | Valores de exemplo |
---|---|
AzureWebJobs_TypeScriptPath | %HOME%\typescript |
DOCKER_REGISTRY_SERVER_PASSWORD
Indica a senha usada para acessar um registro de contêiner privado. Essa configuração só é necessária ao implantar seu aplicativo de função em contêiner a partir de um registro de contêiner privado. Para obter mais informações, consulte Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
DOCKER_REGISTRY_SERVER_URL
Indica a URL de um registro de contêiner privado. Essa configuração só é necessária ao implantar seu aplicativo de função em contêiner a partir de um registro de contêiner privado. Para obter mais informações, consulte Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
DOCKER_REGISTRY_SERVER_USERNAME
Indica a conta usada para acessar um registro de contêiner privado. Essa configuração só é necessária ao implantar seu aplicativo de função em contêiner a partir de um registro de contêiner privado. Para obter mais informações, consulte Variáveis de ambiente e configurações de aplicativo no Serviço de Aplicativo do Azure.
DOCKER_SHM_SIZE
Define o tamanho da memória compartilhada (em bytes) quando o trabalhador Python está usando memória compartilhada. Para saber mais, consulte Memória compartilhada.
Chave | Valores de exemplo |
---|---|
DOCKER_SHM_SIZE | 268435456 |
O valor acima define um tamanho de memória compartilhada de ~256 MB.
Requer que FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED
seja definido como 1
.
ENABLE_ORYX_BUILD
Indica se o sistema de compilação Oryx é usado durante a implantação. ENABLE_ORYX_BUILD
deve ser definido como true
ao fazer implantações de compilação remota no Linux. Para obter mais informações, consulte Compilação remota.
Chave | Valores de exemplo |
---|---|
ENABLE_ORYX_BUILD | true |
FUNCTION_APP_EDIT_MODE
Indica se você pode editar seu aplicativo de função no portal do Azure. Os valores válidos são readwrite
e readonly
.
Chave | Valores de exemplo |
---|---|
FUNCTION_APP_EDIT_MODE | readonly |
O valor é definido pelo tempo de execução com base na pilha de idiomas e no status de implantação do seu aplicativo de função. Para obter mais informações, consulte Limitações de desenvolvimento no portal do Azure.
FUNCTIONS_EXTENSION_VERSION
A versão do tempo de execução do Functions que hospeda seu aplicativo de função. Um til (~
) com a versão principal significa usar a versão mais recente dessa versão principal (por exemplo, ~4
). Quando novas versões secundárias da mesma versão principal estão disponíveis, elas são instaladas automaticamente no aplicativo de função.
Chave | Valores de exemplo |
---|---|
FUNCTIONS_EXTENSION_VERSION | ~4 |
Os seguintes valores principais de versão de tempo de execução são suportados:
Value | Destino do tempo de execução | Comentário |
---|---|---|
~4 |
4.x | Recomendado |
~1 |
1.x | Apoio termina a 14 de setembro de 2026 |
Um valor de ~4
significa que seu aplicativo é executado na versão 4.x do tempo de execução. Um valor de ~1
fixa seu aplicativo na versão 1.x do tempo de execução. As versões de tempo de execução 2.x e 3.x não são mais suportadas. Para obter mais informações, consulte Visão geral das versões de tempo de execução do Azure Functions.
Se solicitado pelo suporte para fixar seu aplicativo em uma versão secundária específica, use o número da versão completa (por exemplo, 4.0.12345
). Para obter mais informações, veja Como segmentar as versões do runtime das Funções do Azure.
FUNCTIONS_INPROC_NET8_ENABLED
Indica se um aplicativo pode usar o .NET 8 no modelo em processo. Para usar o .NET 8 no modelo em processo, esse valor deve ser definido como 1
. Consulte Atualizando para o .NET 8 de destino para obter instruções completas, incluindo outros valores de configuração necessários.
Chave | Valores de exemplo |
---|---|
FUNCTIONS_INPROC_NET8_ENABLED | 1 |
Defina como 0
para desabilitar o suporte para .NET 8 no modelo em processo.
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR
Esta configuração de aplicativo é uma maneira temporária de Node.js aplicativos habilitarem uma alteração de quebra que torna os erros de ponto de entrada mais fáceis de solucionar em Node.js v18 ou inferior. É altamente recomendável usar true
, especialmente para aplicativos de modelo v4 de programação, que sempre usam arquivos de ponto de entrada. O comportamento sem a alteração de quebra (false
) ignora erros de ponto de entrada e não os registra no Application Insights.
A partir do Node.js v20, a configuração do aplicativo não tem efeito e o comportamento de alteração de quebra está sempre ativado.
Para Node.js v18 ou inferior, a configuração do aplicativo é usada, e o comportamento padrão depende se o erro acontece antes ou depois de uma função do modelo v4 ter sido registrada:
- Se o erro for gerado antes (por exemplo, se você estiver usando o modelo v3 ou se o arquivo do ponto de entrada não existir), o comportamento padrão corresponderá ao
false
. - Se o erro for gerado depois (por exemplo, se você tentar registrar funções duplicadas do modelo v4), o comportamento padrão corresponderá
true
ao .
Key | valor | Description |
---|---|---|
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR | true |
Bloqueie erros de ponto de entrada e registre-os no Application Insights. |
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR | false |
Ignore erros de ponto de entrada e não os registre no Application Insights. |
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT
Substitui o limite padrão no tamanho do corpo das solicitações enviadas para pontos de extremidade HTTP. O valor é dado em bytes, com um tamanho máximo de solicitação padrão de 104857600 bytes.
Chave | Valores de exemplo |
---|---|
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT | 250000000 |
FUNCTIONS_V2_COMPATIBILITY_MODE
Importante
Essa configuração não é mais suportada. Ele foi originalmente fornecido para habilitar uma solução alternativa de curto prazo para aplicativos que visavam o tempo de execução v2.x para poder ser executado no tempo de execução v3.x enquanto ainda era suportado. Com exceção dos aplicativos herdados executados na versão 1.x, todos os aplicativos de função devem ser executados na versão 4.x do tempo de execução do Functions: FUNCTIONS_EXTENSION_VERSION=~4
. Para obter mais informações, consulte Visão geral das versões de tempo de execução do Azure Functions.
FUNCTIONS_WORKER_PROCESS_COUNT
Especifica o número máximo de processos de trabalho de idioma, com um valor padrão de 1
. O valor máximo permitido é 10
. As invocações de função são distribuídas uniformemente entre os processos de trabalho linguístico. Os processos de trabalho linguístico são gerados a cada 10 segundos até que a contagem definida por FUNCTIONS_WORKER_PROCESS_COUNT
seja atingida. Usar vários processos de trabalho de idiomas não é o mesmo que dimensionamento. Considere usar essa configuração quando sua carga de trabalho tiver uma combinação de invocações ligadas à CPU e à E/S. Essa configuração se aplica a todos os tempos de execução de linguagem, exceto para .NET em execução no processo (FUNCTIONS_WORKER_RUNTIME=dotnet
).
Chave | Valores de exemplo |
---|---|
FUNCTIONS_WORKER_PROCESS_COUNT | 2 |
FUNCTIONS_WORKER_RUNTIME
O idioma ou pilha de idiomas do tempo de execução do trabalhador a ser carregado no aplicativo de função. Isto corresponde à língua que está a ser utilizada na sua aplicação (por exemplo, python
). A partir da versão 2.x do tempo de execução do Azure Functions, um determinado aplicativo de função só pode dar suporte a um único idioma.
Chave | Valores de exemplo |
---|---|
FUNCTIONS_WORKER_RUNTIME | node |
Valores válidos:
Value | Pilha de idiomas/idiomas |
---|---|
dotnet |
C# (biblioteca de classes) C# (script) |
dotnet-isolated |
C# (processo de trabalho isolado) |
java |
Java |
node |
JavaScript TypeScript |
powershell |
PowerShell |
python |
Python |
custom |
Outro |
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED
Essa configuração permite que o trabalhador Python use memória compartilhada para melhorar a taxa de transferência. Habilite a memória compartilhada quando seu aplicativo de função Python estiver atingindo gargalos de memória.
Chave | Valores de exemplo |
---|---|
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED | 1 |
Com essa configuração habilitada, você pode usar a configuração DOCKER_SHM_SIZE para definir o tamanho da memória compartilhada. Para saber mais, consulte Memória compartilhada.
JAVA_OPTS
Usado para personalizar a máquina virtual Java (JVM) usada para executar suas funções Java ao executar em um plano Premium ou plano dedicado. Ao executar em um plano de consumo, use languageWorkers__java__arguments
. Para obter mais informações, consulte Personalizar JVM.
languageWorkers__java__arguments
Usado para personalizar a máquina virtual Java (JVM) usada para executar suas funções Java ao executar em um plano de consumo. Essa configuração aumenta os tempos de inicialização a frio para funções Java em execução em um plano de consumo. Para um plano Premium ou Dedicado, use JAVA_OPTS
o . Para obter mais informações, consulte Personalizar JVM.
MDMaxBackgroundUpgradePeriod
Controla o período de atualização em segundo plano das dependências gerenciadas para aplicativos de função do PowerShell, com um valor padrão de 7.00:00:00
(semanal).
Cada processo de trabalho do PowerShell inicia a verificação de atualizações de módulo na Galeria do PowerShell no início do processo e depois MDMaxBackgroundUpgradePeriod
disso. Quando uma nova versão do módulo está disponível na Galeria do PowerShell, ela é instalada no sistema de arquivos e disponibilizada para os trabalhadores do PowerShell. Diminuir esse valor permite que seu aplicativo de função obtenha versões mais recentes do módulo mais cedo, mas também aumenta o uso de recursos do aplicativo (E/S de rede, CPU, armazenamento). Aumentar esse valor diminui o uso de recursos do aplicativo, mas também pode atrasar a entrega de novas versões de módulo para seu aplicativo.
Chave | Valores de exemplo |
---|---|
MDMaxBackgroundUpgradePeriod | 7.00:00:00 |
Para saber mais, consulte Gerenciamento de dependência.
MDNewSnapshotCheckPeriod
Especifica a frequência com que cada trabalhador do PowerShell verifica se as atualizações de dependência gerenciadas foram instaladas. A frequência padrão é 01:00:00
(horária).
Depois que novas versões de módulo são instaladas no sistema de arquivos, cada processo de trabalho do PowerShell deve ser reiniciado. A reinicialização dos trabalhadores do PowerShell afeta a disponibilidade do aplicativo, pois pode interromper a execução da função atual. Até que todos os processos de trabalho do PowerShell sejam reiniciados, as invocações de função podem usar as versões antiga ou nova do módulo. A reinicialização de todos os trabalhadores do PowerShell é concluída no MDNewSnapshotCheckPeriod
.
Em cada MDNewSnapshotCheckPeriod
, o trabalhador do PowerShell verifica se as atualizações de dependência gerenciadas foram instaladas ou não. Quando as atualizações são instaladas, uma reinicialização é iniciada. Aumentar esse valor diminui a frequência de interrupções por causa de reinicializações. No entanto, o aumento também pode aumentar o tempo durante o qual as invocações de função podem usar as versões antiga ou nova do módulo, não deterministicamente.
Chave | Valores de exemplo |
---|---|
MDNewSnapshotCheckPeriod | 01:00:00 |
Para saber mais, consulte Gerenciamento de dependência.
MDMinBackgroundUpgradePeriod
O período de tempo após uma verificação de atualização de dependência gerenciada anterior antes de outra verificação de atualização ser iniciada, com um padrão de 1.00:00:00
(diário).
Para evitar atualizações excessivas de módulo em reinicializações frequentes do Worker, a verificação de atualizações de módulo não é realizada quando algum trabalhador já iniciou essa verificação no último MDMinBackgroundUpgradePeriod
.
Chave | Valores de exemplo |
---|---|
MDMinBackgroundUpgradePeriod | 1.00:00:00 |
Para saber mais, consulte Gerenciamento de dependência.
PIP_INDEX_URL
Essa configuração permite substituir a URL base do Índice de Pacote Python, que por padrão é https://pypi.org/simple
. Use essa configuração quando precisar executar uma compilação remota usando dependências personalizadas. Essas dependências personalizadas podem estar em um repositório de índice de pacotes compatível com PEP 503 (a API de repositório simples) ou em um diretório local que segue o mesmo formato.
Chave | Valores de exemplo |
---|---|
PIP_INDEX_URL | http://my.custom.package.repo/simple |
Para saber mais, consulte pip
a documentação para --index-url
e usando dependências personalizadas na referência do desenvolvedor Python.
PIP_EXTRA_INDEX_URL
O valor dessa configuração indica uma URL de índice extra para pacotes personalizados para aplicativos Python, a serem usados além do --index-url
. Use essa configuração quando precisar executar uma compilação remota usando dependências personalizadas encontradas em um índice de pacote extra. Deve seguir as mesmas regras que --index-url
.
Chave | Valores de exemplo |
---|---|
PIP_EXTRA_INDEX_URL | http://my.custom.package.repo/simple |
Para saber mais, consulte pip
a documentação e --extra-index-url
as dependências personalizadas na referência do desenvolvedor Python.
PROJECT
Uma configuração de implantação contínua que informa ao serviço de implantação do Kudu a pasta em um repositório conectado para localizar o projeto implantável.
Chave | Valores de exemplo |
---|---|
PROJECT | WebProject/WebProject.csproj |
PYTHON_ISOLATE_WORKER_DEPENDENCIES
A configuração é específica para aplicativos de função Python. Ele define a priorização da ordem de carregamento do módulo. Por padrão, esse valor é definido como 0
.
Key | valor | Description |
---|---|---|
PYTHON_ISOLATE_WORKER_DEPENDENCIES | 0 |
Priorize o carregamento das bibliotecas Python das dependências internas do trabalhador do Python, que é o comportamento padrão. As bibliotecas de terceiros definidas em requirements.txt podem ser sombreadas. |
PYTHON_ISOLATE_WORKER_DEPENDENCIES | 1 |
Priorize o carregamento das bibliotecas Python do pacote do aplicativo definido no requirements.txt. Isso evita que suas bibliotecas colidam com as bibliotecas internas do Python worker. |
PYTHON_ENABLE_DEBUG_LOGGING
Permite o registro em log no nível de depuração em um aplicativo de função Python. Um valor de habilita o registro em log no nível de 1
depuração. Sem essa configuração ou com um valor de , somente informações e logs de 0
nível superior são enviados do trabalhador Python para o host Functions. Use essa configuração ao depurar ou rastrear suas execuções de função Python.
Ao depurar funções do Python, certifique-se também de definir um nível de log de depuração ou rastreamento no arquivo host.json, conforme necessário. Para saber mais, consulte Como configurar o monitoramento para o Azure Functions.
PYTHON_ENABLE_WORKER_EXTENSIONS
A configuração é específica para aplicativos de função Python. Definir isso para 1
permitir que o trabalhador carregue em extensões de trabalho Python definidas em requirements.txt. Ele permite que seu aplicativo de função acesse novos recursos fornecidos por pacotes de terceiros. Ele também pode alterar o comportamento de carga de função e invocação em seu aplicativo. Certifique-se de que a extensão escolhida é confiável, pois você assume o risco de usá-la. O Azure Functions não dá garantias expressas a quaisquer extensões. Para saber como usar uma extensão, visite a página de manual da extensão ou o documento readme. Por padrão, esse valor é definido como 0
.
Key | valor | Description |
---|---|---|
PYTHON_ENABLE_WORKER_EXTENSIONS | 0 |
Desative qualquer extensão de trabalho do Python. |
PYTHON_ENABLE_WORKER_EXTENSIONS | 1 |
Permita que o Python worker carregue extensões do requirements.txt. |
PYTHON_THREADPOOL_THREAD_COUNT
Especifica o número máximo de threads que um trabalhador da linguagem Python usaria para executar invocações de função, com um valor padrão de 1
para a versão 3.8
Python e abaixo. Para a versão 3.9
Python e superior, o valor é definido como None
. Essa configuração não garante o número de threads que seriam definidos durante as execuções. A configuração permite que o Python expanda o número de threads para o valor especificado. A configuração só se aplica a aplicativos de funções Python. Além disso, a configuração se aplica à invocação de funções síncronas e não a co-rotinas.
Chave | Valores de exemplo | Valor máximo |
---|---|---|
PYTHON_THREADPOOL_THREAD_COUNT | 2 | 32 |
SCALE_CONTROLLER_LOGGING_ENABLED
Essa configuração está atualmente em visualização.
Essa configuração controla o log do controlador de escala do Azure Functions. Para obter mais informações, consulte Dimensionar logs do controlador.
Chave | Valores de exemplo |
---|---|
SCALE_CONTROLLER_LOGGING_ENABLED | AppInsights:Verbose |
O valor para esta chave é fornecido no formato <DESTINATION>:<VERBOSITY>
, que é definido da seguinte forma:
Property | Description |
---|---|
<DESTINATION> |
O destino para o qual os logs são enviados. Os valores válidos são AppInsights e Blob .Ao usar AppInsights o , verifique se o Application Insights está habilitado em seu aplicativo de função.Quando você define o destino como Blob , os logs são criados em um contêiner de blob nomeado azure-functions-scale-controller na conta de armazenamento padrão definida na configuração do AzureWebJobsStorage aplicativo. |
<VERBOSITY> |
Especifica o nível de registro em log. Os valores suportados são None , Warning e Verbose .Quando definido como Verbose , o controlador de escala registra um motivo para cada alteração na contagem de trabalhadores e informações sobre os gatilhos que influenciam essas decisões. Os logs detalhados incluem avisos de gatilho e os hashes usados pelos gatilhos antes e depois da execução do controlador de escala. |
Gorjeta
Lembre-se de que, embora você deixe o registro em log do controlador de escala habilitado, isso afeta os custos potenciais de monitoramento do seu aplicativo de função. Considere habilitar o registro em log até que você tenha coletado dados suficientes para entender como o controlador de escala está se comportando e, em seguida, desativá-lo.
SCM_DO_BUILD_DURING_DEPLOYMENT
Controla o comportamento de compilação remota durante a implantação. Quando SCM_DO_BUILD_DURING_DEPLOYMENT
definido como true
, o projeto é criado remotamente durante a implantação.
Chave | Valores de exemplo |
---|---|
SCM_DO_BUILD_DURING_DEPLOYMENT | true |
SCM_LOGSTREAM_TIMEOUT
Controla o tempo limite, em segundos, quando conectado a logs de streaming. O valor padrão é 7200 (2 horas).
Chave | Valores de exemplo |
---|---|
SCM_LOGSTREAM_TIMEOUT | 1800 |
O valor da amostra acima de 1800
define um tempo limite de 30 minutos. Para obter mais informações, consulte Habilitar logs de execução de streaming no Azure Functions.
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
Cadeia de conexão para conta de armazenamento onde a função, o código do aplicativo e a configuração são armazenados em planos de dimensionamento controlados por eventos. Para obter mais informações, consulte Configuração de conexão da conta de armazenamento.
Chave | Valores de exemplo |
---|---|
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING | DefaultEndpointsProtocol=https;AccountName=... |
Essa configuração é necessária para aplicativos do plano Consumo e Elastic Premium executados em Windows e Linux. Não é necessário para aplicativos de plano dedicado, que não são dimensionados dinamicamente pelo Functions.
Alterar ou remover essa configuração pode fazer com que seu aplicativo de função não seja iniciado. Para saber mais, consulte este artigo de solução de problemas.
O Azure Files não oferece suporte ao uso de identidade gerenciada ao acessar o compartilhamento de arquivos. Para obter mais informações, consulte Cenários de autenticação com suporte dos Arquivos do Azure.
WEBSITE_CONTENTOVERVNET
Importante
WEBSITE_CONTENTOVERVNET é uma configuração de aplicativo herdado que foi substituída pela propriedade de site vnetContentShareEnabled .
Um valor de permite que seu aplicativo de função seja dimensionado quando você tem sua conta de 1
armazenamento restrita a uma rede virtual. Você deve habilitar essa configuração ao restringir sua conta de armazenamento a uma rede virtual. Apenas necessário quando se utiliza WEBSITE_CONTENTSHARE
e WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
. Para saber mais, consulte Restringir sua conta de armazenamento a uma rede virtual.
Chave | Valores de exemplo |
---|---|
WEBSITE_CONTENTOVERVNET | 1 |
Essa configuração do aplicativo é necessária nos planos Elastic Premium e Dedicated (Serviço de Aplicativo) (Standard e superior). Não suportado quando executado em um plano de consumo.
Nota
Você deve ter cuidado especial ao rotear para o compartilhamento de conteúdo em uma conta de armazenamento compartilhada por vários aplicativos de função no mesmo plano. Para obter mais informações, consulte Roteamento consistente através de redes virtuais no artigo Considerações sobre armazenamento.
WEBSITE_CONTENTSHARE
O nome do compartilhamento de arquivos que o Functions usa para armazenar o código do aplicativo de função e os arquivos de configuração. Esse conteúdo é exigido por planos de dimensionamento controlados por eventos. Usado com WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
. O padrão é uma cadeia de caracteres exclusiva gerada pelo tempo de execução, que começa com o nome do aplicativo da função. Para obter mais informações, consulte Configuração de conexão da conta de armazenamento.
Chave | Valores de exemplo |
---|---|
WEBSITE_CONTENTSHARE | functionapp091999e2 |
Essa configuração é necessária para aplicativos do plano Consumo e Premium no Windows e Linux. Não é necessário para aplicativos de plano dedicado, que não são dimensionados dinamicamente pelo Functions.
O compartilhamento é criado quando seu aplicativo de função é criado. Alterar ou remover essa configuração pode fazer com que seu aplicativo de função não seja iniciado. Para saber mais, consulte este artigo de solução de problemas.
As considerações a seguir se aplicam ao usar um modelo do Azure Resource Manager (ARM) ou um arquivo Bicep para criar um aplicativo de função durante a implantação:
- Quando você não define um
WEBSITE_CONTENTSHARE
valor para o aplicativo de função principal ou qualquer aplicativo em slots, valores de compartilhamento exclusivos são gerados para você. Não definirWEBSITE_CONTENTSHARE
é a abordagem recomendada para uma implantação de modelo ARM. - Há cenários em que você deve definir o
WEBSITE_CONTENTSHARE
valor como um valor predefinido, como quando você usa uma conta de armazenamento segura em uma rede virtual. Nesse caso, você deve definir um nome de compartilhamento exclusivo para o aplicativo de função principal e o aplicativo para cada slot de implantação. No caso de uma conta de armazenamento protegida por uma rede virtual, você também deve criar o próprio compartilhamento como parte de sua implantação automatizada. Para obter mais informações, consulte Implantações seguras. - Não faça
WEBSITE_CONTENTSHARE
uma configuração de slot. - Quando você especificar
WEBSITE_CONTENTSHARE
, o valor deve seguir esta orientação para nomes de compartilhamento.
WEBSITE_DNS_SERVER
Define o servidor DNS usado por um aplicativo ao resolver endereços IP. Essa configuração geralmente é necessária ao usar determinadas funcionalidades de rede, como zonas privadas do DNS do Azure e pontos de extremidade privados.
Chave | Valores de exemplo |
---|---|
WEBSITE_DNS_SERVER | 168.63.129.16 |
WEBSITE_ENABLE_BROTLI_ENCODING
Controla se a codificação Brotli é usada para compactação em vez da compactação gzip padrão. Quando WEBSITE_ENABLE_BROTLI_ENCODING
definido como 1
, a codificação Brotli é usada, caso contrário, a codificação gzip é usada.
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED
Desabilita o cache ao implantar aplicativos de função usando modelos do Azure Resource Manager (ARM).
Chave | Valores de exemplo |
---|---|
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED | 0 |
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT
O número máximo de instâncias para as quais o aplicativo pode ser dimensionado. O padrão não tem limite.
Importante
Esta definição está em pré-visualização. Uma propriedade de aplicativo para a função max scale out foi adicionada e é a maneira recomendada de limitar a expansão.
Chave | Valores de exemplo |
---|---|
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT | 5 |
WEBSITE_NODE_DEFAULT_VERSION
Apenas Windows.
Define a versão do Node.js a ser usada ao executar seu aplicativo de função no Windows. Você deve usar um til (~) para que o tempo de execução use a versão mais recente disponível da versão principal de destino. Por exemplo, quando definido como ~18
, a versão mais recente do Node.js 18 é usada. Quando uma versão principal é direcionada com um til, não é necessário atualizar manualmente a versão secundária.
Chave | Valores de exemplo |
---|---|
WEBSITE_NODE_DEFAULT_VERSION | ~18 |
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS
Ao executar uma troca de slot em um aplicativo de função em execução em um plano Premium, a troca pode falhar quando a conta de armazenamento dedicada usada pelo aplicativo estiver restrita à rede. Essa falha é causada por um recurso de log de aplicativo herdado, que é compartilhado pelo Functions e pelo Serviço de Aplicativo. Essa configuração substitui esse recurso de log herdado e permite que a troca ocorra.
Chave | Valores de exemplo |
---|---|
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS | 0 |
Adicione WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS
um valor a 0
todos os slots para garantir que as configurações de diagnóstico herdadas não bloqueiem suas trocas. Você também pode adicionar essa configuração e valor apenas ao slot de produção como uma configuração de slot de implantação (pegajosa).
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS
Por padrão, as configurações de versão para aplicativos de função são específicas para cada slot. Essa configuração é usada ao atualizar funções usando slots de implantação. Isso evita um comportamento imprevisto devido à alteração de versões após uma troca. Defina como 0
em produção e no slot para garantir que todas as configurações de versão também sejam trocadas. Para obter mais informações, consulte Atualizar usando slots.
Chave | Valores de exemplo |
---|---|
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS | 0 |
WEBSITE_RUN_FROM_PACKAGE
Permite que seu aplicativo de função seja executado a partir de um arquivo de pacote, que pode ser montado localmente ou implantado em uma URL externa.
Chave | Valores de exemplo |
---|---|
WEBSITE_RUN_FROM_PACKAGE | 1 |
Os valores válidos são uma URL que resolve para o local de um arquivo de pacote de implantação externo ou 1
. Quando definido como 1
, o pacote deve estar na d:\home\data\SitePackages
pasta. Quando você usa a implantação zip com WEBSITE_RUN_FROM_PACKAGE
habilitado, o pacote é carregado automaticamente para esse local. Na visualização, essa configuração foi nomeada WEBSITE_RUN_FROM_ZIP
. Para obter mais informações, consulte Executar suas funções a partir de um arquivo de pacote.
Ao implantar a partir de uma URL de pacote externo, você também deve sincronizar manualmente os gatilhos. Para obter mais informações, consulte Sincronização de gatilho.
WEBSITE_SKIP_CONTENTSHARE_VALIDATION
As configurações de WEBSITE_CONTENTAZUREFILECONNECTIONSTRING e WEBSITE_CONTENTSHARE têm verificações de validação adicionais para garantir que o aplicativo possa ser iniciado corretamente. A criação de configurações de aplicativo falha quando o aplicativo de função não pode chamar corretamente para a Conta de Armazenamento downstream ou Cofre de Chaves devido a restrições de rede ou outros fatores limitantes. Quando WEBSITE_SKIP_CONTENTSHARE_VALIDATION é definido como 1
, a verificação de validação é ignorada, caso contrário, o valor será padronizado e 0
a validação ocorrerá.
Chave | Valores de exemplo |
---|---|
WEBSITE_SKIP_CONTENTSHARE_VALIDATION | 1 |
Se a validação for ignorada e a cadeia de conexão ou o compartilhamento de conteúdo não for válido, o aplicativo não poderá ser iniciado corretamente. Nesse caso, as funções retornam erros HTTP 500. Para obter mais informações, consulte Solucionar problemas de erro: "O Azure Functions Runtime está inacessível"
WEBSITE_SLOT_NAME
Só de Leitura. Nome do slot de implantação atual. O nome do slot de produção é Production
.
Chave | Valores de exemplo |
---|---|
WEBSITE_SLOT_NAME | Production |
WEBSITE_TIME_ZONE
Permite-lhe definir o fuso horário da aplicação de funções.
Chave | SO | Valores de exemplo |
---|---|---|
WEBSITE_TIME_ZONE | Windows | Eastern Standard Time |
WEBSITE_TIME_ZONE | Linux | America/New_York |
O fuso horário predefinido utilizado com as expressões CRON é Hora Universal Coordenada (UTC). Para ter sua expressão CRON baseada em outro fuso horário, crie uma configuração de aplicativo para seu aplicativo de função chamado WEBSITE_TIME_ZONE
.
O valor desta definição depende do sistema operativo e do plano em que a aplicação de funções é executada.
Sistema operativo | Planear | Value |
---|---|---|
Windows | Todos | Defina o valor para o nome do fuso horário desejado, conforme dado pela segunda linha de cada par fornecido pelo comando do Windows tzutil.exe /L |
Linux | Premium Dedicada |
Defina o valor como o nome do fuso horário desejado, conforme mostrado no banco de dados tz. |
Nota
WEBSITE_TIME_ZONE
e TZ
não são suportados atualmente quando executados em Linux em um plano de consumo. Nesse caso, definir WEBSITE_TIME_ZONE
ou TZ
pode criar problemas relacionados a SSL e fazer com que as métricas parem de funcionar para seu aplicativo.
Por exemplo, o horário do leste nos EUA (representado por Eastern Standard Time
(Windows) ou America/New_York
(Linux)) atualmente usa UTC-05:00 durante o horário padrão e UTC-04:00 durante o horário de verão. Para que um temporizador acione o disparo às 10h00 (horário do leste) todos os dias, crie uma configuração de aplicativo para seu aplicativo de função chamado WEBSITE_TIME_ZONE
, defina o valor como Eastern Standard Time
(Windows) ou America/New_York
(Linux) e use a seguinte expressão NCRONTAB:
"0 0 10 * * *"
Quando você usa WEBSITE_TIME_ZONE
, o horário é ajustado para alterações de horário no fuso horário específico, incluindo horário de verão e alterações no horário padrão.
WEBSITE_USE_PLACEHOLDER
Indica se uma otimização de arranque a frio específica deve ser utilizada quando executada no plano de Consumo. Defina para 0
desativar a otimização de arranque a frio no plano de consumo.
Chave | Valores de exemplo |
---|---|
WEBSITE_USE_PLACEHOLDER | 1 |
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED
Indica se uma otimização de inicialização a frio específica deve ser usada ao executar funções de processo de trabalho isoladas do .NET no plano de consumo. Defina para 0
desativar a otimização de arranque a frio no plano de consumo.
Chave | Valores de exemplo |
---|---|
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED | 1 |
WEBSITE_VNET_ROUTE_ALL
Importante
WEBSITE_VNET_ROUTE_ALL é uma configuração de aplicativo herdado que foi substituída pela configuração de site vnetRouteAllEnabled .
Indica se todo o tráfego de saída do aplicativo é roteado pela rede virtual. Um valor de configuração indica que todo o tráfego do aplicativo é roteado 1
pela rede virtual. Você precisará dessa configuração ao configurar a integração de rede virtual regional nos planos de hospedagem Elastic Premium e dedicado. Ele também é usado quando um gateway NAT de rede virtual é usado para definir um endereço IP de saída estático.
Chave | Valores de exemplo |
---|---|
WEBSITE_VNET_ROUTE_ALL | 1 |
WEBSITES_ENABLE_APP_SERVICE_STORAGE
Indica se o /home
diretório é compartilhado entre instâncias dimensionadas, com um valor padrão de true
. Você deve definir isso como false
ao implantar seu aplicativo de função em um contêiner.
Configurações do site do Serviço de Aplicativo
Algumas configurações devem ser mantidas no nível do Serviço de Aplicativo como configurações do site, como versões de idioma. Essas configurações são gerenciadas no portal, usando APIs REST ou usando a CLI do Azure ou o Azure PowerShell. A seguir estão as configurações do site que podem ser necessárias, dependendo do idioma do tempo de execução, do sistema operacional e das versões:
sempreLigado
Em um aplicativo de função em execução em um plano Dedicado (Serviço de Aplicativo), o tempo de execução do Functions fica ocioso após alguns minutos de inatividade, um ponto em que apenas solicitações para um gatilho HTTP desperta seu aplicativo de função. Para garantir que suas funções acionadas não HTTP sejam executadas corretamente, incluindo funções de gatilho de temporizador, habilite o Always On para o aplicativo de função definindo a configuração do alwaysOn
site como um valor de true
.
funçõesRuntimeAdminIsolationEnabled
Determina se os pontos de extremidade do administrador interno (/admin
) em seu aplicativo de função podem ser acessados. Quando definido como false
(o padrão), o aplicativo permite solicitações para pontos de extremidade em /admin
quando essas solicitações apresentam uma chave mestra na solicitação. Quando true
o , /admin
os pontos de extremidade não podem ser acessados, mesmo com uma chave mestra.
Essa propriedade não pode ser definida para aplicativos executados na SKU de Consumo do Linux e não pode ser definida para aplicativos executados na versão 1.x do Azure Functions. Se você estiver usando a versão 1.x, você deve primeiro migrar para a versão 4.x.
linuxFxVersion
Para aplicativos de função executados no Linux, linuxFxVersion
indica o idioma e a versão para o processo de trabalho específico do idioma. Essas informações são usadas, juntamente com FUNCTIONS_EXTENSION_VERSION
, para determinar qual imagem de contêiner Linux específica está instalada para executar seu aplicativo de função. Essa configuração pode ser definida como um valor predefinido ou um URI de imagem personalizado.
Esse valor é definido para você quando você cria seu aplicativo de função Linux. Talvez seja necessário defini-lo para implantações de modelo ARM e Bíceps e em determinados cenários de atualização.
Valores válidos do linuxFxVersion
Você pode usar o seguinte comando da CLI do Azure para ver uma tabela de valores atuais linuxFxVersion
, por versão de tempo de execução do Functions suportada:
az functionapp list-runtimes --os linux --query "[].{stack:join(' ', [runtime, version]), LinuxFxVersion:linux_fx_version, SupportedFunctionsVersions:to_string(supported_functions_versions[])}" --output table
O comando anterior requer que você atualize para a versão 2.40 da CLI do Azure.
Imagens personalizadas
Quando você cria e mantém seu próprio contêiner linux personalizado para seu aplicativo de função, o linuxFxVersion
valor está no formato DOCKER|<IMAGE_URI>
, como no exemplo a seguir:
linuxFxVersion = "DOCKER|contoso.com/azurefunctionsimage:v1.0.0"
Isso indica a origem do Registro do contêiner implantado. Para obter mais informações, consulte Trabalhando com contêineres e Azure Functions.
Importante
Ao criar seus próprios contêineres, é necessário manter a imagem base do contêiner atualizada para a imagem base suportada mais recente. As imagens de base com suporte para o Azure Functions são específicas do idioma e são encontradas nos repositórios de imagem base do Azure Functions.
A equipa do Functions está empenhada em publicar atualizações mensais para estas imagens base. As atualizações regulares incluem as últimas atualizações de versões secundárias e correções de segurança para o tempo de execução e os idiomas do Functions. Você deve atualizar regularmente seu contêiner a partir da imagem base mais recente e reimplantar a versão atualizada do contêiner.
netFrameworkVersion
Define a versão específica do .NET para funções C#. Para obter mais informações, consulte Atualizar seu aplicativo de função no Azure.
powerShellVersion
Define a versão específica do PowerShell na qual suas funções são executadas. Para obter mais informações, consulte Alterando a versão do PowerShell.
Ao executar localmente, em vez disso, você usa a FUNCTIONS_WORKER_RUNTIME_VERSION
configuração no arquivo local.settings.json.
vnetContentShareEnabled
Os aplicativos executados em um plano Premium usam um compartilhamento de arquivos para armazenar conteúdo. O nome desse compartilhamento de conteúdo é armazenado na configuração do WEBSITE_CONTENTSHARE
aplicativo e sua cadeia de conexão é armazenada em WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
. Para rotear o tráfego entre seu aplicativo de função e o compartilhamento de conteúdo por meio de uma rede virtual, você também deve definir vnetContentShareEnabled
como true
. Habilitar essa propriedade de site é um requisito ao restringir sua conta de armazenamento a uma rede virtual nos planos de hospedagem Elastic Premium e Dedicado.
Nota
Você deve ter cuidado especial ao rotear para o compartilhamento de conteúdo em uma conta de armazenamento compartilhada por vários aplicativos de função no mesmo plano. Para obter mais informações, consulte Roteamento consistente através de redes virtuais no artigo Considerações sobre armazenamento.
Esta propriedade de site substitui a configuração herdada WEBSITE_CONTENTOVERVNET
.
vnetImagePullEnabled
O Functions suporta aplicativos funcionais executados em contêineres Linux. Para se conectar e extrair de um registro de contêiner dentro de uma rede virtual, você deve definir vnetImagePullEnabled
como true
. Esta propriedade do site é suportada nos planos de hospedagem Elastic Premium e Dedicado. O plano Flex Consumption não depende das propriedades do site ou das configurações do aplicativo para configurar a rede. Para obter mais informações, consulte Descontinuações do plano Flex Consumption.
vnetRouteAllEnabled
Indica se todo o tráfego de saída do aplicativo é roteado pela rede virtual. Um valor de configuração indica que todo o tráfego do aplicativo é roteado true
pela rede virtual. Use essa configuração ao configurar a integração de rede virtual regional nos planos Elastic Premium e Dedicado. Ele também é usado quando um gateway NAT de rede virtual é usado para definir um endereço IP de saída estático. Para obter mais informações, consulte Configurar o roteamento de aplicativos.
Esta configuração de site substitui a configuração de WEBSITE_VNET_ROUTE_ALL herdada.
Descontinuações do plano de consumo Flex
No plano Flex Consumption, estas propriedades do site e configurações do aplicativo foram preteridas e não devem ser usadas ao criar recursos de aplicativo de função:
Configuração/propriedade | Razão |
---|---|
ENABLE_ORYX_BUILD |
Substituído pelo remoteBuild parâmetro ao implantar no Flex Consumption |
FUNCTIONS_EXTENSION_VERSION |
A Configuração do Aplicativo é definida pelo back-end. Um valor de ~1 pode ser ignorado. |
FUNCTIONS_WORKER_RUNTIME |
Substituída por name in properties.functionAppConfig.runtime |
FUNCTIONS_WORKER_RUNTIME_VERSION |
Substituída por version in properties.functionAppConfig.runtime |
FUNCTIONS_MAX_HTTP_CONCURRENCY |
Substituído pela seção de gatilho de escala e simultaneidade |
FUNCTIONS_WORKER_PROCESS_COUNT |
Configuração não válida |
FUNCTIONS_WORKER_DYNAMIC_CONCURRENCY_ENABLED |
Configuração não válida |
SCM_DO_BUILD_DURING_DEPLOYMENT |
Substituído pelo remoteBuild parâmetro ao implantar no Flex Consumption |
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING |
Substituído pela seção de implantação do functionAppConfig |
WEBSITE_CONTENTOVERVNET |
Não utilizado para redes no Flex Consumption |
WEBSITE_CONTENTSHARE |
Substituído pela seção de implantação do functionAppConfig |
WEBSITE_DNS_SERVER |
O DNS é herdado da VNet integrada no Flex |
WEBSITE_NODE_DEFAULT_VERSION |
Substituída por version in properties.functionAppConfig.runtime |
WEBSITE_RUN_FROM_PACKAGE |
Não usado para implantações no Flex Consumption |
WEBSITE_SKIP_CONTENTSHARE_VALIDATION |
O compartilhamento de conteúdo não é usado no Flex Consumption |
WEBSITE_VNET_ROUTE_ALL |
Não utilizado para redes no Flex Consumption |
properties.alwaysOn |
Não válido |
properties.containerSize |
Renomeado como instanceMemoryMB |
properties.ftpsState |
FTPS não suportados |
properties.isReserved |
Não válido |
properties.IsXenon |
Não válido |
properties.javaVersion |
Substituída por version in properties.functionAppConfig.runtime |
properties.LinuxFxVersion |
Substituída por properties.functionAppConfig.runtime |
properties.netFrameworkVersion |
Substituída por version in properties.functionAppConfig.runtime |
properties.powerShellVersion |
Substituída por version in properties.functionAppConfig.runtime |
properties.siteConfig.functionAppScaleLimit |
Renomeado como maximumInstanceCount |
properties.siteConfig.preWarmedInstanceCount |
Renomeado como alwaysReadyInstances |
properties.use32BitWorkerProcess |
32 bits não suportado |
properties.vnetBackupRestoreEnabled |
Não utilizado para redes no Flex Consumption |
properties.vnetContentShareEnabled |
Não utilizado para redes no Flex Consumption |
properties.vnetImagePullEnabled |
Não utilizado para redes no Flex Consumption |
properties.vnetRouteAllEnabled |
Não utilizado para redes no Flex Consumption |
properties.windowsFxVersion |
Não válido |
Próximos passos
Saiba como atualizar as configurações do aplicativo
Consulte as definições de configuração no arquivo host.json
Veja outras configurações de aplicativo para aplicativos do Serviço de Aplicativo