Поделиться через


Справочник по настройкам приложений для Azure Functions

Параметры приложения в функциональном приложении содержат параметры конфигурации, которые влияют на все функции данного приложения. Доступ к этим параметрам осуществляется через переменные окружения. В этой статье перечислены настройки, доступные в функциональных приложениях.

Существует несколько способов для добавления, обновления и удаления параметров приложения-функции.

Изменения в параметрах функционального приложения требуют его перезапуска.

В этой статье значения примерных строк подключения усечены для удобства чтения.

Функции 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.

Key Примерное значение
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заданное значение зависит от типа управляемого удостоверения:

Манажируемая идентичность Настройка значения
System-assigned Authorization=AAD
User-assigned Authorization=AAD;ClientId=<USER_ASSIGNED_CLIENT_ID>

Это требование проверки подлинности применяется к подключениям узла служб Azure Functions, отладчика моментальных снимков, профилировщика и любых агентов, специфичных для определённого языка. Чтобы использовать этот параметр, управляемое удостоверение должно быть уже доступно для функционального приложения с назначенной ролью, эквивалентной Издателю метрик мониторинга.

Note

При использовании 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 работает в суверенном облаке, для которого требуется пользовательская конечная точка.

Дополнительные сведения см. в разделе Строки подключения.

Key Примерное значение
APPLICATIONINSIGHTS_CONNECTION_STRING InstrumentationKey=...

Чтобы подключиться к Application Insights с аутентификацией Microsoft Entra, следует использовать APPLICATIONINSIGHTS_AUTHENTICATION_STRING.

AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL

Important

Прокси-серверы Функций Azure — это функция версий 1.x до 3.x среды выполнения Функций Azure. Дополнительные сведения см. в разделе Прокси-серверы функций.

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES

Important

Прокси-серверы Функций Azure — это функция версий 1.x до 3.x среды выполнения Функций Azure. Дополнительные сведения см. в разделе Прокси-серверы функций.

AZURE_FUNCTIONS_ENVIRONMENT

Настраивает среду размещения среды выполнения функции приложения при запуске в Azure. Это значение считывается во время инициализации. Среда выполнения принимает только следующие значения:

Value Description
Production Описывает производственную среду с уменьшением ведения журнала и полной оптимизацией производительности. Это значение по умолчанию, если AZURE_FUNCTIONS_ENVIRONMENT не задано или задано неподдерживаемое значение.
Staging Представляет собой промежуточную среду, например, при запуске в режиме тестирования.
Development Среда разработки поддерживает более подробное ведение логов и другие оптимизации, снижающие производительность. Основные средства Azure Functions устанавливают AZURE_FUNCTIONS_ENVIRONMENT на Development при запуске на локальном компьютере. Этот параметр нельзя переопределить в файле local.settings.json.

Используйте этот параметр вместо 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.

Key Примерное значение
AzureFunctionsWebHost__hostid myuniquefunctionappname123456789

Дополнительные сведения см. в разделе Рекомендации по идентификатору узла.

AzureWebJobsDashboard

Этот параметр не рекомендуется использовать и поддерживается только при выполнении в версии 1.x среды выполнения Функции Azure.

Необязательная строка подключения учетной записи хранения для хранения журналов и их отображения на вкладке «Монитор» на портале Azure. Учетная запись хранения должна быть учетной записью общего назначения, поддерживающей объекты BLOB, очереди и таблицы. Дополнительную информацию см. в статье Требования учетных записей хранения.

Key Примерное значение
AzureWebJobsDashboard DefaultEndpointsProtocol=https;AccountName=...

AzureWebJobsDisableHomepage

Значение true отключает целевую страницу по умолчанию, отображаемую для корневого URL-адреса приложения-функции. Значение по умолчанию — false.

Key Примерное значение
AzureWebJobsDisableHomepage true

Если пропустить этот параметр приложения или задать для него значение false, то в ответ на URL-адрес <functionappname>.azurewebsites.net отобразится страница, аналогичная приведенной ниже.

Снимок экрана показывает целевую страницу функционального приложения.

AzureWebJobsDotNetReleaseCompilation

true означает режим использования Release при компиляции кода .NET. false означает использование режима отладки. По умолчанию — true.

Key Примерное значение
AzureWebJobsDotNetReleaseCompilation true

AzureWebJobsFeatureFlags

Разделенный запятыми список бета-функций, которые необходимо включить. Бета-функции, включенные с помощью этих флагов, не готовы к использованию в производственной среде, но их можно активировать для экспериментального использования до того, как они станут доступными.

Key Примерное значение
AzureWebJobsFeatureFlags feature1,feature2,EnableProxies

Если в настоящее время приложение имеет этот параметр, добавьте новые флаги в конец списка с запятыми.

В настоящее время поддерживаемые флаги функций:

Значение флага Description
EnableProxies Повторно включает прокси-серверы в среде выполнения Функций версии 4.x при планировании миграции в службу управления API Azure. Дополнительные сведения см. в разделе "Повторное включение прокси-серверов" в функциях версии 4.x.
EnableAzureMonitorTimeIsoFormat Включает формат времени в журналах Azure Monitor для приложений Linux, работающих на выделенном плане (службы приложений).

AzureWebJobsKubernetesSecretName

Указывает ресурс секретов Kubernetes, используемый для хранения ключей. Поддерживается только при выполнении в Kubernetes.

Key Примерное значение
AzureWebJobsKubernetesSecretName <SECRETS_RESOURCE>

Соображения при использовании ресурса Kubernetes Secrets:

  • Также необходимо установить AzureWebJobsSecretStorageType в kubernetes. Если AzureWebJobsKubernetesSecretName этот параметр не задан, репозиторий считается только для чтения. В этом случае перед развертыванием необходимо сгенерировать значения.
  • Набор инструментов Azure Functions Core Tools автоматически создает значения при развертывании в Kubernetes.
  • Неизменяемые секреты не поддерживаются и их использование приводит к ошибкам среды выполнения.

Дополнительные сведения см. в статье "Управление хранилищем ключей".

AzureWebJobsSecretStorageKeyVaultClientId

Идентификатор клиента управляемого удостоверения, назначаемого пользователем, или регистрация приложения, используемая для доступа к хранилищу с ключами. Для этого параметра требуется задать значение AzureWebJobsSecretStorageTypekeyvault. Поддерживается в среде выполнения Функций версий 4.x и более поздних.

Key Примерное значение
AzureWebJobsSecretStorageKeyVaultClientId <CLIENT_ID>

