Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Параметры приложения в функциональном приложении содержат параметры конфигурации, которые влияют на все функции данного приложения. Доступ к этим параметрам осуществляется через переменные окружения. В этой статье перечислены настройки, доступные в функциональных приложениях.
Существует несколько способов для добавления, обновления и удаления параметров приложения-функции.
Изменения в параметрах функционального приложения требуют его перезапуска.
В этой статье значения примерных строк подключения усечены для удобства чтения.
Поскольку функции Azure используют платформу службы приложений Azure для размещения, вы можете найти некоторые параметры, относящиеся к размещению вашего приложения-функции, документированы в переменных среды и параметрах приложений в службе приложений Azure.
Рекомендации по настройке приложения
При использовании параметров приложения следует учитывать следующие аспекты:
Внесение изменений в параметры функционального приложения требует его перезапуска.
В именах двойное подчеркивание (
__
) и двоеточие (:
) считаются зарезервированными значениями. Двойные подчеркивания интерпретируются как иерархические разделители как в Windows, так и в Linux, а двоеточия интерпретируются одинаково только в Windows. Например, параметрAzureFunctionsWebHost__hostid=somehost_123456
будет интерпретирован как следующий объект JSON:"AzureFunctionsWebHost": { "hostid": "somehost_123456" }
В этой статье используются только двойные подчеркивания, так как они поддерживаются в обеих операционных системах. Большинство параметров, которые поддерживают подключения с управляемыми идентификационными данными, используют двойные подчеркивания.
Когда функции выполняются локально, параметры приложения указываются в
Values
коллекции в local.settings.json.В файле host.json и в файле local.settings.json содержатся другие параметры конфигурации приложения-функции.
Параметры приложения можно использовать, чтобы переопределить значения параметров host.json без необходимости изменять сам файл host.json. Это полезно в сценариях, когда необходимо настроить или изменить конкретные параметры host.json для определенной среды. Этим способом также можно изменить параметры host.json без обязательной повторной публикации проекта. Дополнительные сведения см. в справочной статье по файлу host.json.
В этой статье описаны параметры, наиболее актуальные для функциональных приложений. Поскольку Функции Azure выполняются в Службе приложений, также поддерживаются другие настройки приложения. Дополнительные сведения см. в разделе Переменные среды и параметры приложения в службе приложений Azure.
Некоторые сценарии также требуют работы с настройками, описанными в настройках сайта службы приложений.
Изменение любых только для чтения параметров приложения Службы приложений может поместить функциональное приложение в неотзывчивое состояние.
Будьте осторожны при обновлении параметров приложения с помощью REST API, включая шаблоны ARM. Так как эти API заменяют существующие параметры приложения, необходимо включить все существующие параметры при добавлении или изменении параметров с помощью REST API или шаблонов ARM. По возможности используйте Azure CLI или Azure PowerShell для программной работы с параметрами приложения. Дополнительные сведения см. в разделе Работа с параметрами приложения.
APPINSIGHTS_INSTRUMENTATIONKEY
Ключ инструментирования для Application Insights. Не используйте оба APPINSIGHTS_INSTRUMENTATIONKEY
и APPLICATIONINSIGHTS_CONNECTION_STRING
. По возможности используйте APPLICATIONINSIGHTS_CONNECTION_STRING
. При запуске Application Insights в национальном облаке необходимо использовать APPLICATIONINSIGHTS_CONNECTION_STRING
. Дополнительные сведения см. в разделе Настройка мониторинга для Функций Azure.
Ключ | Пример значения |
---|---|
APPINSIGHTS_INSTRUMENTATIONKEY | 55555555-af77-484b-9032-64f83bb83bb |
Не используйте оба APPINSIGHTS_INSTRUMENTATIONKEY
и APPLICATIONINSIGHTS_CONNECTION_STRING
. Рекомендуется использовать APPLICATIONINSIGHTS_CONNECTION_STRING
.
APPLICATIONINSIGHTS_AUTHENTICATION_STRING
Обеспечивает доступ к Application Insights с помощью проверки подлинности Microsoft Entra. Используйте этот параметр, когда необходимо подключиться к рабочей области Application Insights с помощью проверки подлинности Microsoft Entra. Дополнительные сведения см. в разделе проверки подлинности Microsoft Entra для Application Insights.
При использовании APPLICATIONINSIGHTS_AUTHENTICATION_STRING
заданное значение зависит от типа управляемого удостоверения:
Управляемое удостоверение | Настройка значения |
---|---|
Назначаемое системой | Authorization=AAD |
Назначаемое пользователем | Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID> |
Это требование проверки подлинности применяется к подключениям узла служб Azure Functions, отладчика моментальных снимков, профилировщика и любых агентов, специфичных для определённого языка. Чтобы использовать этот параметр, управляемое удостоверение должно быть уже доступно для функционального приложения с назначенной ролью, эквивалентной Издателю метрик мониторинга.
Примечание.
При использовании APPLICATIONINSIGHTS_AUTHENTICATION_STRING
для подключения к Application Insights с помощью проверки подлинности Microsoft Entra необходимо также отключить локальную проверку подлинности для Application Insights. Эта конфигурация требует аутентификации Microsoft Entra, чтобы данные телеметрии были перенесены в рабочую область.
APPLICATIONINSIGHTS_CONNECTION_STRING
Строка подключения для Application Insights. Не используйте оба APPINSIGHTS_INSTRUMENTATIONKEY
и APPLICATIONINSIGHTS_CONNECTION_STRING
. Хотя использование APPLICATIONINSIGHTS_CONNECTION_STRING
рекомендуется во всех случаях, это необходимо в следующих случаях:
- Когда вашему приложению-функции необходимы дополнительные настройки, поддерживаемые строкой подключения.
- Когда экземпляр Application Insights работает в суверенном облаке, для которого требуется пользовательская конечная точка.
Дополнительные сведения см. в разделе Строки подключения.
Ключ | Пример значения |
---|---|
APPLICATIONINSIGHTS_CONNECTION_STRING | InstrumentationKey=... |
Чтобы подключиться к Application Insights с аутентификацией Microsoft Entra, следует использовать APPLICATIONINSIGHTS_AUTHENTICATION_STRING
.
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL
Внимание
Прокси-функции Azure — это устаревшая функция для версий 1.x до 3.x среды выполнения Azure Functions. Дополнительные сведения о устаревшей поддержке в версии 4.x см. в разделе "Прокси-серверы функций".
По умолчанию прокси-серверы Функций используют ярлык для отправки вызовов API из прокси напрямую в функции в том же приложении-функции. Этот ярлык используется вместо создания нового HTTP-запроса. Данный параметр позволяет отключить такое использование ярлыков.
Ключ | значение | Описание |
---|---|---|
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL | true |
Вызовы с внутренним URL-адресом, указывающим на функцию в локальном приложении-функции, не будут направляться непосредственно этой функции. Вместо этого запросы направляются обратно на внешний HTTP-интерфейс приложения-функции. |
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL | false |
Вызовы с URL-адресом внешнего сервера, указывающим на функцию в локальном приложении-функции, перенаправляются непосредственно этой функции. По умолчанию устанавливается значение false . |
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES
Внимание
Прокси-серверы Azure Functions являются устаревшей функцией для версий с 1.x до 3.x среды выполнения Azure Functions. Дополнительные сведения о устаревшей поддержке в версии 4.x см. в разделе "Прокси-серверы функций".
Этот параметр определяет, декодируются ли символы %2F
как косые черты в параметрах маршрута при их вставке во внутренний URL-адрес.
Ключ | значение | Описание |
---|---|---|
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES | true |
Параметры маршрута с закодированными косыми чертами декодируются. |
Расшифровка слешей в URL прокси-сервера Azure Function (AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES) | false |
Все параметры маршрута передаются без изменений. Это поведение по умолчанию. |
Например, рассмотрим файл proxies.json для приложения-функции в домене myfunction.com
.
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {
"root": {
"matchCondition": {
"route": "/{*all}"
},
"backendUri": "example.com/{all}"
}
}
}
Если параметр AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES
установлен на true
, URL-адрес example.com/api%2ftest
преобразуется в example.com/api/test
. По умолчанию URL-адрес остается неизменным: example.com/test%2fapi
. Дополнительные сведения см. в разделе Прокси-серверы функций.
AZURE_FUNCTIONS_ENVIRONMENT
Настраивает среду размещения среды выполнения функции приложения при запуске в Azure. Это значение считывается во время инициализации, и только эти значения учитываются средой выполнения:
Используйте этот параметр вместо ASPNETCORE_ENVIRONMENT
, если вам нужно изменить среду выполнения в Azure на что-то отличное от Production
. Дополнительные сведения см. в разделе "Класс и методы запуска на основе среды".
Этот параметр недоступен в среде выполнения Функций версии 1.x.
AzureFunctionsJobHost__*
Начиная с версии 2.x и в более поздних версиях среды выполнения Функций параметры приложения могут переопределять параметры файла host.json в текущей среде. Такие переопределения выражаются в форме параметров приложения под названием AzureFunctionsJobHost__path__to__setting
. Дополнительные сведения см. в разделе Переопределение значений из host.json.
AzureFunctionsWebHost__hostid
Задает идентификатор узла для заданного приложения-функции, который должен быть уникальным идентификатором. Этот параметр переопределяет автоматически созданное значение идентификатора узла для приложения. Используйте этот параметр только в том случае, если необходимо предотвратить конфликты идентификаторов узлов между приложениями-функциями, которые используют одну и ту же учетную запись хранения.
Идентификатор узла должен соответствовать следующим требованиям:
- От 1 до 32 символов
- содержит только строчные буквы, цифры и дефисы
- Не начинайте или не завершайте с дефиса
- Не содержит последовательных дефисов
Простой способ создать идентификатор — взять GUID, удалить дефисы и преобразовать его в строчные буквы, например путем преобразования GUID 1835D7B5-5C98-4790-815D-072CC94C6F71
в значение 1835d7b55c984790815d072cc94c6f71
.
Ключ | Пример значения |
---|---|
AzureFunctionsWebHost__hostid | myuniquefunctionappname123456789 |
Дополнительные сведения см. в разделе Рекомендации по идентификатору узла.
AzureWebJobsDashboard
Этот параметр не рекомендуется использовать и поддерживается только при выполнении в версии 1.x среды выполнения Функции Azure.
Необязательная строка подключения учетной записи для хранения журналов и их отображения на вкладке Монитор на портале. Учетная запись хранения должна быть учетной записью общего назначения, поддерживающей объекты BLOB, очереди и таблицы. Дополнительную информацию см. в статье Требования учетных записей хранения.
Ключ | Пример значения |
---|---|
AzureWebJobsDashboard | DefaultEndpointsProtocol=https;AccountName=... |
AzureWebJobsDisableHomepage
Значение true
отключает целевую страницу по умолчанию, отображаемую для корневого URL-адреса приложения-функции. Значение по умолчанию — false
.
Ключ | Пример значения |
---|---|
AzureWebJobsDisableHomepage (отключение домашней страницы для Azure Web Jobs) | true |
Если пропустить этот параметр приложения или задать для него значение false
, то в ответ на URL-адрес <functionappname>.azurewebsites.net
отобразится страница, аналогичная приведенной ниже.
AzureWebJobsDotNetReleaseCompilation
true
означает режим использования Release
при компиляции кода .NET; false
означает использование режима отладки. По умолчанию — true
.
Ключ | Пример значения |
---|---|
AzureWebJobsDotNetReleaseCompilation | true |
AzureWebJobsFeatureFlags
Разделенный запятыми список бета-функций, которые необходимо включить. Бета-функции, включенные с помощью этих флагов, не готовы к использованию в производственной среде, но их можно активировать для экспериментального использования до того, как они станут доступными.
Ключ | Пример значения |
---|---|
AzureWebJobsFeatureFlags | feature1,feature2,EnableProxies |
Добавьте EnableProxies
в этот список, чтобы повторно включить прокси-серверы в среде выполнения версии 4.x Functions при планировании миграции в Azure API Management. Дополнительные сведения см. в разделе "Повторное включение прокси-серверов" в функциях версии 4.x.
AzureWebJobsKubernetesSecretName
Указывает ресурс секретов Kubernetes, используемый для хранения ключей. Поддерживается только при выполнении в Kubernetes. Для этого параметра требуется задать значение AzureWebJobsSecretStorageType
kubernetes
. Если AzureWebJobsKubernetesSecretName
этот параметр не задан, репозиторий считается только для чтения. В этом случае перед развертыванием необходимо сгенерировать значения.
Набор инструментов Azure Functions Core Tools автоматически создает значения при развертывании в Kubernetes.
Ключ | Пример значения |
---|---|
AzureWebJobsKubernetesSecretName | <SECRETS_RESOURCE> |
Дополнительные сведения см. в статье "Управление хранилищем ключей".
AzureWebJobsSecretStorageKeyVaultClientId
Идентификатор клиента управляемого удостоверения, назначаемого пользователем, или регистрация приложения, используемая для доступа к хранилищу с ключами. Для этого параметра требуется задать значение AzureWebJobsSecretStorageType
keyvault
. Поддерживается в среде выполнения Функций версий 4.x и более поздних.
Ключ | Пример значения |
---|---|
AzureWebJobsSecretStorageKeyVaultClientId | <CLIENT_ID> |
Дополнительные сведения см. в статье "Управление хранилищем ключей".
AzureWebJobsSecretStorageKeyVaultClientSecret
Секрет для идентификатора клиента управляемого удостоверения, назначаемого пользователем, или регистрация приложения, используемая для доступа к хранилищу с ключами. Для этого параметра требуется задать значение AzureWebJobsSecretStorageType
keyvault
. Поддерживается в среде выполнения Функций версий 4.x и более поздних.
Ключ | Пример значения |
---|---|
AzureWebJobsSecretStorageKeyVaultClientSecret | <CLIENT_SECRET> |
Дополнительные сведения см. в статье "Управление хранилищем ключей".
AzureWebJobsSecretStorageKeyVaultName
Этот параметр устарел и использовался только при выполнении в среде выполнения Azure Functions версии 3.x.
Имя экземпляра хранилища ключей, используемого для хранения ключей. Этот параметр использовался только в версии 3.x среды выполнения Функций, которая больше не поддерживается. Для версии 4.x используйте AzureWebJobsSecretStorageKeyVaultUri
. Для этого параметра требуется задать значение AzureWebJobsSecretStorageType
keyvault
.
Хранилище должно иметь политику доступа, соответствующую системно-назначенному управляемому удостоверению ресурса-хоста. Политика доступа должна предоставлять идентичности следующие разрешения на секрет: Get
, Set
, List
и Delete
.
При локальном запуске функций используется удостоверение разработчика, а параметры должны находиться в файле local.settings.json.
Ключ | Пример значения |
---|---|
AzureWebJobsSecretStorageKeyVaultName | <VAULT_NAME> |
Дополнительные сведения см. в статье "Управление хранилищем ключей".
AzureWebJobsSecretStorageKeyVaultTenantId
Идентификатор арендатора регистрации приложения, используемый для доступа к хранилищу ключей. Для этого параметра требуется задать значение AzureWebJobsSecretStorageType
keyvault
. Поддерживается в среде выполнения Функций версий 4.x и более поздних. Дополнительные сведения см. в статье "Управление хранилищем ключей".
Ключ | Пример значения |
---|---|
AzureWebJobsSecretStorageKeyVaultTenantId | <TENANT_ID> |
AzureWebJobsSecretStorageKeyVaultUri
URI экземпляра хранилища ключей, используемого для хранения ключей. Поддерживается в среде выполнения Функций версий 4.x и более поздних. Это рекомендуемый параметр для использования экземпляра хранилища ключей для хранения ключей. Для этого параметра требуется задать значение AzureWebJobsSecretStorageType
keyvault
.
Значение AzureWebJobsSecretStorageKeyVaultUri
должно быть полным значением универсального кода ресурса (URI) хранилища, отображаемого на вкладке Обзор Key Vault, включая https://
.
Хранилище должно иметь политику доступа, соответствующую управляемому удостоверению, назначенному системой размещающего ресурса. Политика доступа должна предоставлять удостоверению следующие разрешения на секрет: Get
, Set
, List
и Delete
.
При локальном запуске функций используется удостоверение разработчика, а параметры должны находиться в файле local.settings.json.
Ключ | Пример значения |
---|---|
AzureWebJobsSecretStorageKeyVaultUri | https://<VAULT_NAME>.vault.azure.net |
Дополнительные сведения см. в статье Использование ссылок на Key Vault в Функциях Azure.
AzureWebJobsSecretStorageSas
Подписанный URL-адрес Хранилища BLOB-объектов для второй учетной записи хранения, используемый для хранилища ключей. По умолчанию Функции используют учетную запись, заданную в параметре AzureWebJobsStorage
. При использовании этого параметра хранилища секретов убедитесь, что AzureWebJobsSecretStorageType
не задан явным образом или имеет значение blob
. Дополнительные сведения см. в статье "Управление хранилищем ключей".
Ключ | Пример значения |
---|---|
AzureWebJobsSecretStorageSas | <BLOB_SAS_URL> |
AzureWebJobsSecretStorageType
Указывает репозиторий или поставщик, используемый для хранения ключей. Ключи всегда шифруются перед сохранением с использованием секрета, уникального для приложения-функции.
Ключ | значение | Описание |
---|---|---|
AzureWebJobsSecretStorageType | blob |
Ключи хранятся в контейнере хранилища объектов BLOB в учетной записи, заданной параметром AzureWebJobsStorage . Хранилище BLOB-объектов — это поведение по умолчанию, если AzureWebJobsSecretStorageType не задано.Чтобы указать другую учетную запись хранения, используйте параметр AzureWebJobsSecretStorageSas , чтобы указать SAS URL второй учетной записи хранения. |
AzureWebJobsSecretStorageType | files |
Ключи сохраняются в файловой системе. Это поведение по умолчанию для функций версии 1.x. |
AzureWebJobsSecretStorageType (Тип хранилища секретов Azure Web Jobs) | keyvault |
Ключи хранятся в экземпляре хранилища ключей, заданном параметром AzureWebJobsSecretStorageKeyVaultName . |
AzureWebJobsSecretStorageType | kubernetes |
Поддерживается только при запуске среды выполнения Функций в Kubernetes. Если этот параметр AzureWebJobsKubernetesSecretName не задан, репозиторий доступен только для чтения. В этом случае перед развертыванием необходимо сгенерировать значения.
Набор инструментов Azure Functions Core Tools автоматически создает значения при развертывании в Kubernetes. |
Дополнительные сведения см. в статье "Управление хранилищем ключей".
AzureWebJobsStorage
Указывается строка подключения для учетной записи службы хранилища Azure, которую среда выполнения функций использует для нормальных операций. Некоторые из применений этой учетной записи хранения, используемой Функциями, включают управление ключами, управление триггерами таймера и контрольные точки Event Hubs. Учетная запись хранения должна быть общего назначения и поддерживать блобы, очереди и таблицы. Дополнительные сведения см. в разделе Требования к учетной записи хранения.
Ключ | Пример значения |
---|---|
AzureWebJobsStorage | DefaultEndpointsProtocol=https;AccountName=... |
Вместо строки подключения можно использовать подключение на основе идентификатора для этой учетной записи. Дополнительные сведения см. в разделе Подключение к хранилищу узла с помощью удостоверения.
AzureWebJobsStorage__accountName
При использовании подключения к хранилищу на основе идентификационных данных задает имя учетной записи хранения вместо строки подключения вAzureWebJobsStorage
. Этот синтаксис уникален для AzureWebJobsStorage
и не может быть использован для других соединений, основанных на идентификации.
Ключ | Пример значения |
---|---|
AzureWebJobsStorage__accountName | <STORAGE_ACCOUNT_NAME> |
Для суверенных облаков или при использовании пользовательского DNS необходимо использовать настройки, специфичные для сервиса AzureWebJobsStorage__*ServiceUri
.
AzureWebJobsStorage__blobServiceUri
При использовании подключения к хранилищу на основе удостоверений задается URI уровня данных службы BLOB учетной записи хранилища.
Ключ | Пример значения |
---|---|
AzureWebJobsStorage__blobServiceUri | https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net |
Используйте этот параметр вместо AzureWebJobsStorage__accountName
в суверенных облаках или при использовании пользовательского DNS. Дополнительные сведения см. в разделе Подключение к хранилищу узла с помощью удостоверения.
AzureWebJobsStorage__queueServiceUri
При использовании подключения к хранилищу на основе удостоверений, задает URI уровня данных службы управления очередями в учетной записи хранения.
Ключ | Пример значения |
---|---|
AzureWebJobsStorage__queueServiceUri | https://<STORAGE_ACCOUNT_NAME>.queue.core.windows.net |
Используйте этот параметр вместо AzureWebJobsStorage__accountName
в суверенных облаках или при использовании пользовательского DNS. Дополнительные сведения см. в разделе Подключение к хранилищу узла с помощью удостоверения.
AzureWebJobsStorage__tableServiceUri
При использовании подключения к хранилищу на основе удостоверений задает URI плоскости данных службы таблиц учетной записи хранения.
Ключ | Пример значения |
---|---|
AzureWebJobsStorage__tableServiceUri | https://<STORAGE_ACCOUNT_NAME>.table.core.windows.net |
Используйте этот параметр вместо AzureWebJobsStorage__accountName
в суверенных облаках или при использовании пользовательского DNS. Дополнительные сведения см. в разделе Подключение к хранилищу узла с помощью удостоверения.
AzureWebJobs_TypeScriptPath
Путь к компилятору, который используется для TypeScript. Позволяет при необходимости переопределить значение по умолчанию.
Ключ | Пример значения |
---|---|
AzureWebJobs_TypeScriptPath | %HOME%\typescript |
DOCKER_REGISTRY_SERVER_PASSWORD
Указывает пароль, используемый для доступа к частному реестру контейнеров. Этот параметр требуется только при развертывании контейнерного приложения-функции из частного реестра контейнеров. Дополнительные сведения см. в разделе Переменные среды и параметры приложения в службе Azure App Service.
DOCKER_REGISTRY_SERVER_URL
Указывает URL-адрес частного реестра контейнеров. Этот параметр требуется только при развертывании контейнерного приложения-функции из частного реестра контейнеров. Дополнительные сведения см. в разделе Переменные среды и параметры приложения в Azure App Service.
DOCKER_REGISTRY_SERVER_USERNAME
Указывает учетную запись, используемую для доступа к частному реестру контейнеров. Этот параметр требуется только при развертывании контейнерного приложения-функции из частного реестра контейнеров. Дополнительные сведения см. в разделе "Переменные среды" и "Параметры приложения" в службе Azure App Service.
DOCKER_SHM_SIZE
Устанавливает размер общей памяти (в байтах), когда рабочая роль Python использует общую память. Дополнительные сведения см. в разделе Общая память.
Ключ | Пример значения |
---|---|
DOCKER_SHM_SIZE | 268435456 |
Указанное выше значение задает общий размер памяти около 256 МБ.
Требует, чтобы для параметра FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED
было задано значение 1
.
ENABLE_ORYX_BUILD
Указывает, используется ли система сборки Oryx во время развертывания. В случае выполнения удаленных развертываний сборки в Linux, ENABLE_ORYX_BUILD
должно быть установлено в true
. Дополнительные сведения см. в разделе "Удаленная сборка".
Ключ | Пример значения |
---|---|
ENABLE_ORYX_BUILD | true |
РЕЖИМ_РЕДАКТИРОВАНИЯ_ПРИЛОЖЕНИЯ_ФУНКЦИИ
Указывает, можно ли редактировать ваше приложение функции в портале Azure. Допустимые значения — readwrite
и readonly
.
Ключ | Пример значения |
---|---|
РЕЖИМ_РЕДАКТИРОВАНИЯ_ПРИЛОЖЕНИЯ_ФУНКЦИЙ | readonly |
Значение задается средой выполнения на основе языкового стека и состояния развертывания приложения-функции. Дополнительные сведения см. в разделе об ограничениях разработки в портале Azure.
FUNCTIONS_EXTENSION_VERSION
Версия среды выполнения Функций, в которой размещается ваше приложение-функция. Тильда (~
) с основной версией означает использование последней версии этой основной версии (например, ~4
). Когда доступны новые младшие версии той же первичной версии, они автоматически устанавливаются в функциональном приложении.
Ключ | Пример значения |
---|---|
ВЕРСИЯ_РАСШИРЕНИЯ_ФУНКЦИЙ | ~4 |
Поддерживаются следующие основные значения версии среды выполнения.
значение | Цель выполнения | Комментарий |
---|---|---|
~4 |
4.x | Рекомендуется |
~1 |
1.x | Поддержка заканчивается 14 сентября 2026 г. |
Значение ~4
означает, что приложение работает в среде выполнения версии 4.x. Значение ~1
позволяет закрепить для приложения версию 1.x среды выполнения. Версии среды выполнения 2.x и 3.x больше не поддерживаются. Дополнительные сведения см. в обзоре версий среды выполнения Функций Azure.
Если служба поддержки попросила закрепить ваше приложение на конкретной дополнительной версии, используйте полный номер версии (например, 4.0.12345
). Дополнительные сведения см. в статье Выбор целевых версий среды выполнения Функций Azure.
FUNCTIONS_INPROC_NET8_ENABLED
Указывает, может ли приложение использовать .NET 8 в рамках модели внутри процесса. Чтобы использовать .NET 8 во внутрирпроцессной модели, это значение должно быть установлено в 1
. См. Обновление до целевой версии .NET 8 для получения полных инструкций, включая другие необходимые значения конфигурации.
Ключ | Пример значения |
---|---|
FUNCTIONS_INPROC_NET8_ENABLED | 1 |
Установите 0
для отключения поддержки .NET 8 в модели in-process.
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR
Этот параметр приложения является временным способом для Node.js приложений, чтобы включить критическое изменение, которое упрощает устранение ошибок точки входа в Node.js версии 18 или более поздней версии. Настоятельно рекомендуется использовать true
, особенно для приложений модели программирования версии 4, которые всегда обращаются к файлам точек входа. Поведение без непрерывного изменения (false
) игнорирует ошибки в точке входа и не регистрирует их в Application Insights.
Начиная с версии 20 Node.js, параметр приложения не оказывает влияния, и функциональность, связанная с критическими изменениями, всегда включена.
Для Node.js версии 18 или ниже используется параметр приложения, а поведение по умолчанию зависит от того, происходит ли ошибка до или после регистрации функции модели версии 4:
- Если ошибка возникает раньше (например, если вы используете модель версии 3 или файл точки входа не существует), поведение по умолчанию соответствует
false
. - Если ошибка возникает после (например, при попытке зарегистрировать повторяющиеся функции модели v4), поведение по умолчанию совпадает с
true
.
Ключ | значение | Описание |
---|---|---|
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR | true |
Блокировать ошибки точки входа и регистрировать их в Application Insights. |
ФУНКЦИИ_НОДА_БЛОКИРУЮТСЯ_НА_ОШИБКЕ_ТОЧКИ_ВХОДА | false |
Игнорируйте ошибки точки входа и не регистрируйте их в Application Insights. |
ОГРАНИЧЕНИЕ_РАЗМЕРА_ТЕЛА_ЗАПРОСА_ФУНКЦИЙ
Переопределяет ограничение по умолчанию на размер текста запросов, отправленных в конечные точки HTTP. Значение присваивается в байтах с максимальным размером запроса по умолчанию 104 857 600 байт.
Ключ | Пример значения |
---|---|
ПРЕДЕЛ РАЗМЕРА ТЕЛА ЗАПРОСА ФУНКЦИЙ | 250000000 |
FUNCTIONS_V2_COMPATIBILITY_MODE
Внимание
Этот параметр больше не поддерживается. Изначально была предоставлена возможность временного решения для приложений, предназначенных для среды выполнения версии 2.x, чтобы они могли работать в среде выполнения версии 3.x, пока поддержка еще осуществлялась. За исключением устаревших приложений, работающих в версии 1.x, все приложения-функции должны работать в среде выполнения функций версии 4.x: FUNCTIONS_EXTENSION_VERSION=~4
Дополнительные сведения см. в обзоре версий среды выполнения Функций Azure.
ЧИСЛО_РАБОТАЮЩИХ_ПРОЦЕССОВ_ФУНКЦИЙ
Указывает максимальное количество языковых рабочих процессов. Значение по умолчанию — 1
. Максимальное допустимое значение — 10
. Вызовы функций равномерно распределяются между языковыми рабочими процессами. Процессы обработки языков запускаются каждые 10 секунд, пока не будет достигнуто число, установленное FUNCTIONS_WORKER_PROCESS_COUNT
. Использование нескольких языковых рабочих процессов не то же самое, что масштабирование. Рассмотрите возможность использования этого параметра, если в вашей рабочей нагрузке имеется сочетание вызовов, ограниченных по производительности ЦП, и вызовов, ограниченных по пропускной способности ввода-вывода. Этот параметр применяется ко всем языковым средам выполнения, за исключением .NET, работающего в процессе (FUNCTIONS_WORKER_RUNTIME=dotnet
).
Ключ | Пример значения |
---|---|
ФУНКЦИИ_РАБОЧИЙ_ПРОЦЕСС_КОЛИЧЕСТВО | 2 |
FUNCTIONS_WORKER_RUNTIME
Стек языка или языка рабочей среды выполнения для загрузки в приложение-функцию. Этот параметр соответствует языку, используемому в приложении (например, python
). Начиная с версии 2.x среды выполнения Функций Azure отдельное приложение-функция может поддерживать только один язык.
Ключ | Пример значения |
---|---|
FUNCTIONS_WORKER_RUNTIME | node |
Допустимые значения:
значение | Стек языков |
---|---|
dotnet |
C# (библиотека классов) C# (скрипт) |
dotnet-isolated |
C# (изолированный рабочий процесс) |
java |
Java |
node |
JavaScript TypeScript |
powershell |
PowerShell |
python |
Python |
custom |
Другое |
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED
Этот параметр позволяет рабочему Python использовать общую память для улучшения производительности. Включите общую память, если у приложения-функции Python возникают проблемы с памятью.
Ключ | Пример значения |
---|---|
ФУНКЦИИ_РАБОТНИК_РАЗДЕЛЯЕМАЯ_ПАМЯТЬ_ПЕРЕДАЧА_ДАННЫХ_ВКЛЮЧЕНО | 1 |
Если этот параметр включен, вы можете использовать параметр DOCKER_SHM_SIZE, чтобы задать размер общей памяти. Дополнительные сведения см. в разделе Общая память.
JAVA_OPTS
Используется для настройки виртуальной машины Java (JVM), используемой для запуска функций Java при выполнении плана Premium или выделенного плана. При выполнении плана потребления вместо этого используйте languageWorkers__java__arguments
. Дополнительные сведения см. в разделе "Настройка JVM".
languageWorkers__java__аргументы
Используется для настройки виртуальной машины Java (JVM), используемой для запуска функций Java при выполнении плана потребления. Этот параметр увеличивает время холодного запуска для функций Java, работающих на тарифе Consumption. Вместо этого используйте JAVA_OPTS
для плана "Премиум" или "Выделенный". Дополнительные сведения см. в разделе "Настройка JVM".
MDMaxBackgroundUpgradePeriod
Управляет периодом обновления в фоновом режиме для управляемых зависимостей для приложений-функций PowerShell. По умолчанию используется значение 7.00:00:00
(еженедельно).
Каждый рабочий процесс PowerShell инициирует проверку наличия обновлений модулей в PowerShell Gallery при каждом запуске процесса и затем повторяет проверку через каждый MDMaxBackgroundUpgradePeriod
. Если в галерее PowerShell доступна новая версия модуля, она устанавливается в файловую систему и предоставляется рабочим процессам PowerShell. Уменьшение этого значения позволяет приложению-функции быстрее получать более новые версии модулей, но при этом увеличивает потребление ресурсов приложения (сетевой ввод-вывод, ЦП, хранилище). Увеличение этого значения уменьшает использование ресурсов приложения, но может также отложить доставку новых версий модулей в приложение.
Ключ | Пример значения |
---|---|
MDMaxBackgroundUpgradePeriod | 7.00:00:00 |
Дополнительные сведения см. в разделе Управление зависимостями.
НовыйСнимокПериодПроверки
Указывает, как часто каждый рабочий процесс PowerShell проверяет, установлены ли обновления для управляемых зависимостей. По умолчанию используется частота 01:00:00
(ежечасно).
После установки новых версий модулей в файловой системе необходимо перезапустить каждый рабочий процесс PowerShell. Перезапуск рабочих ролей PowerShell влияет на доступность приложения, так как может прерывать текущее выполнение функции. До перезапуска всех рабочих процессов PowerShell вызовы функций могут использовать старые или новые версии модуля. Перезапуск всех рабочих PowerShell завершается в течение MDNewSnapshotCheckPeriod
.
При каждом MDNewSnapshotCheckPeriod
рабочий PowerShell проверяет, установлены ли обновления управляемых зависимостей. Когда обновления буду установлены, выполняется перезагрузка. Увеличение этого значения снижает частоту перерывов, связанных с перезапусками. Однако увеличение может также увеличить время, в течение которого вызовы функций могут использовать старые или новые версии модуля, недетерминированно.
Ключ | Пример значения |
---|---|
Период проверки новых снимков MD | 01:00:00 |
Дополнительные сведения см. в разделе Управление зависимостями.
MDMinBackgroundUpgradePeriod
Период времени после предыдущей проверки управляемого обновления зависимостей до запуска следующей проверки. По умолчанию используется значение 1.00:00:00
(ежедневно).
Чтобы избежать частого обновления модулей с частыми перезапусками рабочих процессов, проверка обновления модулей не выполняется, если любой рабочий процесс уже выполнил её в течение последнего периода MDMinBackgroundUpgradePeriod
.
Ключ | Пример значения |
---|---|
MDMinBackgroundUpgradePeriod (Минимальный период обновления в фоновом режиме) | 1.00:00:00 |
Дополнительные сведения см. в разделе Управление зависимостями.
PIP_INDEX_URL
Этот параметр позволяет переопределить базовый URL-адрес индекса пакета Python, который по умолчанию имеет значение https://pypi.org/simple
. Используйте этот параметр, если необходимо запустить удаленную сборку с помощью пользовательских зависимостей. Эти пользовательские зависимости могут находиться в репозитории индексов пакетов, совместимом с PEP 503 (простым API репозитория) или в локальном каталоге, который соответствует одному и тому же формату.
Ключ | Пример значения |
---|---|
PIP_INDEX_URL | http://my.custom.package.repo/simple |
Дополнительные сведения см. в разделе pip
документация для --index-url
и раздел Пользовательские зависимости в справочнике разработчика Python.
PIP_EXTRA_INDEX_URL
Значение этого параметра указывает дополнительный URL-адрес индекса для пользовательских пакетов для приложений Python, используемых в дополнение к параметру --index-url
. Используйте этот параметр, когда вам необходимо запустить удаленную сборку с пользовательскими зависимостями, которые содержатся в дополнительном индексе пакетов. Следуйте тем же правилам, что и --index-url
.
Ключ | Пример значения |
---|---|
PIP_EXTRA_INDEX_URL | http://my.custom.package.repo/simple |
Дополнительные сведения см. в pip
документации по --extra-index-url
и Пользовательские зависимости в справочнике разработчика Python.
ПРОЕКТ
Параметр непрерывного развертывания, указывающий службе развертывания Kudu папку в подключенном репозитории для расположения развертываемого проекта.
Ключ | Пример значения |
---|---|
ПРОЕКТ | WebProject/WebProject.csproj |
PYTHON_ISOLATE_WORKER_DEPENDENCIES
Эта конфигурация применяется только к приложениям-функциям Python. Она определяет приоритетность загрузки модулей. По умолчанию, этому параметру присваивается значение 0
.
Ключ | значение | Описание |
---|---|---|
PYTHON_ISOLATE_WORKER_DEPENDENCIES | 0 |
Обеспечьте приоритетную загрузку библиотек Python из зависимостей внутренних рабочих Python, что является поведением по умолчанию. Сторонние библиотеки, определенные в requirements.txt, могут быть замещены. |
PYTHON_ISOLATE_WORKER_DEPENDENCIES | 1 |
Задает приоритетность загрузки библиотек Python из пакетов приложений, определенных в файле requirements.txt. Эта настройка предотвращает столкновение ваших библиотек с библиотеками, используемыми внутренним Python-работником. |
PYTHON_ENABLE_DEBUG_LOGGING
Включает ведение журнала на уровне отладки в приложении-функции Python. Значение 1
включает ведение журнала на уровне отладки. Без этого параметра или со значением 0
только информация и журналы более высокого уровня отправляются от Python-исполнителя хосту Functions. Используйте этот параметр при отладке или трассировке выполнения функций Python.
При отладке функций Python также задайте уровень ведения журнала отладки или трассировки в файле host.json (при необходимости). Дополнительные сведения см. в статье Настройка мониторинга для Функций Azure.
PYTHON_ENABLE_WORKER_EXTENSIONS
Эта конфигурация применяется только к приложениям-функциям Python. Указание значения 1
для этого параметра позволяет рабочей роли загружать расширения рабочей роли Python, определенные в файле requirements.txt. Это позволяет приложению-функции обращаться к новым возможностям, предоставляемым в пакетах сторонних поставщиков. Он также может изменить поведение загрузки функции и вызова в приложении. Убедитесь, что выбранное расширение является надежным, так как вы несете риск его использования. Функции Azure не предоставляют явных гарантий на любые расширения. Для получения информации о том, как использовать расширение, посетите руководство по расширению или прочитайте файл readme. По умолчанию это значение равно 0
.
Ключ | значение | Описание |
---|---|---|
PYTHON_ENABLE_WORKER_EXTENSIONS | 0 |
Отключите любое расширение Python для worker. |
PYTHON_ENABLE_WORKER_EXTENSIONS | 1 |
Разрешить процессу Python загружать расширения из файла requirements.txt. |
PYTHON_THREADPOOL_THREAD_COUNT
Указывает максимальное количество потоков, которое языковый рабочий процесс Python будет использовать для выполнения вызовов функций. Значение по умолчанию для версий Python 1
и ниже — 3.8
. Для версий Python 3.9
и выше значение по умолчанию равно None
. Этот параметр не гарантирует количество потоков, которые будут заданы во время выполнения. Этот параметр позволяет Python увеличивать количество потоков до заданного значения. Данный параметр применяется только к приложениям-функциям на Python. Кроме того, этот параметр применяется к вызовам синхронных функций, но не к корутинам.
Ключ | Пример значения | Максимальное значение |
---|---|---|
PYTHON_THREADPOOL_THREAD_COUNT | 2 | 32 |
ВКЛЮЧЕН_ЛОГГИРОВАНИЕ_КОНТРОЛЛЕРА_МАСШТАБИРОВАНИЯ
Этот параметр в настоящее время находится в предварительной версии.
Этот параметр управляет логированием в масштабируемом контроллере Azure Functions. Дополнительные сведения см. в разделе Журналы контроллера масштабирования.
Ключ | Пример значения |
---|---|
ЛОГИРОВАНИЕ_КОНТРОЛЛЕРА_МАСШТАБА_ВКЛЮЧЕНО | AppInsights:Verbose |
Значение для этого ключа указывается в формате <DESTINATION>:<VERBOSITY>
, который определяется следующим образом:
Свойство | Описание |
---|---|
<DESTINATION> |
Место назначения, в которое отправляются журналы. Допустимые значения — AppInsights и Blob .При использовании AppInsights убедитесь, что в приложении-функции включена функция Application Insights.Если для назначения задано значение Blob , то журналы создаются в контейнере больших двоичных объектов с именем azure-functions-scale-controller в учетной записи хранения по умолчанию, заданной в параметре AzureWebJobsStorage приложения. |
<VERBOSITY> |
Определяет уровень ведения журнала. Поддерживаются значения None , Warning и Verbose .Если задано значение Verbose , контроллер масштабирования регистрирует причину каждого изменения количества рабочих ролей, а также сведения о триггерах, которые влияют на эти решения. Подробные журналы содержат предупреждения триггеров и хэши, использованные триггерами до и после запуска контроллера масштабирования. |
Совет
Помните о том, что, если включено ведение журнала контроллера масштабирования, это влияет на потенциальные затраты на мониторинг приложения-функции. Рекомендуется выполнять ведение журнала до тех пор, пока не будет собрано достаточно данных для понимания работы контроллера масштабирования, а затем отключить его.
SCM_DO_BUILD_DURING_DEPLOYMENT
Управляет поведением удаленной сборки во время развертывания. Если SCM_DO_BUILD_DURING_DEPLOYMENT
задано значение true
, проект создается удаленно во время развертывания.
Ключ | Пример значения |
---|---|
SCM_ВЫПОЛНИТЬ_СБОРКУ_ВО_ВРЕМЯ_РАЗВЕРТЫВАНИЯ | true |
SCM_LOGSTREAM_TIMEOUT
Контролирует время ожидания в секундах при подключении к потоковой передаче журналов. Значение по умолчанию составляет 7200 секунд (2 часа).
Ключ | Пример значения |
---|---|
SCM_LOGSTREAM_TIMEOUT | 1800 |
В приведенном выше примере значение 1800
устанавливает время ожидания 30 минут. Дополнительные сведения см. в разделе "Включение журналов выполнения потоковой передачи" в Функции Azure.
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
Строка подключения для учетной записи хранения, в которой код и конфигурация приложения-функции хранятся в управляемых событиями планах масштабирования. Дополнительные сведения см. в разделе Настройка подключения учетной записи хранения.
Ключ | Пример значения |
---|---|
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING | DefaultEndpointsProtocol=https;AccountName=... |
Этот параметр необходим для приложений, работающих на планах Consumption и Elastic Premium как в Windows, так и в Linux. Он не требуется для приложений ценовой категории "Выделенный", которые не масштабируются динамически с помощью Функций.
Изменение или удаление этого параметра может привести к тому, что приложение-функция не запускается. Дополнительные сведения см. в этой статье по устранению неполадок.
Файлы Azure не поддерживают использование управляемого удостоверения при доступе к общей папке. Для получения дополнительной информации см. сценарии аутентификации, поддерживаемые в Azure Files.
ВЕБ-САЙТ_СОДЕРЖИМОЕОВЕРВНЕТ
Внимание
WEBSITE_CONTENTOVERVNET — это устаревший параметр приложения, который был заменен свойством сайта vnetContentShareEnabled .
Значение 1
позволяет вашему функциональному приложению масштабироваться, если учетная запись хранения ограничена доступом к виртуальной сети. Этот параметр следует включать, когда учетная запись хранения ограничивается виртуальной сетью. Требуется только при использовании WEBSITE_CONTENTSHARE
и WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
. Чтобы узнать больше, см. Ограничение учетной записи хранения для виртуальной сети.
Ключ | Пример значения |
---|---|
КОНТЕНТ ВЕБ-САЙТА/ПРОФИЛЬ САЙТА | 1 |
Этот параметр приложения требуется для планов Elastic Premium и Выделенных (Служба приложений) (Стандарт и выше). Не поддерживается при работе по плану потребления.
Примечание.
При маршрутизации к общему хранилищу в учетной записи, используемой несколькими приложениями-функциями в одном плане, необходимо уделять особое внимание. Дополнительные сведения см. в статье о согласованной маршрутизации через виртуальные сети в статье "Рекомендации по хранилищу".
СОДЕРЖАНИЕ_САЙТА_ДЛЯ_ПОДЕЛИЦИЯ
Имя общей папки, которую функции используют для хранения кода приложения-функции и файлов конфигурации. Это содержимое требуется планами масштабирования на основе событий. Используется с WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
. По умолчанию используется уникальная строка, созданная средой выполнения, которая начинается с имени приложения-функции. Для получения дополнительной информации см. Параметры подключения к учетной записи хранения.
Ключ | Пример значения |
---|---|
Общий доступ к контенту на сайте | functionapp091999e2 |
Этот параметр необходим для приложений категорий "Потребление" и "Премиум" в Windows и Linux. Это не требуется для приложений тарифа "Выделенный план", которые не масштабируются динамически с помощью службы Functions.
Общая папка создается при создании функционального приложения. Изменение или удаление этого параметра может привести к тому, что приложение-функция не запускается. Дополнительные сведения см. в этой статье по устранению неполадок.
Следующие рекомендации применяются при использовании шаблона Azure Resource Manager (ARM) или Bicep-файла для создания приложения-функции во время развертывания:
- Если вы не зададите значение
WEBSITE_CONTENTSHARE
для основного функционального приложения или любых приложений в слотах, для вас будут созданы уникальные значения общего доступа. Рекомендуется не устанавливатьWEBSITE_CONTENTSHARE
для развертывания шаблона ARM. - Существуют сценарии, в которых необходимо задать
WEBSITE_CONTENTSHARE
значение предопределенного значения, например при использовании защищенной учетной записи хранения в виртуальной сети. В этом случае необходимо задать уникальное имя общей папки для основного приложения-функции и приложения для каждого слота развертывания. В случае учетной записи хранения, защищенной виртуальной сетью, необходимо также создать общую папку в рамках автоматического развертывания. Дополнительные сведения см. в разделе "Защищенные развертывания". - Не делайте
WEBSITE_CONTENTSHARE
параметром слота. - При указании
WEBSITE_CONTENTSHARE
значение должно следовать данному руководству по именам общих ресурсов.
WEBSITE_DNS_SERVER
Задает DNS-сервер, используемый приложением при разрешении IP-адресов. Этот параметр часто требуется при использовании определенных функций сети, таких как частные зоны Azure DNS и частные конечные точки.
Ключ | Пример значения |
---|---|
САЙТ_DNS_СЕРВЕР | 168.63.129.16 |
WEBSITE_ENABLE_BROTLI_ENCODING
Управляет использованием кодирования Brotli для сжатия вместо сжатия gzip по умолчанию. Если параметр WEBSITE_ENABLE_BROTLI_ENCODING
имеет значение 1
, используется кодирование Brotli. в противном случае используется кодирование gzip.
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED
Отключает кэширование при развертывании приложений-функций с помощью шаблонов Azure Resource Manager (ARM).
Ключ | примерное значение |
---|---|
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED | 0 |
Максимальное количество динамических масштабирований приложения на веб-сайте
Максимальное количество экземпляров, до которых может масштабироваться приложение. По умолчанию ограничение не установлено.
Внимание
Этот параметр доступен в режиме предварительной версии. Добавлено свойство приложения для максимального горизонтального масштабирования функции, с помощью которого рекомендуется ограничивать горизонтальное масштабирование.
Ключ | Пример значения |
---|---|
МАКСИМАЛЬНЫЙ УРОВЕНЬ МАСШТАБИРОВАНИЯ ДИНАМИЧЕСКОГО ПРИЛОЖЕНИЯ НА САЙТЕ | 5 |
WEBSITE_NODE_DEFAULT_VERSION
Только для Windows.
Задает версию Node.js, используемую при запуске приложения-функции в Windows. Чтобы среда выполнения использовала самую последнюю доступную версию нужной основной версии, следует указать символ тильды (~). Например, когда установлено ~18
, используется последняя версия Node.js 18. Когда мажорная версия указана с тильдой, минорную версию обновлять вручную не требуется.
Ключ | Пример значения |
---|---|
WEBSITE_NODE_DEFAULT_VERSION | ~18 |
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS
При выполнении смены слота в приложении-функции, работающем на тарифном плане Premium, операция может завершиться неудачей, если выделенная учетная запись хранения, используемая приложением, ограничена в сети. Эта ошибка вызвана устаревшей функцией ведения журнала приложений, которая используется как функциями, так и Служба приложений. Этот параметр переопределяет устаревшую функцию ведения журнала и позволяет выполнять переключение.
Ключ | Пример значения |
---|---|
НАСТРОЙКИ_ПРИОРИТЕТА_ВЕБ-САЙТА_ДЛЯ_ДИАГНОСТИКИ | 0 |
Добавьте WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS
со значением 0
ко всем слотам, чтобы убедиться, что устаревшие параметры диагностики не блокируют обмены. Вы также можете добавить этот параметр и значение только в рабочий слот в качестве параметра слота развертывания (липкий).
ПЕРЕОПРЕДЕЛЕНИЕ_СТАРЫХ_ЗАСТАВКИ_ВЕРСИИ_РАСШИРЕНИЯ_WEBSITE
По умолчанию параметры версии для приложений-функций зависят от каждого слота. Этот параметр используется при обновлении функций с помощью слотов развертывания. Это позволяет избежать непредвиденного поведения из-за изменения версий после переключения. Установите значение 0
в рабочей среде и в слоте, чтобы все параметры версии также были переключены. Для получения дополнительной информации см. раздел "Обновление с помощью слотов".
Ключ | Пример значения |
---|---|
ПЕРЕОПРЕДЕЛЕНИЕ_САЙТА_ЗАКРЕПЛЕННЫЕ_ВЕРСИИ_РАСШИРЕНИЙ | 0 |
WEBSITE_RUN_FROM_PACKAGE
Позволяет функциональному приложению запускаться из файла пакета, который может быть локально подключен или размещен по внешнему URL-адресу.
Ключ | Пример значения |
---|---|
ВЕБ-САЙТ_ЗАПУСК_ИЗ_ПАКЕТА | 1 |
Допустимые значения — это URL-адрес, указывающий на расположение файла внешнего пакета развертывания, или 1
. Если задано значение 1
, пакет должен быть в папке d:\home\data\SitePackages
. При осуществлении zip-развертывания с WEBSITE_RUN_FROM_PACKAGE
активированным пакет автоматически загружается в эту локацию. В предварительной версии этот параметр называется WEBSITE_RUN_FROM_ZIP
. Дополнительные сведения см. в статье Запуск функций из файла пакета.
При развертывании из URL-адреса внешнего пакета также необходимо вручную синхронизировать триггеры. Дополнительные сведения см. в разделе "Синхронизация триггеров".
ПРОПУСТИТЬ_ПРОВЕРКУ_РАЗДЕЛЕНИЯ_СОДЕРЖИМОГО_ВЕБ-САЙТА
Параметры WEBSITE_CONTENTAZUREFILECONNECTIONSTRING и WEBSITE_CONTENTSHARE имеют дополнительные проверки, чтобы убедиться, что приложение может быть правильно запущено. Создание параметров приложения завершается с ошибкой, если функциональное приложение не может должным образом обратиться к нижестоящей учетной записи хранения или Хранилищу ключей из-за сетевых ограничений или других ограничивающих факторов. Если для WEBSITE_SKIP_CONTENTSHARE_VALIDATION установлено значение 1
, проверка пропускается; в противном случае значение по умолчанию устанавливается на 0
, и проверка выполняется.
Ключ | Пример значения |
---|---|
WEBSITE_SKIP_CONTENTSHARE_VALIDATION | 1 |
Если проверка пропущена, а строка подключения или общий ресурс содержимого недействителен, приложение не сможет запуститься должным образом. В этом случае функции возвращают ошибки HTTP 500. Для получения дополнительной информации см. раздел Устранение ошибок: "Среда выполнения Azure Functions недоступна"
WEBSITE_SLOT_NAME
Только чтение. Имя текущего слота развертывания. Имя производственного слота — Production
.
Ключ | Пример значения |
---|---|
WEBSITE_SLOT_NAME | Production |
ЧАСОВОЙ ПОЯС САЙТА
Позволяет задать часовой пояс для функционального приложения.
Ключ | ОС | Пример значения |
---|---|---|
ВРЕМЕННАЯ ЗОНА ВЕБ-САЙТА | Windows | Eastern Standard Time |
ЧАСОВОЙ ПОЯС САЙТА | Linux | America/New_York |
Часовой пояс по умолчанию, используемый для выражений CRON, — это Координированное универсальное время (UTC). Если нужно использовать другой часовой пояс в выражении CRON, создайте параметр приложения с именем WEBSITE_TIME_ZONE
для вашего приложения функции.
Значение этого параметра зависит от операционной системы и плана, в рамках которого выполняется приложение-функция.
Операционная система | Планирование | значение |
---|---|---|
Windows | Все | Задайте в качестве значения имя нужного часового пояса, которое задается второй строкой каждой пары параметров, определяемых командой Windows tzutil.exe /L |
Linux | Премиум Преданные |
В качестве значения задайте имя нужного часового пояса, как указано в базе данных часовых поясов. |
Примечание.
WEBSITE_TIME_ZONE
и TZ
в настоящее время не поддерживаются при запуске на Linux в тарифных планах Consumption или Flex Consumption. В этом случае установка WEBSITE_TIME_ZONE
или TZ
может создать проблемы, связанные с SSL, и привести к прекращению работы метрик для вашего приложения.
Например, для Восточного времени США (представленного параметром Eastern Standard Time
(в Windows) или America/New_York
(в Linux)) сейчас используется время со значением UTC-05:00 в зимний период и со значением UTC-04:00 в летний период. Чтобы триггер таймера срабатывал каждый день в 10:00 по восточному времени, создайте для приложения-функции параметр с именем WEBSITE_TIME_ZONE
, задайте ему значение Eastern Standard Time
(в Windows) или America/New_York
(в Linux), а затем используйте следующее выражение NCRONTAB:
"0 0 10 * * *"
При использовании параметра WEBSITE_TIME_ZONE
время корректируется в соответствии с изменениями времени в определенном часовом поясе, включая летнее время и изменения в зимнем времени.
WEBSITE_USE_PLACEHOLDER
Указывает, следует ли использовать определенную оптимизацию холодного запуска при выполнении в плане потребления. Установите значение 0
, чтобы отключить оптимизацию холодного запуска в плане потребления.
Ключ | Пример значения |
---|---|
WEBSITE_USE_PLACEHOLDER | 1 |
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED
Указывает, следует ли использовать определенную оптимизацию холодного запуска при выполнении функций изолированного рабочего процесса .NET в плане потребления. Установите значение 0
, чтобы отключить оптимизацию холодного запуска в тарифном плане потребления.
Ключ | Значение образца |
---|---|
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED | 1 |
WEBSITE_VNET_ROUTE_ALL
Внимание
WEBSITE_VNET_ROUTE_ALL — это устаревший параметр приложения, который был заменен настройкой сайта vnetRouteAllEnabled.
Указывает, весь ли исходящий из приложения трафик направляется через виртуальную сеть. Значение 1
параметра указывает, что весь трафик приложения направляется через виртуальную сеть. Этот параметр потребуется при настройке интеграции региональной виртуальной сети в тарифных планах Elastic Premium и выделенного хостинга. Он также применяется, когда для определения статического исходящего IP-адреса используется шлюз NAT виртуальной сети.
Ключ | Пример значения |
---|---|
WEBSITE_VNET_ROUTE_ALL | 1 |
ВКЛЮЧИТЬ_ХРАНЕНИЕ_СЕРВИСА_ПРИЛОЖЕНИЙ
Указывает, является ли /home
каталог общим для масштабируемых экземпляров со значением true
по умолчанию. Вы должны установить это значение в false
, когда развертываете ваше функциональное приложение в контейнере.
Настройки сайта службы приложений
Некоторые конфигурации должны поддерживаться на уровне службы приложений как настройки сайта, например, языковые версии. Эти параметры управляются на портале с помощью REST API или с помощью Azure CLI или Azure PowerShell. Ниже приведены параметры сайта, которые могут потребоваться в зависимости от языка среды выполнения, ОС и версий:
AcrUseManagedIdentityCreds
Указывает, получен ли образ из экземпляра реестра контейнеров Azure с использованием аутентификации управляемого удостоверения. Использование значения true
требует применения управляемых удостоверений, что рекомендуется как наиболее эффективная практика обеспечения безопасности по сравнению с хранимыми учетными данными.
AcrUserManagedIdentityID
Указывает управляемое удостоверение, используемое при получении образа из экземпляра Azure Container Registry. Требуется, чтобы AcrUseManagedIdentityCreds
было задано значением true
. Это допустимые значения:
значение | Описание |
---|---|
system |
Используется управляемое удостоверение функции, назначенное системой. |
<USER_IDENTITY_RESOURCE_ID> |
Полный идентификатор ресурса управляемого удостоверения, назначаемого пользователем. |
Указанный идентификатор необходимо добавить в ACRPull
роль в реестре контейнеров. Дополнительные сведения см. в статье "Создание и настройка приложения-функции в Azure" с изображением.
AlwaysOn
В приложении-функции, работающем в плане Выделенный (Служба приложений), среда выполнения Функций переходит в состояние пониженной активности через несколько минут бездействия, и с этого момента только запросы к HTTP-триггеру могут активировать ваше приложение-функцию. Чтобы убедиться, что функции, не активированные по протоколу HTTP, выполняются правильно, включая функции триггера таймера, включите Always On для функционального приложения, задав alwaysOn
параметр сайта значением true
.
functionsRuntimeAdminIsolationEnabled
Определяет, можно ли получить доступ к встроенным конечным точкам администратора /admin
в функциональном приложении. Если задано значение false
(по умолчанию), приложение разрешает запросы к конечным точкам под /admin
, когда в этих запросах представлен мастер-ключ.
true
Когда /admin
доступ к конечным точкам не удается получить, даже с главным ключом.
Это свойство нельзя задать для приложений, работающих в Linux Consumption SKU, и его нельзя задать для приложений, работающих в версии 1.x Azure Functions. Если вы используете версию 1.x, сначала необходимо перейти на версию 4.x.
linuxFxVersion
Для приложений-функций, работающих в Linux, linuxFxVersion
указывает язык и версию для рабочего процесса конкретного языка. Эти сведения используются вместе с FUNCTIONS_EXTENSION_VERSION
, чтобы определить, какой конкретный образ контейнера Linux установлен для запуска вашего приложения функции. Этот параметр может быть задан как предопределенное значение или URI пользовательского образа.
Это значение задается при создании приложения-функции Linux. Возможно, потребуется задать его для развертываний шаблона ARM и Bicep и в определенных сценариях обновления.
Допустимые значения linuxFxVersion
Для просмотра таблицы текущих linuxFxVersion
значений можно использовать следующую команду Azure CLI, используя поддерживаемую версию среды выполнения функций:
az functionapp list-runtimes --os linux --query "[].{stack:join(' ', [runtime, version]), LinuxFxVersion:linux_fx_version, SupportedFunctionsVersions:to_string(supported_functions_versions[])}" --output table
Предыдущая команда требует обновления до версии 2.40 Azure CLI.
Пользовательские образы
При создании и поддержке собственного пользовательского контейнера Linux для функционального приложения значение linuxFxVersion
здесь в формате DOCKER|<IMAGE_URI>
, как в следующем примере:
linuxFxVersion = "DOCKER|contoso.com/azurefunctionsimage:v1.0.0"
Это указывает на источник реестра для развернутого контейнера. Дополнительные сведения см. в статье "Работа с контейнерами и Функции Azure".
Внимание
При создании собственных контейнеров необходимо сохранить базовый образ контейнера, обновленный до последнего поддерживаемого базового образа. Поддерживаемые базовые образы для функций Azure специфичны для своего языка и находятся в репозиториях базовых образов функций Azure.
Команда отдела функций нацелена на публикацию ежемесячных обновлений для этих базовых образов. Регулярные обновления включают последние незначительные обновления версий и исправления безопасности для среды выполнения функций и языков. Необходимо регулярно обновлять контейнер из последнего базового образа и повторно развертывать обновленную версию контейнера. Дополнительные сведения см. в разделе "Обслуживание пользовательских контейнеров".
netFrameworkVersion
Задает определенную версию функций .NET для C#. Дополнительные сведения см. в разделе "Обновление приложения-функции" в Azure.
PowerShellVersion
Задает определенную версию PowerShell, в которой выполняются функции. Дополнительные сведения см. в разделе "Изменение версии PowerShell".
При локальном запуске вместо этого используйте FUNCTIONS_WORKER_RUNTIME_VERSION
параметр в файле local.settings.json.
vnetContentShareEnabled
Приложения, работающие в плане Premium, используют общую папку для хранения содержимого. Имя этого контента для совместного использования хранится в параметре приложения WEBSITE_CONTENTSHARE
, а строка подключения хранится в WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
. Чтобы маршрутизировать трафик между вашим приложением-функцией и ресурсом содержимого через виртуальную сеть, необходимо также задать vnetContentShareEnabled
на true
. Включение этого свойства сайта обязательно при ограничении учетной записи хранения до виртуальной сети в планах размещения Elastic Premium и выделенных.
Примечание.
При маршрутизации к общему разделу содержимого в учетной записи хранилища, используемой несколькими приложениями-функциями в одном плане, необходимо проявлять особую осторожность. Дополнительные сведения см. в статье о согласованной маршрутизации через виртуальные сети в статье "Рекомендации по хранилищу".
Это свойство сайта заменяет устаревший WEBSITE_CONTENTOVERVNET
параметр.
vnetImagePullEnabled
Функции поддерживают функциональные приложения, работающие в Linux-контейнерах. Чтобы подключиться и извлечь из реестра контейнеров в виртуальной сети, необходимо установить значение vnetImagePullEnabled
на true
. Это свойство сайта поддерживается в планах хостинга Elastic Premium и Dedicated. План потребления Flex не зависит от свойств сайта или параметров приложения для настройки сети. Дополнительные сведения см. в разделе о прекращении использования плана потребления Flex.
vnetRouteAllEnabled
Указывает, весь ли исходящий из приложения трафик направляется через виртуальную сеть. Значение true
параметра указывает, что весь трафик приложения направляется через виртуальную сеть. Используйте этот параметр при настройке интеграции региональной виртуальной сети в планах Elastic Premium и Выделенных планах. Он также применяется, когда для определения статического исходящего IP-адреса используется шлюз NAT виртуальной сети. Дополнительные сведения см. в разделе "Настройка маршрутизации приложений".
Этот параметр сайта заменяет устаревший параметр WEBSITE_VNET_ROUTE_ALL .
Отмена плана потребления Flex
В плане Flex Consumption эти свойства сайта и параметры приложения устарели, и их не следует использовать при создании ресурсов приложения-функций.
Параметр/свойство | Причина |
---|---|
ENABLE_ORYX_BUILD |
Заменен параметром remoteBuild при развертывании в Flex Consumption |
FUNCTIONS_EXTENSION_VERSION |
Параметр приложения задается серверной частью. Значение ~1 можно игнорировать. |
FUNCTIONS_WORKER_RUNTIME |
Заменено name в properties.functionAppConfig.runtime |
FUNCTIONS_WORKER_RUNTIME_VERSION |
Заменено version в properties.functionAppConfig.runtime |
FUNCTIONS_MAX_HTTP_CONCURRENCY |
Заменен разделом, ответственным за запуск процессов масштабирования и параллелизма. |
FUNCTIONS_WORKER_PROCESS_COUNT |
Параметр недействителен |
FUNCTIONS_WORKER_DYNAMIC_CONCURRENCY_ENABLED |
Параметр недействителен |
SCM_DO_BUILD_DURING_DEPLOYMENT |
Заменен параметром remoteBuild при развертывании в Flex Consumption |
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING |
Заменен разделом развертывания functionAppConfig |
WEBSITE_CONTENTOVERVNET |
Не используется для сетевых подключений в Flex Consumption |
WEBSITE_CONTENTSHARE |
Заменен разделом развертывания functionAppConfig |
WEBSITE_DNS_SERVER |
DNS наследуется от интегрированной виртуальной сети в Flex |
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT |
Заменено maximumInstanceCount на properties.functionAppConfig.scaleAndConcurrency |
WEBSITE_NODE_DEFAULT_VERSION |
Заменено version в properties.functionAppConfig.runtime |
WEBSITE_RUN_FROM_PACKAGE |
Не используется для развертываний в Flex Consumption |
WEBSITE_SKIP_CONTENTSHARE_VALIDATION |
Совместное использование содержимого не применяется в Flex Consumption. |
WEBSITE_VNET_ROUTE_ALL |
Не используется для сетевых подключений в Flex Consumption |
properties.alwaysOn |
Недействительно |
properties.containerSize |
Переименовано как instanceMemoryMB |
properties.ftpsState |
FTPS не поддерживается |
properties.isReserved |
Недействительно |
properties.IsXenon |
Недействительно |
properties.javaVersion |
Заменено version в properties.functionAppConfig.runtime |
properties.LinuxFxVersion |
Заменено properties.functionAppConfig.runtime |
properties.netFrameworkVersion |
Заменено version в properties.functionAppConfig.runtime |
properties.powerShellVersion |
Заменено version в properties.functionAppConfig.runtime |
properties.siteConfig.functionAppScaleLimit |
Переименовано как maximumInstanceCount |
properties.siteConfig.preWarmedInstanceCount |
Переименовано как alwaysReadyInstances |
properties.use32BitWorkerProcess |
32-разрядная версия не поддерживается |
properties.vnetBackupRestoreEnabled |
Не используется для сетевых подключений в Flex Consumption |
properties.vnetContentShareEnabled |
Не используется для сетевых подключений в Flex Consumption |
properties.vnetImagePullEnabled |
Не используется для сетевых подключений в Flex Consumption |
properties.vnetRouteAllEnabled |
Не используется для сетевых подключений в Flex Consumption |
properties.windowsFxVersion |
Недействительно |
Следующие шаги
Узнайте, как обновлять параметры приложения