Дополнительные сведения см. в статье "Управление хранилищем ключей".

AzureWebJobsSecretStorageKeyVaultClientSecret

Секрет для идентификатора клиента управляемого удостоверения, назначаемого пользователем, или регистрация приложения, используемая для доступа к хранилищу с ключами. Для этого параметра требуется задать значение AzureWebJobsSecretStorageTypekeyvault. Поддерживается в среде выполнения Функций версий 4.x и более поздних.

Key Примерное значение
AzureWebJobsSecretStorageKeyVaultClientSecret <CLIENT_SECRET>

Дополнительные сведения см. в статье "Управление хранилищем ключей".

AzureWebJobsSecretStorageKeyVaultName

Этот параметр устарел и использовался только при выполнении в среде выполнения Azure Functions версии 3.x.

Имя экземпляра хранилища ключей, используемого для хранения ключей. Этот параметр использовался только в версии 3.x среды выполнения Функций, которая больше не поддерживается. Для версии 4.x используйте AzureWebJobsSecretStorageKeyVaultUri. Для этого параметра требуется задать значение AzureWebJobsSecretStorageTypekeyvault.

Хранилище должно иметь политику доступа, соответствующую системно-назначенному управляемому удостоверению ресурса-хоста. Политика доступа должна предоставлять идентичности следующие разрешения на секрет: Get, Set, List и Delete.

При локальном запуске функций используется удостоверение разработчика. Параметры должны находиться в файлеlocal.settings.json.

Key Примерное значение
AzureWebJobsSecretStorageKeyVaultName <VAULT_NAME>

Дополнительные сведения см. в статье "Управление хранилищем ключей".

AzureWebJobsSecretStorageKeyVaultTenantId

Идентификатор арендатора регистрации приложения, используемый для доступа к хранилищу ключей. Для этого параметра требуется задать значение AzureWebJobsSecretStorageTypekeyvault. Поддерживается в среде выполнения Функций версий 4.x и более поздних. Дополнительные сведения см. в статье "Управление хранилищем ключей".

Key Примерное значение
AzureWebJobsSecretStorageKeyVaultTenantId <TENANT_ID>

AzureWebJobsSecretStorageKeyVaultUri

URI экземпляра хранилища ключей, используемого для хранения ключей. Поддерживается в среде выполнения Функций версий 4.x и более поздних. Мы рекомендуем этот параметр для использования экземпляра хранилища ключей в качестве хранилища ключей. Для этого параметра требуется задать значение AzureWebJobsSecretStorageTypekeyvault.

Значение AzureWebJobsSecretStorageKeyVaultUri должно быть полным значением универсального кода ресурса (URI) хранилища, отображаемого на вкладке Обзор Key Vault, включая https://.

Хранилище должно иметь политику доступа, соответствующую системно-назначенному управляемому удостоверению ресурса-хоста. Политика доступа должна предоставлять идентичности следующие разрешения на секрет: Get, Set, List и Delete.
При локальном запуске функций используется удостоверение разработчика, а параметры должны находиться в файле local.settings.json.

Key Примерное значение
AzureWebJobsSecretStorageKeyVaultUri https://<VAULT_NAME>.vault.azure.net

Important

Секреты не ограниваются отдельными приложениями функций через AzureWebJobsSecretStorageKeyVaultUri настройку. Если несколько приложений-функций настроены на использование одного хранилища ключей, они используют одни и те же секреты, что потенциально приводит к конфликтам ключей или перезаписи. Чтобы избежать непреднамеренного поведения, рекомендуется использовать отдельный экземпляр Key Vault для каждого приложения-функции.

Дополнительные сведения см. в статье "Управление хранилищем ключей".

AzureWebJobsSecretStorageSas

Подписанный URL-адрес Хранилища BLOB-объектов для второй учетной записи хранения, используемый для хранилища ключей. По умолчанию Функции используют учетную запись, заданную в параметре AzureWebJobsStorage. При использовании этого параметра хранилища секретов убедитесь, что AzureWebJobsSecretStorageType не задан явным образом или имеет значение blob. Дополнительные сведения см. в статье "Управление хранилищем ключей".

Key Примерное значение
AzureWebJobsSecretStorageSas <BLOB_SAS_URL>

AzureWebJobsSecretStorageType

Указывает репозиторий или поставщик, используемый для хранения ключей. Ключи всегда шифруются перед сохранением с использованием секрета, уникального для приложения-функции.

Key Value Description
AzureWebJobsSecretStorageType blob Ключи хранятся в контейнере хранилища объектов BLOB в учетной записи, заданной параметром AzureWebJobsStorage. Хранилище BLOB-объектов — это поведение по умолчанию, если AzureWebJobsSecretStorageType не задано.
Чтобы указать другую учетную запись хранения, используйте параметр AzureWebJobsSecretStorageSas, чтобы указать SAS URL второй учетной записи хранения.
AzureWebJobsSecretStorageType files Ключи сохраняются в файловой системе. Это поведение по умолчанию для функций версии 1.x.
AzureWebJobsSecretStorageType keyvault Ключи хранятся в экземпляре хранилища ключей, заданном параметром AzureWebJobsSecretStorageKeyVaultName.
AzureWebJobsSecretStorageType kubernetes Поддерживается только при запуске среды выполнения Функций в Kubernetes. Если AzureWebJobsKubernetesSecretName этот параметр не задан, репозиторий считается только для чтения. В этом случае перед развертыванием необходимо сгенерировать значения. Набор инструментов Azure Functions Core Tools автоматически создает значения при развертывании в Kubernetes.

Дополнительные сведения см. в статье "Управление хранилищем ключей".

AzureWebJobsStorage

Указывается строка подключения для учетной записи службы хранилища Azure, которую среда выполнения функций использует для нормальных операций. Некоторые из применений этой учетной записи хранения, используемой Функциями, включают управление ключами, управление триггерами таймера и контрольные точки Event Hubs. Учетная запись хранения должна быть учетной записью общего назначения, поддерживающей объекты BLOB, очереди и таблицы. Дополнительные сведения см. в разделе Требования к учетной записи хранения.

Key Примерное значение
AzureWebJobsStorage DefaultEndpointsProtocol=https;AccountName=...

Вместо строки подключения можно использовать подключение на основе идентификатора для этой учетной записи. Дополнительные сведения см. в разделе Подключение к хранилищу узла с помощью удостоверения.

AzureWebJobsStorage__accountName

При использовании подключения к хранилищу на основе идентификационных данных задает имя учетной записи хранения вместо строки подключения вAzureWebJobsStorage. Этот синтаксис уникален для AzureWebJobsStorage и не может быть использован для других соединений, основанных на идентификации.

Key Примерное значение
AzureWebJobsStorage__accountName <STORAGE_ACCOUNT_NAME>

Для суверенных облаков или при использовании пользовательского DNS необходимо использовать настройки, специфичные для сервиса AzureWebJobsStorage__*ServiceUri.

AzureWebJobsStorage__blobServiceUri

При использовании подключения к хранилищу на основе удостоверений задается URI уровня данных службы BLOB учетной записи хранилища.

Key Примерное значение
AzureWebJobsStorage__blobServiceUri https://<STORAGE_ACCOUNT_NAME>.blob.core.windows.net

Используйте этот параметр вместо AzureWebJobsStorage__accountName в суверенных облаках или при использовании пользовательского DNS. Дополнительные сведения см. в разделе Подключение к хранилищу узла с помощью удостоверения.

AzureWebJobsStorage__clientId

Задает идентификатор клиента определенного назначаемого пользователем удостоверения, используемого для получения маркера доступа для проверки подлинности управляемого удостоверения. Требует, чтобы для параметра AzureWebJobsStorage__credential было задано значение managedidentity. Значением является идентификатор клиента, соответствующий удостоверению, назначенному приложению. Вы не можете задать оба AzureWebJobsStorage__managedIdentityResourceId и AzureWebJobsStorage__clientId. Если не задано, используется удостоверение, назначаемое системой.

AzureWebJobsStorage__credential

Определяет способ получения маркера доступа для подключения. Используется managedidentity для проверки подлинности управляемого удостоверения. При использовании managedidentityуправляемое удостоверение должно быть доступно в среде размещения. Не устанавливайте AzureWebJobsStorage__credential в локальных сценариях разработки.

AzureWebJobsStorage__managedIdentityResourceId

Задает идентификатор ресурса назначаемого пользователем удостоверения, используемого для получения маркера доступа для проверки подлинности управляемого удостоверения. Требует, чтобы для параметра AzureWebJobsStorage__credential было задано значение managedidentity. Значением является идентификатор ресурса удостоверения, назначенного приложению для проверки подлинности управляемого удостоверения. Вы не можете задать оба AzureWebJobsStorage__managedIdentityResourceId и AzureWebJobsStorage__clientId. Если не задано, используется удостоверение, назначаемое системой.

AzureWebJobsStorage__queueServiceUri

При использовании подключения к хранилищу на основе удостоверений, задает URI уровня данных службы управления очередями в учетной записи хранения.

Key Примерное значение
AzureWebJobsStorage__queueServiceUri https://<STORAGE_ACCOUNT_NAME>.queue.core.windows.net

Используйте этот параметр вместо AzureWebJobsStorage__accountName в суверенных облаках или при использовании пользовательского DNS. Дополнительные сведения см. в разделе Подключение к хранилищу узла с помощью удостоверения.

AzureWebJobsStorage__tableServiceUri

При использовании подключения к хранилищу на основе удостоверений задает URI плоскости данных службы таблиц учетной записи хранения.

Key Примерное значение
AzureWebJobsStorage__tableServiceUri https://<STORAGE_ACCOUNT_NAME>.table.core.windows.net

Используйте этот параметр вместо AzureWebJobsStorage__accountName в суверенных облаках или при использовании пользовательского DNS. Дополнительные сведения см. в разделе Подключение к хранилищу узла с помощью удостоверения.

AzureWebJobs_TypeScriptPath

Путь к компилятору, который используется для TypeScript. Позволяет при необходимости переопределить значение по умолчанию.

Key Примерное значение
AzureWebJobs_TypeScriptPath %HOME%\typescript

DOCKER_REGISTRY_SERVER_PASSWORD

Указывает пароль, используемый для доступа к частному реестру контейнеров. Этот параметр требуется только при развертывании контейнерного приложения-функции из частного реестра контейнеров. Дополнительные сведения см. в разделе Переменные среды и параметры приложения в службе приложений Azure.

DOCKER_REGISTRY_SERVER_URL

Указывает URL-адрес частного реестра контейнеров. Этот параметр требуется только при развертывании контейнерного приложения-функции из частного реестра контейнеров. Дополнительные сведения см. в разделе Переменные среды и параметры приложения в службе приложений Azure.

DOCKER_REGISTRY_SERVER_USERNAME

Указывает учетную запись, используемую для доступа к частному реестру контейнеров. Этот параметр требуется только при развертывании контейнерного приложения-функции из частного реестра контейнеров. Дополнительные сведения см. в разделе Переменные среды и параметры приложения в службе приложений Azure.

DOCKER_SHM_SIZE

Устанавливает размер общей памяти (в байтах), когда рабочая роль Python использует общую память. Дополнительные сведения см. в разделе Общая память.

Key Примерное значение
DOCKER_SHM_SIZE 268435456

Предыдущее значение задает общий размер памяти размером около 256 МБ.

Требует, чтобы параметр FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED был установлен на 1.

ENABLE_ORYX_BUILD

Указывает, используется ли система сборки Oryx во время развертывания. В случае выполнения удаленных развертываний сборки в Linux, ENABLE_ORYX_BUILD должно быть установлено в true. Дополнительные сведения см. в разделе "Удаленная сборка".

Key Примерное значение
ENABLE_ORYX_BUILD true

FUNCTION_APP_EDIT_MODE

Указывает, можно ли изменить приложение-функцию на портале Azure. Допустимые значения — readwrite и readonly.

Key Примерное значение
FUNCTION_APP_EDIT_MODE readonly

Среда выполнения приложения определяет значение на основе языкового стека и состояния развертывания вашего приложения-функции. Дополнительные сведения см. в разделе об ограничениях разработки в портале Azure.

FUNCTIONS_EXTENSION_VERSION

Версия среды выполнения Функций, в которой размещается ваше приложение-функция. Тильда (~) с основной версией означает использование последней версии этой основной версии, например ~4. Когда доступны новые младшие версии той же первичной версии, они автоматически устанавливаются в функциональном приложении.

Key Примерное значение
FUNCTIONS_EXTENSION_VERSION ~4

Поддерживаются следующие основные значения версии среды выполнения.

Value Цель выполнения Comment
~4 4.x Recommended
~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 для получения полных инструкций, включая другие необходимые значения конфигурации.

Key Примерное значение
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:

  • Если ошибка возникает раньше, поведение по умолчанию соответствует false. Например, если вы используете модель версии 3 или файл точки входа не существует.
  • Если ошибка возникает после, поведение по умолчанию соответствует true. Например, при попытке зарегистрировать повторяющиеся функции модели версии 4.
Key Value Description
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR true Блокировать ошибки точки входа и регистрировать их в Application Insights.
FUNCTIONS_NODE_BLOCK_ON_ENTRY_POINT_ERROR false Игнорируйте ошибки точки входа и не регистрируйте их в Application Insights.

FUNCTIONS_REQUEST_BODY_SIZE_LIMIT

Переопределяет ограничение по умолчанию на размер текста запросов, отправленных в конечные точки HTTP. Значение присваивается в байтах с максимальным размером запроса по умолчанию 104 857 600 байт.

Key Примерное значение
FUNCTIONS_REQUEST_BODY_SIZE_LIMIT 250000000

FUNCTIONS_V2_COMPATIBILITY_MODE

Important

Этот параметр больше не поддерживается. Изначально эта функция была добавлена в качестве краткосрочного обходного решения для приложений, работающих на среде выполнения версии 2.x. Вместо этого они смогут запускаться в среде выполнения версии 3.x, пока она по-прежнему поддерживается. За исключением устаревших приложений, работающих в версии 1.x, все приложения-функции должны работать в среде выполнения функций версии 4.x: FUNCTIONS_EXTENSION_VERSION=~4 Дополнительные сведения см. в обзоре версий среды выполнения Функций Azure.

FUNCTIONS_WORKER_PROCESS_COUNT

Указывает максимальное количество языковых рабочих процессов. Значение по умолчанию — 1. Максимальное допустимое значение — 10. Вызовы функций равномерно распределяются между языковыми рабочими процессами. Процессы обработки языков запускаются каждые 10 секунд, пока не будет достигнуто число, установленное FUNCTIONS_WORKER_PROCESS_COUNT. Использование нескольких языковых рабочих процессов не то же самое, что масштабирование. Рассмотрите возможность использования этого параметра, если в вашей рабочей нагрузке имеется сочетание вызовов, ограниченных по производительности ЦП, и вызовов, ограниченных по пропускной способности ввода-вывода. Этот параметр применяется ко всем языковым средам выполнения, за исключением .NET, работающего в процессе (FUNCTIONS_WORKER_RUNTIME=dotnet).

Key Примерное значение
FUNCTIONS_WORKER_PROCESS_COUNT 2

FUNCTIONS_WORKER_RUNTIME

Стек языка или языка рабочей среды выполнения для загрузки в приложение-функцию. Это значение соответствует языку, используемому в приложении, например python. Начиная с версии 2.x среды выполнения Функций Azure отдельное приложение-функция может поддерживать только один язык.

Key Примерное значение
FUNCTIONS_WORKER_RUNTIME node

Допустимые значения:

Value Стек языков
dotnet C# (библиотека классов)
C# (скрипт)
dotnet-isolated C# (изолированный рабочий процесс)
java Java
node JavaScript
TypeScript
powershell PowerShell
python Python
custom Other

FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED

Этот параметр позволяет рабочему Python использовать общую память для улучшения производительности. Включите общую память, если у приложения-функции Python возникают проблемы с памятью.

Key Примерное значение
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED 1

Если этот параметр включен, вы можете использовать параметр DOCKER_SHM_SIZE, чтобы задать размер общей памяти. Дополнительные сведения см. в разделе Общая память.

JAVA_APPLICATIONINSIGHTS_ENABLE_TELEMETRY

Указывает, должен ли рабочий процесс Java выводить данные телеметрии в формате Open Telemetry в конечную точку Application Insights. При установке этого флага True узел Functions разрешает рабочему процессу Java напрямую передавать потоки логов OpenTelemetry, что предотвращает появление дублирующихся записей на уровне узла. Дополнительные сведения см. в разделе "Настройка параметров приложения".

JAVA_ENABLE_SDK_TYPES

Позволяет функциональному приложению использовать нативные типы Azure SDK в привязках.

Note

Поддержка привязки к типам SDK в настоящее время доступна в предварительной версии и ограничена пакетом SDK для хранилища BLOB-объектов Azure. Дополнительные сведения см. в статье о типах sdk для Java.

Key Примерное значение
JAVA_ENABLE_SDK_TYPES true

Дополнительные сведения см. в статье о типах sdk для Java.

JAVA_OPTS

Используется для настройки виртуальной машины Java (JVM), используемой для запуска функций Java при выполнении плана Premium или выделенного плана. При выполнении плана потребления вместо этого используйте languageWorkers__java__arguments. Дополнительные сведения см. в разделе "Настройка JVM".

languageWorkers__java__arguments

Используется для настройки виртуальной машины Java (JVM), используемой для запуска функций Java при выполнении плана потребления. Этот параметр увеличивает время холодного запуска для функций Java, работающих на тарифе Consumption. Вместо этого используйте JAVA_OPTSдля плана "Премиум" или "Выделенный". Дополнительные сведения см. в разделе "Настройка JVM".

MDMaxBackgroundUpgradePeriod

Управляет периодом обновления в фоновом режиме для управляемых зависимостей для приложений-функций PowerShell. По умолчанию используется значение 7.00:00:00 (еженедельно).

Каждый рабочий процесс PowerShell инициирует проверку обновлений модулей в PowerShell Gallery при запуске процесса и на каждых MDMaxBackgroundUpgradePeriod после запуска. Если в галерее PowerShell доступна новая версия модуля, она устанавливается в файловую систему и предоставляется рабочим процессам PowerShell. Уменьшение этого значения позволяет приложению-функции быстрее получать более новые версии модулей, но также увеличивается использование ресурсов приложения, включая сетевые ввода-вывода, ЦП и хранилище. Увеличение этого значения уменьшает использование ресурсов приложения, но может также отложить доставку новых версий модулей в приложение.

Key Примерное значение
MDMaxBackgroundUpgradePeriod 7.00:00:00

Дополнительные сведения см. в разделе Управление зависимостями.

MDNewSnapshotCheckPeriod

Указывает, как часто каждый воркер PowerShell проверяет, установлены ли обновления для управляемых зависимостей. По умолчанию используется частота 01:00:00 (ежечасно).

После установки новых версий модулей в файловой системе необходимо перезапустить каждый рабочий процесс PowerShell. Перезапуск рабочих ролей PowerShell влияет на доступность приложения, так как он может прервать текущее выполнение функции. До перезапуска всех рабочих процессов PowerShell вызовы функций могут использовать старые или новые версии модуля. Перезапуск всех рабочих PowerShell завершается в течение MDNewSnapshotCheckPeriod.

В каждом MDNewSnapshotCheckPeriodслучае рабочая роль PowerShell проверяет, установлены ли обновления управляемых зависимостей. При установке обновлений инициируется перезапуск. Увеличение этого значения снижает частоту перерывов, связанных с перезапусками. Однако увеличение может также увеличить время, в течение которого вызовы функций могут использовать старые или новые версии модуля, недетерминированно.

Key Примерное значение
MDNewSnapshotCheckPeriod 01:00:00

Дополнительные сведения см. в разделе Управление зависимостями.

MDMinBackgroundUpgradePeriod

Период времени после предыдущей проверки управляемого обновления зависимостей до запуска следующей проверки. По умолчанию используется значение 1.00:00:00 (ежедневно).

Чтобы избежать чрезмерного обновления модулей при частых перезапусках процессов, проверка обновлений модулей не выполняется, когда какой-либо процесс уже инициировал эту проверку в течение последних MDMinBackgroundUpgradePeriod.

Key Примерное значение
MDMinBackgroundUpgradePeriod 1.00:00:00

Дополнительные сведения см. в разделе Управление зависимостями.

OTEL_EXPORTER_OTLP_ENDPOINT

Указывает URL-адрес, в который экспортируются данные в формате OpenTelemetry для приема. Для получения дополнительной информации см. Использование OpenTelemetry с Azure Functions.

OTEL_EXPORTER_OTLP_HEADERS

Задает необязательный список заголовков, которые применяются ко всем исходящим данным, экспортируемым в конечную точку OpenTelemetry. Этот параметр следует использовать, если для конечной точки OpenTelemetry требуется предоставить ключ API. Для получения дополнительной информации см. Использование OpenTelemetry с Azure Functions.

PIP_INDEX_URL

Этот параметр позволяет переопределить базовый URL-адрес индекса пакета Python, который по умолчанию имеет значение https://pypi.org/simple. Используйте этот параметр, если необходимо запустить удаленную сборку с помощью пользовательских зависимостей. Эти пользовательские зависимости могут находиться в репозитории индексов пакетов, совместимом с PEP 503 (простым API репозитория) или в локальном каталоге, который соответствует одному и тому же формату.

Key Примерное значение
PIP_INDEX_URL http://my.custom.package.repo/simple

Дополнительные сведения см. в разделе pip документация для --index-url и раздел Пользовательские зависимости в справочнике разработчика Python.

PIP_EXTRA_INDEX_URL

Значение этого параметра указывает дополнительный URL-адрес индекса для пользовательских пакетов для приложений Python, используемых в дополнение к параметру --index-url. Используйте этот параметр, когда вам необходимо запустить удаленную сборку с пользовательскими зависимостями, которые содержатся в дополнительном индексе пакетов. Следуйте тем же правилам, что и --index-url.

Key Примерное значение
PIP_EXTRA_INDEX_URL http://my.custom.package.repo/simple

Дополнительные сведения см. в pip документации по --extra-index-url и Пользовательские зависимости в справочнике разработчика Python.

PROJECT

Параметр непрерывного развертывания, указывающий службе развертывания Kudu папку в подключенном репозитории для расположения развертываемого проекта.

Key Примерное значение
PROJECT WebProject/WebProject.csproj

PYTHON_APPLICATIONINSIGHTS_ENABLE_TELEMETRY

Указывает, должен ли рабочий процесс Python выводить данные телеметрии в формате Open Telemetry в конечную точку Application Insights. При установке флага хост Functions позволяет рабочему процессу Python экспортировать данные OpenTelemetry в конечную точку Application Insights . Дополнительные сведения см. в разделе "Настройка параметров приложения".

PYTHON_ISOLATE_WORKER_DEPENDENCIES

Эта конфигурация применяется только к приложениям-функциям Python. Она определяет приоритетность загрузки модулей. По умолчанию, этому параметру присваивается значение 0.

Key Value Description
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_OPENTELEMETRY

Указывает, должен ли рабочий процесс Python экспортировать данные телеметрии в конечную точку Открытой телеметрии. При установке этого флага True хост Functions позволяет рабочему процессу Python экспортировать данные OpenTelemetry в настроенный OTEL_EXPORTER_OTLP_ENDPOINT. Дополнительные сведения см. в разделе "Настройка параметров приложения".

PYTHON_ENABLE_WORKER_EXTENSIONS

Эта конфигурация применяется только к приложениям-функциям Python. Установка этого значения позволяет 1 процессу загружать расширения Python, определенные в requirements.txt. Это позволяет приложению-функции получать доступ к новым функциям, предоставляемым пакетами партнеров. Он также может изменить поведение загрузки функции и вызова в приложении. Убедитесь, что выбранное расширение является надежным, так как вы несете риск его использования. Функции Azure не предоставляют явных гарантий на любые расширения. Для получения информации о том, как использовать расширение, посетите руководство по расширению или прочитайте файл readme. По умолчанию это значение равно 0.

Key Value Description
PYTHON_ENABLE_WORKER_EXTENSIONS 0 Отключите любое расширение Python для worker.
PYTHON_ENABLE_WORKER_EXTENSIONS 1 Разрешить процессу Python загружать расширения из файла requirements.txt.

PYTHON_THREADPOOL_THREAD_COUNT

Указывает максимальное количество потоков, которые может использовать обработчик языка Python для выполнения вызовов функций, со значением по умолчанию 1 для версии Python 3.8 и ниже. Для версий Python 3.9 и выше значение по умолчанию равно None. Этот параметр не гарантирует количество потоков, которые будут заданы во время выполнения. Этот параметр позволяет Python увеличивать количество потоков до заданного значения. Данный параметр применяется только к приложениям-функциям на Python. Кроме того, этот параметр применяется к вызовам синхронных функций, но не к корутинам.

Key Примерное значение Максимальное значение
PYTHON_THREADPOOL_THREAD_COUNT 2 32

SCALE_CONTROLLER_LOGGING_ENABLED

Этот параметр в настоящее время находится в предварительной версии.

Этот параметр управляет логированием в масштабируемом контроллере Azure Functions. Дополнительные сведения см. в разделе Журналы контроллера масштабирования.

Key Примерное значение
SCALE_CONTROLLER_LOGGING_ENABLED AppInsights:Verbose

Значение для этого ключа указывается в формате <DESTINATION>:<VERBOSITY>, который определяется следующим образом:

Property Description
<DESTINATION> Место назначения, в которое отправляются журналы. Допустимые значения — AppInsights и Blob.
При использовании AppInsights убедитесь, что в приложении-функции включена функция Application Insights.
Если для назначения задано значение Blob, то журналы создаются в контейнере больших двоичных объектов с именем azure-functions-scale-controller в учетной записи хранения по умолчанию, заданной в параметре AzureWebJobsStorage приложения.
<VERBOSITY> Определяет уровень ведения журнала. Поддерживаются значения None, Warning и Verbose.
Если задано значение Verbose, контроллер масштабирования регистрирует причину каждого изменения количества рабочих ролей, а также сведения о триггерах, которые влияют на эти решения. Подробные журналы содержат предупреждения триггеров и хэши, использованные триггерами до и после запуска контроллера масштабирования.

Tip

Помните о том, что, если включено ведение журнала контроллера масштабирования, это влияет на потенциальные затраты на мониторинг приложения-функции. Рассмотрите возможность включения логирования до тех пор, пока не соберете достаточно данных, чтобы понять, как ведет себя контроллер масштабирования, а затем отключите его.

SCM_DO_BUILD_DURING_DEPLOYMENT

Управляет поведением удаленной сборки во время развертывания. Если SCM_DO_BUILD_DURING_DEPLOYMENT задано значение true, проект создается удаленно во время развертывания.

Key Примерное значение
SCM_DO_BUILD_DURING_DEPLOYMENT true

SCM_LOGSTREAM_TIMEOUT

Контролирует время ожидания в секундах при подключении к потоковой передаче журналов. Значение по умолчанию составляет 7200 секунд (2 часа).

Key Примерное значение
SCM_LOGSTREAM_TIMEOUT 1800

Предыдущее образец значения 1800 задает время ожидания в 30 минут. Дополнительные сведения см. в разделе "Включение журналов выполнения потоковой передачи" в Функции Azure.

WEBSITE_CONTENTAZUREFILECONNECTIONSTRING

Строка подключения для учетной записи хранения, в которой код и конфигурация приложения-функции хранятся в управляемых событиями планах масштабирования. Дополнительные сведения см. в разделе Настройка подключения учетной записи хранения.

Key Примерное значение
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING DefaultEndpointsProtocol=https;AccountName=...

Этот параметр необходим для приложений плана "Потребление" и "Эластичный премиум". Оно не требуется для приложений выделенного плана, которые функции не масштабируется динамически.

План потребления Flex теперь является рекомендуемым бессерверным планом размещения для функций Azure. Она обеспечивает более быстрое масштабирование, уменьшение времени холодного запуска, использование частных сетей и больший контроль над производительностью и затратами. Дополнительные сведения см. в разделе "План потребления Flex".

Изменение или удаление этого параметра может привести к тому, что приложение-функция не запускается. Дополнительные сведения см. в этой статье по устранению неполадок.

Файлы Azure не поддерживают использование управляемого удостоверения при доступе к общей папке. Для получения дополнительной информации см. сценарии аутентификации, поддерживаемые в Azure Files.

WEBSITE_CONTENTOVERVNET

Important

WEBSITE_CONTENTOVERVNET — это устаревший параметр приложения, который был заменен свойством сайта vnetContentShareEnabled .

Значение 1 позволяет вашему функциональному приложению масштабироваться, если учетная запись хранения ограничена доступом к виртуальной сети. Этот параметр следует включать, когда учетная запись хранения ограничивается виртуальной сетью. Требуется только при использовании WEBSITE_CONTENTSHARE и WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. Чтобы узнать больше, см. Ограничение учетной записи хранения для виртуальной сети.

Key Примерное значение
WEBSITE_CONTENTOVERVNET 1

Этот параметр приложения требуется для планов Elastic Premium и Выделенных (Служба приложений) (Стандарт и выше). Не поддерживается при работе по плану потребления.

Note

При маршрутизации к общему хранилищу в учетной записи, используемой несколькими приложениями-функциями в одном плане, необходимо уделять особое внимание. Дополнительные сведения см. в статье о согласованной маршрутизации через виртуальные сети в статье "Рекомендации по хранилищу".

WEBSITE_CONTENTSHARE

Имя общей папки, которую функции используют для хранения кода приложения-функции и файлов конфигурации. Это содержимое требуется планами масштабирования на основе событий. Используется с WEBSITE_CONTENTAZUREFILECONNECTIONSTRING. По умолчанию используется уникальная строка, созданная средой выполнения, которая начинается с имени приложения-функции. Дополнительные сведения см. в разделе Настройка подключения учетной записи хранения.

Key Примерное значение
WEBSITE_CONTENTSHARE functionapp091999e2

Этот параметр необходим только для приложений плана "Потребление" и "Премиум". Он не требуется для приложений ценовой категории "Выделенный", которые не масштабируются динамически с помощью Функций.

План потребления Flex теперь является рекомендуемым бессерверным планом размещения для функций Azure. Она обеспечивает более быстрое масштабирование, уменьшение времени холодного запуска, использование частных сетей и больший контроль над производительностью и затратами. Дополнительные сведения см. в разделе "План потребления Flex".

Общая папка создается при создании функционального приложения. Изменение или удаление этого параметра может привести к тому, что приложение-функция не запускается. Дополнительные сведения см. в этой статье по устранению неполадок.

Следующие рекомендации применяются при использовании шаблона Azure Resource Manager (ARM) или Bicep-файла для создания приложения-функции во время развертывания:

  • Если вы не зададите значение WEBSITE_CONTENTSHARE для основного функционального приложения или любых приложений в слотах, для вас будут созданы уникальные значения общего доступа. Рекомендуется не устанавливать WEBSITE_CONTENTSHAREдля развертывания шаблона ARM.
  • Существуют сценарии, в которых необходимо задать WEBSITE_CONTENTSHARE значение предопределенного значения, например при использовании защищенной учетной записи хранения в виртуальной сети. В этом случае необходимо задать уникальное имя общей папки для основного приложения-функции и приложения для каждого слота развертывания. Для учетной записи хранения, защищенной виртуальной сетью, необходимо также создать общее хранилище как часть автоматического развертывания. Дополнительные сведения см. в разделе "Защищенные развертывания".
  • Не делайте WEBSITE_CONTENTSHARE параметром слота.
  • При указании WEBSITE_CONTENTSHARE значение должно следовать данному руководству по именам общих ресурсов.

WEBSITE_DNS_SERVER

Задает DNS-сервер, используемый приложением при разрешении IP-адресов. Этот параметр часто требуется при использовании определенных функций сети, таких как частные зоны Azure DNS и частные конечные точки.

Key Примерное значение
WEBSITE_DNS_SERVER 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).

Key Примерное значение
WEBSITE_FUNCTIONS_ARMCACHE_ENABLED 0

WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT

Максимальное количество экземпляров, до которых может масштабироваться приложение. По умолчанию ограничение не установлено.

Important

Этот параметр доступен в режиме предварительной версии. Теперь существует свойство приложения для максимального масштабирования функции . Мы рекомендуем использовать это свойство для ограничения горизонтального масштабирования.

Key Примерное значение
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 5

WEBSITE_NODE_DEFAULT_VERSION

Только для Windows. Задает версию Node.js, используемую при запуске приложения-функции в Windows. Чтобы среда выполнения использовала последнюю доступную версию целевой основной версии, следует использовать тильду (~). Например, когда установлено ~18, используется последняя версия Node.js 18. Когда мажорная версия указана с тильдой, минорную версию обновлять вручную не требуется.

Key Примерное значение
WEBSITE_NODE_DEFAULT_VERSION ~18

WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS

При выполнении переключения слотов в приложении-функции, работающем в плане Premium, переключение может завершиться ошибкой, если выделенная учетная запись хранения, используемая приложением, ограничена сетью. Эта ошибка вызвана устаревшей функцией ведения журнала приложений, которой совместно используются функции и служба приложений. Этот параметр переопределяет устаревшую функцию ведения журнала и позволяет выполнять переключение.

Key Примерное значение
WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS 0

Добавьте WEBSITE_OVERRIDE_STICKY_DIAGNOSTICS_SETTINGS со значением 0 ко всем слотам, чтобы убедиться, что устаревшие параметры диагностики не блокируют обмены. Вы также можете добавить этот параметр и значение только в рабочий слот в качестве параметра слота развертывания (липкий).

WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS

По умолчанию параметры версии для приложений-функций зависят от каждого слота. Этот параметр используется при обновлении функций с помощью слотов развертывания. Этот подход предотвращает непреднамеренное поведение из-за изменения версий после переключения. Установите значение 0 в рабочей среде и в слоте, чтобы все параметры версии также были переключены. Для получения дополнительной информации см. раздел "Обновление с помощью слотов".

Key Примерное значение
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS 0

WEBSITE_RUN_FROM_PACKAGE

Позволяет функциональному приложению запускаться из файла пакета, который может быть локально подключен или размещен по внешнему URL-адресу.

Key Примерное значение
WEBSITE_RUN_FROM_PACKAGE 1

Допустимые значения — это URL-адрес, указывающий на расположение файла внешнего пакета развертывания, или 1. Если задано значение 1, пакет должен быть в папке d:\home\data\SitePackages. При осуществлении zip-развертывания с WEBSITE_RUN_FROM_PACKAGE активированным пакет автоматически загружается в эту локацию. Дополнительные сведения см. в статье Запуск функций из файла пакета.

При использовании WEBSITE_RUN_FROM_PACKAGE=<URL>URL-адрес должен разрешаться в расположение файла пакета в доступном расположении хранилища, например контейнере хранилища BLOB-объектов Azure. Контейнер должен быть частным, чтобы предотвратить несанкционированный доступ, который требует использования подписанного URL-адреса (SAS) в URL-адресе или проверки подлинности Идентификатора Microsoft Entra для разрешения доступа. Рекомендуется использовать идентификатор Microsoft Entra с управляемыми удостоверениями.

Это пример настройки WEBSITE_RUN_FROM_PACKAGE URL-адреса пакета развертывания в контейнере хранилища блогов Azure:
WEBSITE_RUN_FROM_PACKAGE=https://contosostorageaccount.blob.core.windows.net/mycontainer/mypackage.zip

При использовании SAS маркер добавляется к URL-адресу в качестве параметра запроса.

При развертывании пакета из хранилища BLOB-объектов Azure с помощью управляемого удостоверения, назначаемого пользователем, необходимо также задать WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID идентификатор ресурса управляемого удостоверения, назначаемого пользователем. При развертывании из URL-адреса внешнего пакета также необходимо вручную синхронизировать триггеры. Дополнительные сведения см. в разделе "Синхронизация триггеров".

WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID

Указывает идентификатор ресурса управляемого удостоверения, назначаемого пользователем, который используется при доступе к пакету развертывания из внешнего контейнера хранилища BLOB-объектов Azure, защищенного с помощью идентификатора Microsoft Entra. Для этого параметра необходимо WEBSITE_RUN_FROM_PACKAGE задать URL-адрес пакета развертывания в частном контейнере.

Параметр WEBSITE_RUN_FROM_PACKAGE_BLOB_MI_RESOURCE_ID=SystemAssigned совпадает с параметром, в котором используется управляемое удостоверение, назначаемое системой для приложения.

WEBSITE_SKIP_CONTENTSHARE_VALIDATION

Параметры WEBSITE_CONTENTAZUREFILECONNECTIONSTRING и WEBSITE_CONTENTSHARE имеют дополнительные проверки, чтобы убедиться, что приложение может быть правильно запущено. Создание параметров приложения завершается с ошибкой, если функциональное приложение не может должным образом обратиться к нижестоящей учетной записи хранения или Хранилищу ключей из-за сетевых ограничений или других ограничивающих факторов. Если для WEBSITE_SKIP_CONTENTSHARE_VALIDATION задано 1 значение, проверка пропускается. В противном случае значение устанавливается по умолчанию на 0, и выполняется проверка.

Key Примерное значение
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 1

Если проверка пропущена, а строка подключения или общий ресурс содержимого недопустимы, приложение не сможет запуститься должным образом. В этом случае функции возвращают ошибки HTTP 500. Дополнительные сведения см. в статье об ошибке "Функции Azure среда выполнения недоступна".

WEBSITE_SLOT_NAME

Read-only. Имя текущего слота развертывания. Имя производственного слота — Production.

Key Примерное значение
WEBSITE_SLOT_NAME Production

WEBSITE_TIME_ZONE

Позволяет задать часовой пояс для функционального приложения.

Key OS Примерное значение
WEBSITE_TIME_ZONE Windows Eastern Standard Time
WEBSITE_TIME_ZONE Linux America/New_York

Часовой пояс по умолчанию, используемый для выражений CRON, — это Координированное универсальное время (UTC). Если нужно использовать другой часовой пояс в выражении CRON, создайте параметр приложения с именем WEBSITE_TIME_ZONE для вашего приложения функции.

Значение этого параметра зависит от операционной системы и плана, в рамках которого выполняется приложение-функция.

Операционная система Plan Value
Windows All Задайте в качестве значения имя нужного часового пояса, которое задается второй строкой каждой пары параметров, определяемых командой Windows tzutil.exe /L
Linux Premium
Dedicated
Задайте для значения имя требуемого часового пояса, как показано в базе данных tz

Note

WEBSITE_TIME_ZONE и TZ в настоящее время не поддерживаются при работе на Linux в плане Flex Consumption или 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, чтобы отключить оптимизацию холодного запуска в плане потребления.

Key Примерное значение
WEBSITE_USE_PLACEHOLDER 1

WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED

Указывает, следует ли использовать определенную оптимизацию холодного запуска при выполнении функций изолированного рабочего процесса .NET в плане потребления. Установите значение 0, чтобы отключить оптимизацию холодного запуска в плане потребления.

Key Примерное значение
WEBSITE_USE_PLACEHOLDER_DOTNETISOLATED 1

WEBSITE_VNET_ROUTE_ALL

Important

WEBSITE_VNET_ROUTE_ALL — это устаревший параметр приложения, который был заменен настройкой сайта vnetRouteAllEnabled.

Указывает, весь ли исходящий из приложения трафик направляется через виртуальную сеть. Значение 1 параметра указывает, что весь трафик приложения направляется через виртуальную сеть. Этот параметр необходим при настройке интеграции региональной виртуальной сети в планах размещения Elastic Premium и Выделенного размещения. Он также применяется, когда для определения статического исходящего IP-адреса используется шлюз NAT виртуальной сети.

Key Примерное значение
WEBSITE_VNET_ROUTE_ALL 1

WEBSITES_ENABLE_APP_SERVICE_STORAGE

Указывает, является ли /home каталог общим для масштабируемых экземпляров со значением trueпо умолчанию. Это значение false следует задать при развертывании приложения-функции в контейнере.

Настройки сайта службы приложений

Некоторые конфигурации должны поддерживаться на уровне службы приложений как настройки сайта, например, языковые версии. Эти параметры управляются на портале Azure с помощью REST API или с помощью Azure CLI или Azure PowerShell. Ниже приведены параметры сайта, которые могут потребоваться в зависимости от языка среды выполнения, ОС и версий.

AcrUseManagedIdentityCreds

Указывает, получен ли образ из экземпляра реестра контейнеров Azure с использованием аутентификации управляемого удостоверения. Необходимо использовать управляемое удостоверение при значении true. Мы рекомендуем этот подход вместо сохранения учетных данных проверки подлинности как лучшую практику безопасности.

AcrUserManagedIdentityID

Указывает управляемое удостоверение, используемое при получении образа из экземпляра Azure Container Registry. Требуется, чтобы AcrUseManagedIdentityCreds было задано значением true. Эти значения допустимы:

Value Description
system Используется управляемое удостоверение функции, назначенное системой.
<USER_IDENTITY_RESOURCE_ID> Полный идентификатор ресурса управляемого удостоверения, назначаемого пользователем.

Указанный идентификатор необходимо добавить в ACRPull роль в реестре контейнеров. Дополнительные сведения см. в статье "Создание и настройка приложения-функции в Azure" с изображением.

alwaysOn

В приложении-функции, работающем в плане Выделенный (Служба приложений), среда выполнения Функций переходит в состояние пониженной активности через несколько минут бездействия, и с этого момента только запросы к HTTP-триггеру могут активировать ваше приложение-функцию. Чтобы убедиться, что функции, не активированные по протоколу HTTP, выполняются правильно, включая функции триггера таймера, включите Always On для функционального приложения, задав alwaysOn параметр сайта значением true.

functionsRuntimeAdminIsolationEnabled

Определяет, можно ли получить доступ к встроенным конечным точкам администратора /admin в функциональном приложении. Если задано значение false (по умолчанию), приложение разрешает запросы к конечным точкам под /admin, когда в этих запросах представлен мастер-ключ. true Когда /adminдоступ к конечным точкам не удается получить, даже с главным ключом.

Это свойство нельзя задать для приложений, работающих в Linux, в плане потребления. Его нельзя задать для приложений, работающих в функциях Azure версии 1.x. Если вы используете версию 1.x, сначала необходимо перейти на версию 4.x.

План потребления Flex теперь является рекомендуемым бессерверным планом размещения для функций Azure. Она обеспечивает более быстрое масштабирование, уменьшение времени холодного запуска, использование частных сетей и больший контроль над производительностью и затратами. Дополнительные сведения см. в разделе "План потребления Flex".

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

Important

При создании собственных контейнеров необходимо сохранить базовый образ контейнера обновленным до последнего поддерживаемого базового образа. Поддерживаемые базовые образы функций 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 и выделенных.

Note

При маршрутизации к общему хранилищу в учетной записи, используемой несколькими приложениями-функциями в одном плане, необходимо уделять особое внимание. Дополнительные сведения см. в статье о согласованной маршрутизации через виртуальные сети в статье "Рекомендации по хранилищу".

Это свойство сайта заменяет устаревший WEBSITE_CONTENTOVERVNET параметр.

vnetImagePullEnabled

Функции поддерживают функциональные приложения, работающие в Linux-контейнерах. Чтобы подключиться и извлечь из реестра контейнеров в виртуальной сети, необходимо установить значение vnetImagePullEnabled на true. Это свойство сайта поддерживается в планах хостинга Elastic Premium и Dedicated. План потребления Flex не зависит от свойств сайта или параметров приложения для настройки сети. Дополнительные сведения см. в разделе о прекращении использования плана потребления Flex.

vnetRouteAllEnabled

Указывает, весь ли исходящий из приложения трафик направляется через виртуальную сеть. Значение true параметра указывает, что весь трафик приложения направляется через виртуальную сеть. Используйте этот параметр при настройке интеграции региональной виртуальной сети в планах Elastic Premium и Выделенных планах. Он также применяется, когда для определения статического исходящего IP-адреса используется шлюз NAT виртуальной сети. Дополнительные сведения см. в разделе "Настройка маршрутизации приложений".

Этот параметр сайта заменяет устаревший параметр WEBSITE_VNET_ROUTE_ALL .

Отмена плана потребления Flex

В плане Flex Consumption эти свойства сайта и параметры приложения устарели, и их не следует использовать при создании ресурсов приложения-функций.

Setting/property Reason
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 Недействительно