Azure Functions 的应用设置参考

函数应用中的应用设置包含对该函数应用的所有函数产生影响的配置选项。 在本地运行时,这些设置将作为本地环境变量进行访问。 本文列出可在函数应用中使用的应用设置。

可以通过以下几种方法添加、更新和删除函数应用设置:

如果更改函数应用设置,则需要重启函数应用。

host.json 文件和 local.settings.json 文件中提供了其他函数应用程序配置选项。 为了便于阅读,示例连接字符串值被截断。

注意

可以使用应用程序设置替代 host.json 设置值,而不必更改 host.json 文件本身。 这对于需要针对特定环境配置或修改特定 host.json 设置的方案很有用。 这也让你可以更改 host.json 设置,而不必重新发布项目。 若要了解详细信息,请参阅 host.json 参考文章。 如果更改函数应用设置,则需要重启函数应用。

重要

不要同时使用检测密钥连接字符串。 以最后设置的值为准。

APPINSIGHTS_INSTRUMENTATIONKEY

Application Insights 的检测密钥。 仅使用 APPINSIGHTS_INSTRUMENTATIONKEYAPPLICATIONINSIGHTS_CONNECTION_STRING 中的一个。 当 Application Insights 在主权云中运行时,请使用 APPLICATIONINSIGHTS_CONNECTION_STRING。 有关详细信息,请参阅如何配置对 Azure Functions 的监视

示例值
APPINSIGHTS_INSTRUMENTATIONKEY 55555555-af77-484b-9032-64f83bb83bb

注意

对检测密钥引入的支持将于 2025 年 3 月 31 日结束。 检测密钥引入功能将会继续工作,但我们将不再为该功能提供更新或支持。 转换为连接字符串,以利用新功能

APPLICATIONINSIGHTS_CONNECTION_STRING

Application Insights 的连接字符串。 在以下情况下使用 APPLICATIONINSIGHTS_CONNECTION_STRING 而不是 APPINSIGHTS_INSTRUMENTATIONKEY

  • 当函数应用需要通过连接字符串提供支持的已添加自定义项时。
  • 当 Application Insights 实例在需要自定义终结点的主权云中运行时。

有关详细信息,请参阅连接字符串

示例值
APPLICATIONINSIGHTS_CONNECTION_STRING InstrumentationKey=...

AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL

默认情况下,Functions 代理使用快捷方式从代理直接将 API 调用发送到同一函数应用中的函数。 使用此快捷方式取代创建新的 HTTP 请求。 此设置让你能够禁用该快捷方式行为。

说明
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL true 具有指向本地函数应用中函数的后端 URL 的调用不会直接发送到函数, 相反,请求会定向回函数应用的 HTTP 前端。
AZURE_FUNCTION_PROXY_DISABLE_LOCAL_CALL false 具有指向本地函数应用中函数的后端 URL 的调用会直接转发到函数。 这是默认值。

AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES

此设置控制字符 %2F 在路由参数插入后端 URL 时是否在路由参数中解码为斜杠。

说明
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES true 包含编码斜杠的路由参数已解码。
AZURE_FUNCTION_PROXY_BACKEND_URL_DECODE_SLASHES false 所有路由参数均原样传递,这是默认行为。

例如,考虑位于 myfunction.com 域的函数应用的 proxies.json 文件。

{
    "$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 不变。 有关详细信息,请参阅 Functions 代理

AZURE_FUNCTIONS_ENVIRONMENT

在 2.x 和更高版本的 Functions 运行时中,基于运行时环境配置应用行为。 在初始化期间读取此值,并且可以将其设置为任意值。 运行时仅接受 DevelopmentStagingProduction 的值。 如果在 Azure 中运行时此应用程序设置不存在,则假定环境为 Production。 如果需要将 Azure 中的运行时环境更改为 Production 以外的其他内容,请使用此设置,而不是 ASPNETCORE_ENVIRONMENT。 在本地计算机上运行时,Azure Functions Core Tools 将 AZURE_FUNCTIONS_ENVIRONMENT 设置为 Development,并且无法在 local.settings.json 文件中重写。 若要了解详细信息,请参阅基于环境的启动类和方法

AzureFunctionsJobHost__*

在 Functions 运行时的版本 2.x 和更高版本中,应用程序设置可以替代当前环境中的 host.json 设置。 这些替代表示为名为 AzureFunctionsJobHost__path__to__setting 的应用程序设置。 有关详细信息,请参阅替代 host.json 值

AzureFunctionsWebHost__hostid

设置给定函数应用的主机 ID,该 ID 应是唯一 ID。 此设置将替代自动为应用生成的主机 ID 值。 仅当需要防止共享同一存储帐户的函数应用之间的主机 ID 冲突时,才使用此设置。

主机 ID 必须介于 1 到 32 个字符之间,仅包含小写字母、数字和短划线,不能以短划线开头或结尾,并且不能包含连续短划线。 生成 ID 的一种简单方法是获取 GUID、删除短划线,并将其转换为小写,例如将 GUID 1835D7B5-5C98-4790-815D-072CC94C6F71 转换为值 1835d7b55c984790815d072cc94c6f71

示例值
AzureFunctionsWebHost__hostid myuniquefunctionappname123456789

有关详细信息,请参阅主机 ID 注意事项

AzureWebJobsDashboard

用于存储日志并在门户上的“监视”选项卡中显示这些日志的可选存储帐户连接字符串。 此设置仅对面向 Azure Functions 运行时版本 1.x 的应用有效。 存储帐户必须是支持 Blob、队列和表的通用帐户。 有关详细信息,请参阅存储帐户要求

示例值
AzureWebJobsDashboard DefaultEndpointsProtocol=https;AccountName=...

注意

为了获得更好的性能和体验,运行时版本 2.x 及更高版本使用 APPINSIGHTS_INSTRUMENTATIONKEY 和 App Insights 进行监视,而不是使用 AzureWebJobsDashboard

AzureWebJobsDisableHomepage

true 表示禁用针对函数应用根 URL 显示的默认登录页。 默认值为 false

示例值
AzureWebJobsDisableHomepage true

如果省略此应用设置或将其设置为 false,则会显示类似于以下示例的页来响应 URL <functionappname>.chinacloudsites.cn

函数应用登录页

AzureWebJobsDotNetReleaseCompilation

true 表示在编译 .NET 代码时使用“发布”模式;false 表示使用“调试”模式。 默认值为 true

示例值
AzureWebJobsDotNetReleaseCompilation true

AzureWebJobsFeatureFlags

要启用的 beta 功能的逗号分隔列表。 由这些标志启用的 Beta 功能尚未准备好用于生产,但在发布这些功能之前可针对试验目的启用这些功能。

示例值
AzureWebJobsFeatureFlags feature1,feature2

AzureWebJobsKubernetesSecretName

指示用于存储密钥的 Kubernetes 机密资源。 仅在 Kubernetes 中运行时受支持。 需要将 AzureWebJobsSecretStorageType 设置为 kubernetes。 如果未设置 AzureWebJobsKubernetesSecretName,则会将存储库视为只读。 在这种情况下,必须在部署之前生成值。 在部署到 Kubernetes 时,Azure Functions Core Tools 会自动生成值。

示例值
AzureWebJobsKubernetesSecretName <SECRETS_RESOURCE>

若要了解详细信息,请参阅机密存储库

AzureWebJobsSecretStorageKeyVaultClientId

用户分配的托管标识或应用注册的客户端 ID,用于访问存储密钥的保管库。 需要将 AzureWebJobsSecretStorageType 设置为 keyvault。 在 4.x 版及更高版本的 Functions 运行时中受支持。

示例值
AzureWebJobsSecretStorageKeyVaultClientId <CLIENT_ID>

若要了解详细信息,请参阅机密存储库

AzureWebJobsSecretStorageKeyVaultClientSecret

用户分配的托管标识或应用注册的客户端 ID 的机密,用于访问存储密钥的保管库。 需要将 AzureWebJobsSecretStorageType 设置为 keyvault。 在 4.x 版及更高版本的 Functions 运行时中受支持。

示例值
AzureWebJobsSecretStorageKeyVaultClientSecret <CLIENT_SECRET>

若要了解详细信息,请参阅机密存储库

AzureWebJobsSecretStorageKeyVaultName

用于存储密钥的密钥保管库实例的名称。 仅 Functions 运行时版本 3.x 支持此设置。 对于版本 4.x,请改为使用 AzureWebJobsSecretStorageKeyVaultUri。 需要将 AzureWebJobsSecretStorageType 设置为 keyvault

保管库必须有一项与承载资源的系统分配托管标识相对应的访问策略。 访问策略应向标识授予以下机密权限:GetSetListDelete
在本地运行时使用开发人员标识,且设置必须位于 local.settings.json 文件中。

示例值
AzureWebJobsSecretStorageKeyVaultName <VAULT_NAME>

若要了解详细信息,请参阅机密存储库

AzureWebJobsSecretStorageKeyVaultTenantId

用于访问存储密钥的保管库的应用注册的租户 ID。 需要将 AzureWebJobsSecretStorageType 设置为 keyvault。 在 4.x 版及更高版本的 Functions 运行时中受支持。 若要了解详细信息,请参阅机密存储库

示例值
AzureWebJobsSecretStorageKeyVaultTenantId <TENANT_ID>

AzureWebJobsSecretStorageKeyVaultUri

用于存储密钥的密钥保管库实例的 URI。 在 4.x 版及更高版本的 Functions 运行时中受支持。 这是使用密钥保管库实例进行密钥存储的推荐设置。 需要将 AzureWebJobsSecretStorageType 设置为 keyvault

AzureWebJobsSecretStorageKeyVaultUri 值应该是“密钥保管库概述”标签中显示的“保管库 URI”的完整值,包括

保管库必须有一项与承载资源的系统分配托管标识相对应的访问策略。 访问策略应向标识授予以下机密权限:GetSetListDelete
在本地运行时使用开发人员标识,且设置必须位于 local.settings.json 文件中。

示例值
AzureWebJobsSecretStorageKeyVaultUri https://<VAULT_NAME>.vault.azure.cn

若要了解详细信息,请参阅使用 Azure Functions 的密钥保管库引用

AzureWebJobsSecretStorageSas

用于存储密钥的第二个存储帐户的 Blob 存储 SAS URL。 默认情况下,Functions 使用 AzureWebJobsStorage 中设置的帐户。 使用此机密存储选项时,请确保未显示设置 AzureWebJobsSecretStorageType 或将其设置为 blob。 若要了解详细信息,请参阅机密存储库

示例值
AzureWebJobsSecretStorageSas <BLOB_SAS_URL>

AzureWebJobsSecretStorageType

指定用于密钥存储的存储库或提供程序。 密钥在存储之前始终使用函数应用特有的密钥进行加密。

密钥 说明
AzureWebJobsSecretStorageType blob 密钥存储在通过 AzureWebJobsStorage 设置提供的帐户中的 Blob 存储容器中。 这是未设置 AzureWebJobsSecretStorageType 时的默认行为。
若要指定其他存储帐户,请使用 AzureWebJobsSecretStorageSas 设置来指示第二个存储帐户的 SAS URL。
AzureWebJobsSecretStorageType files 密钥将持久保存于文件系统中。 这是 Functions v1.x 的默认设置。
AzureWebJobsSecretStorageType keyvault 密钥存储在由 AzureWebJobsSecretStorageKeyVaultName 设置的密钥保管库实例中。
Kubernetes 机密 kubernetes 仅当在 Kubernetes 中运行 Functions 运行时时才受支持。 如果未设置 AzureWebJobsKubernetesSecretName,则会将存储库视为只读。 在这种情况下,必须在部署之前生成值。 在部署到 Kubernetes 时,Azure Functions Core Tools 会自动生成值。

若要了解详细信息,请参阅机密存储库

AzureWebJobsStorage

Azure Functions 运行时使用此存储帐户连接字符串执行常规操作。 此存储帐户的一些用途包括密钥管理、计时器触发器管理和事件中心检查点。 存储帐户必须是支持 Blob、队列和表的通用帐户。 请参阅存储帐户存储帐户要求

示例值
AzureWebJobsStorage DefaultEndpointsProtocol=https;AccountName=...

AzureWebJobs_TypeScriptPath

用于 TypeScript 的编译器的路径。 允许根据需要重写默认值。

示例值
AzureWebJobs_TypeScriptPath %HOME%\typescript

DOCKER_SHM_SIZE

设置 Python 辅助角色使用共享内存时的共享内存大小(以字节为单位)。 要了解详细信息,请参阅共享内存

示例值
DOCKER_SHM_SIZE 268435456

上述值将设置为约 256 MB 的共享内存大小。

要求 FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED 设置为

FUNCTION_APP_EDIT_MODE

指示是否在 Azure 门户中启用了编辑。 有效值为“readwrite”和“readonly”。

示例值
FUNCTION_APP_EDIT_MODE readonly

FUNCTIONS_EXTENSION_VERSION

托管函数应用的 Functions 运行时版本。 波浪符(~)加主要版本号表示使用该主要版本的最新版本(例如“~3”)。 当同一主要版本的新版本可用时,会自动在函数应用中安装新版本。 若要让应用固定使用特定的版本,请使用完整版本号(例如“3.0.12345”)。 默认值为“~3”。 值 ~1 让应用固定使用运行时版本 1.x。 有关详细信息,请参阅 Azure Functions 运行时版本概述。 值为 ~4 表示应用在支持 .NET 6.0 的运行时版本 4.x 上运行。

示例值
FUNCTIONS_EXTENSION_VERSION ~3

FUNCTIONS_V2_COMPATIBILITY_MODE

此设置使函数应用能够在版本 3.x 运行时上以版本 2.x 兼容模式运行。 仅当在将函数应用从运行时版本 2.x 升级到版本 3.x 时遇到问题的情况下,才使用此设置。

重要

在更新应用以便在版本 3.x 上正常运行时,此设置仅用作短期解决方法。 只要 2.x 运行时受支持,此设置就受支持。 如果在不使用此设置的情况下遇到阻止应用在版本 3.x 上运行的问题,请报告问题

需要 FUNCTIONS_EXTENSION_VERSION 设置为

示例值
FUNCTIONS_V2_COMPATIBILITY_MODE true

FUNCTIONS_WORKER_PROCESS_COUNT

指定语言工作进程的最大数量,其默认值为 1。 允许的最大值为 10。 函数调用均匀地分布在语言工作进程中。 语言工作进程每 10 秒生成一次,直到达到 FUNCTIONS_WORKER_PROCESS_COUNT 设置的计数。 使用多个语言工作进程与缩放不同。 当工作负荷混合使用 CPU 绑定和 I/O 绑定调用时,请考虑使用此设置。 此设置适用于所有语言运行时,除了在进程中运行的 .NET (dotnet)。

示例值
FUNCTIONS_WORKER_PROCESS_COUNT 2

FUNCTIONS_WORKER_RUNTIME

要在函数应用中加载的语言辅助角色运行时。 此项对应于应用程序中正在使用的语言(例如,“dotnet”)。 从 Azure Functions 运行时版本 2.x 开始,给定函数应用只能支持一种语言。

示例值
FUNCTIONS_WORKER_RUNTIME node

有效值:

语言
dotnet C#(类库)
C#(脚本)
dotnet-isolated C#(隔离进程)
java Java
node JavaScript
TypeScript
powershell PowerShell
python Python

FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED

此设置允许 Python 辅助角色使用共享内存来提高吞吐量。 当 Python 函数应用遇到内存瓶颈时启用共享内存。

示例值
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED 1

启用此设置后,可以使用 DOCKER_SHM_SIZE 设置来设置共享内存大小。 要了解详细信息,请参阅共享内存

MDMaxBackgroundUpgradePeriod

控制 PowerShell 函数应用的托管依赖项后台更新周期,默认值为 7.00:00:00(每周)。

每个 PowerShell 工作进程都会在进程启动时检查 PowerShell 库上的模块升级,并在之后每 MDMaxBackgroundUpgradePeriod 检查一次。 当 PowerShell 库中有新的模块版本时,该版本会被安装到文件系统,并提供给 PowerShell 工作进程。 减小此值后,函数应用不但可以更快地获取较新的模块版本,而且可以增加应用资源使用率(网络 I/O、CPU、存储)。 增大此值会减少应用的资源使用率,但也可能会延迟将新的模块版本传递给你的应用。

示例值
MDMaxBackgroundUpgradePeriod 7.00:00:00

有关详细信息,请参阅依赖项管理

MDNewSnapshotCheckPeriod

指定每个 PowerShell 辅助角色检查是否已安装托管依赖关系升级的频率。 默认频率为 01:00:00(每小时)。

将新的模块版本安装到文件系统后,必须重启每个 PowerShell 工作进程。 重启 PowerShell 工作进程会影响应用可用性,因为它可能会中断当前的函数执行操作。 在所有 PowerShell 工作进程都重启之前,函数调用可能使用旧的模块版本,也可能使用新的模块版本。 重启所有 PowerShell 工作进程的操作会在 MDNewSnapshotCheckPeriod 内完成。

在每个 MDNewSnapshotCheckPeriod 中,PowerShell 工作进程会检查是否已安装托管依赖关系升级。 安装升级后,重启随即开始。 增加此值会降低因重启而中断的频率。 但是,这种增加也可能会增加函数调用使用新/旧模块版本的时间,这种情况不确定。

示例值
MDNewSnapshotCheckPeriod 01:00:00

有关详细信息,请参阅依赖项管理

MDMinBackgroundUpgradePeriod

在前一次托管依赖关系升级检查之后,启动下一次升级检查之前的时间段,默认值为 1.00:00:00(每天)。

为了避免在频繁重启工作进程时进行过多的模块升级,当任何工作进程在上一个 MDMinBackgroundUpgradePeriod 中启动了模块升级检查时,系统不会执行该检查。

示例值
MDMinBackgroundUpgradePeriod 1.00:00:00

有关详细信息,请参阅依赖项管理

PIP_INDEX_URL

此设置可覆盖 Python 包索引的基 URL,默认情况下为 https://pypi.org/simple。 当需要在兼容 PEP 503(简单存储库 API)的包索引存储库或遵循相同格式的本地目录中使用找到的自定义依赖项运行远程生成时,请使用此设置。

示例值
PIP_INDEX_URL http://my.custom.package.repo/simple

若要了解更多信息,请参阅 --index-urlpip 文档和 Python 开发人员参考中的“使用自定义依赖项”。

PIP_EXTRA_INDEX_URL

此设置的值表示除 --index-url 之外可使用的 Python 应用自定义包的额外索引 URL。 如果需要使用在额外的包索引中找到的自定义依赖项运行远程生成,请使用此设置。 应遵循与 --index-url 相同的规则。

示例值
PIP_EXTRA_INDEX_URL http://my.custom.package.repo/simple

若要了解更多信息,请参阅 --extra-index-urlpip 文档和 Python 开发人员参考中的自定义依赖项

PYTHON_ISOLATE_WORKER_DEPENDENCIES(预览版)

配置特定于 Python 函数应用。 它定义模块加载顺序的优先级。 当 Python 函数应用面临与模块冲突相关的问题时(例如,在项目中使用 protobuf、tensorflow 或 grpcio 时),将此应用设置配置为 1 应该能够解决问题。 默认情况下,此值设置为 0。 此标志目前处于预览状态。

说明
PYTHON_ISOLATE_WORKER_DEPENDENCIES 0 优先从内部 Python 辅助角色的依赖项加载 Python 库。 requirements.txt 中定义的第三方库可能会被隐藏。
PYTHON_ISOLATE_WORKER_DEPENDENCIES 1 优先从 requirements.txt 中定义的应用程序包加载 Python 库。 这可以防止你的库与内部 Python 辅助角色的库发生冲突。

PYTHON_ENABLE_DEBUG_LOGGING

在 Python 函数应用中启用调试级日志记录。 值为 1 可启用调试级日志记录。 如果没有此设置或值为 0,只会将信息和更高级别的日志从 Python 辅助角色发送到 Functions 主机。 调试或跟踪 Python 函数执行时,请使用此设置。

调试 Python 函数时,请确保还根据需要在 host.json 文件中设置调试或跟踪日志记录级别。 若要了解详细信息,请参阅如何配置对 Azure Functions 的监视

PYTHON_ENABLE_WORKER_EXTENSIONS

配置特定于 Python 函数应用。 如果将此配置设置为 1,则辅助角色可载入 requirements.txt 中所定义的 1中。 通过该扩展,函数应用能够访问第三方包提供的新功能。 它也可能改变函数在应用中加载和调用的行为。 请确保所选扩展可靠,因为你需要承担使用它所带来的风险。 Azure Functions 不提供针对任何扩展的明示保证。 有关如何使用扩展的详细说明,请访问相关扩展的手册页或自述文件。此值默认设置为 0

密钥 说明
PYTHON_ENABLE_WORKER_EXTENSIONS 0 禁用任何 Python 工作线程扩展。
PYTHON_ENABLE_WORKER_EXTENSIONS 1 允许 Python 工作线程从 requirements.txt 加载扩展。

PYTHON_THREADPOOL_THREAD_COUNT

指定 Python 语言辅助角色将用于执行函数调用的最大线程数,对于 Python 版本 3.8 及更低版本,默认值为 1。 对于 Python 版本 3.9 及更高版本,该值设置为 None。 请注意,此设置不能保证在执行过程中设置的线程数。 此设置允许 Python 将线程数扩展到指定的值。 此设置仅适用于 Python 函数应用。 此外,此设置还适用于同步函数调用,而不适用于协同例程。

示例值 最大值
PYTHON_THREADPOOL_THREAD_COUNT 2 32

SCALE_CONTROLLER_LOGGING_ENABLED

此设置当前处于预览状态。

此设置控制 Azure Functions 缩放控制器中的日志记录。 有关详细信息,请参阅缩放控制器日志

示例值
SCALE_CONTROLLER_LOGGING_ENABLED AppInsights:Verbose

此键的值以 <DESTINATION>:<VERBOSITY> 格式提供,其定义如下:

属性 说明
<DESTINATION> 日志发送到的目标。 有效值为 AppInsightsBlob
使用 AppInsights 时,请确保在函数应用中启用 Application Insights
将目标设置为 Blob 时,将在名为 azure-functions-scale-controller 的 blob 容器中创建日志,该容器位于 AzureWebJobsStorage 应用程序设置中设置的默认存储帐户中。
<VERBOSITY> 指定日志记录级别。 支持的值为 NoneWarningVerbose
设置为 Verbose 时,缩放控制器将记录辅助角色计数每次更改的原因,以及有关将这些因素纳入决策的触发器的信息。 详细日志包含触发器警告和缩放控制器运行前后触发器使用的哈希。

提示

请记住,将“缩放控制器日志记录”保留为启用时,它会影响监视函数应用的潜在成本。 请考虑启用日志记录,直到收集到的数据足以了解缩放控制器的行为方式,然后将其禁用。

SCM_LOGSTREAM_TIMEOUT

控制连接到流式处理日志时的超时(秒)。 默认值为 7200(2 小时)。

示例值
SCM_LOGSTREAM_TIMEOUT 1800

上述示例值 1800 设置超时 30 分钟。 有关详细信息,请参阅启用流式处理日志

WEBSITE_CONTENTAZUREFILECONNECTIONSTRING

存储帐户的连接字符串,该帐户的函数应用代码和配置存储在事件驱动缩放计划中。 有关详细信息,请参阅创建函数应用

示例值
WEBSITE_CONTENTAZUREFILECONNECTIONSTRING DefaultEndpointsProtocol=https;AccountName=...

此设置是 Windows 和 Linux 上的消耗计划和高级计划应用所需的。 它不是专用计划应用所需的,这些应用不会由 Functions 动态扩展。

更改或删除此设置可能会导致函数应用无法启动。 若要了解详细信息,请参阅此故障排除文章

WEBSITE_CONTENTOVERVNET

将存储帐户限制在虚拟网络中时,值 1 允许函数应用进行缩放。 将存储帐户限制于一个虚拟网络时,应启用此设置。 若要了解详细信息,请参阅将存储帐户限制在虚拟网络中

示例值
WEBSITE_CONTENTOVERVNET 1

高级专用(应用服务)计划(标准及更高版本)支持。 在消耗计划上运行时不受支持。

WEBSITE_CONTENTSHARE

事件驱动的缩放计划中函数应用代码和配置的文件路径。 与 WEBSITE_CONTENTAZUREFILECONNECTIONSTRING 结合使用。 默认值是由运行时生成的以函数应用名称开头的唯一字符串。 请参阅创建函数应用

示例值
WEBSITE_CONTENTSHARE functionapp091999e2

此设置是 Windows 和 Linux 上的消耗计划和高级计划应用所需的。 它不是专用计划应用所需的,这些应用不会由 Functions 动态扩展。

更改或删除此设置可能会导致函数应用无法启动。 若要了解详细信息,请参阅此故障排除文章

在部署期间使用 Azure 资源管理器 (ARM) 模板创建函数应用时,需要考虑以下注意事项:

  • 如果没有为主函数应用或槽中的任何应用设置 WEBSITE_CONTENTSHARE 值,则会为你生成唯一的共享值。 这是部署 ARM 模板的推荐方法。
  • 在某些情况下,必须将 WEBSITE_CONTENTSHARE 值设置为预定义共享,例如在虚拟网络中使用安全存储帐户时。 在这种情况下,必须为主函数应用和每个部署槽位的应用设置唯一的共享名称。
  • 不要将 WEBSITE_CONTENTSHARE 设为槽位。
  • 指定 WEBSITE_CONTENTSHARE 时,该值必须遵循此共享名指南

若要了解详细信息,请参阅为函数应用自动执行资源部署

WEBSITE_DNS_SERVER

设置应用在解析 IP 地址时使用的 DNS 服务器。 使用某些网络功能(如 Azure DNS 专用区域专用终结点)时,通常需要此设置。

示例值
WEBSITE_DNS_SERVER 168.63.129.16

WEBSITE_ENABLE_BROTLI_ENCODING

控制是否将 Brotli 编码用于压缩,代替默认的 gzip 压缩。 当 WEBSITE_ENABLE_BROTLI_ENCODING 设置为 1 时,就会使用 Brotli 编码,否则使用 gzip 编码。

WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT

应用可以横向扩展到的最大实例数。 默认值为无限制。

重要

此设置处于预览状态。 添加了一个函数应用横向扩展上限属性,建议使用此方法限制横向扩展。

示例值
WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 5

WEBSITE_NODE_DEFAULT_VERSION

仅限 Windows。 设置在 Windows 上运行函数应用时要使用的 Node.js 版本。 应使用波形符 (~) 让运行时使用目标主版本的最新可用版本。 例如,当设置为 ~10 时,将使用最新版本 Node.js 10。 当目标主版本带有波形符时,无需手动更新次版本。

示例值
WEBSITE_NODE_DEFAULT_VERSION ~10

WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS

默认情况下,函数应用的版本设置特定于每个槽。 使用部署槽升级功能时使用此设置。 这可以防止由于交换后更改版本导致的意外行为。 在生产环境和槽中设置为 0,确保还交换所有版本设置。 有关详细信息,请参阅使用槽进行迁移

示例值
WEBSITE_OVERRIDE_STICKY_EXTENSION_VERSIONS 0

WEBSITE_RUN_FROM_PACKAGE

让函数应用从已装载的包文件运行。

示例值
WEBSITE_RUN_FROM_PACKAGE 1

有效值是解析为部署包文件位置的 URL 或 1。 设置为 1 时,包必须位于 d:\home\data\SitePackages 文件夹中。 使用此设置的 zip 部署时,包将自动上传到此位置。 在预览版中,此设置名为 WEBSITE_RUN_FROM_ZIP。 有关详细信息,请参阅从包文件运行函数

WEBSITE_SKIP_CONTENTSHARE_VALIDATION

WEBSITE_CONTENTAZUREFILECONNECTIONSTRINGWEBSITE_CONTENTSHARE 设置具有其他验证检查,以确保应用可以正常启动。 如果由于网络限制或其他限制因素,函数应用无法正确调用下游存储帐户或 Key Vault,则创建应用程序设置将失败。 如果 WEBSITE_SKIP_CONTENTSHARE_VALIDATION 设置为 1 ,则将跳过验证检查;否则,该值默认为 0,并将进行验证。

示例值
WEBSITE_SKIP_CONTENTSHARE_VALIDATION 1

如果跳过验证,并且连接字符串或内容共享无效,该应用将无法正常启动,且只会显示 HTTP 500 错误。

WEBSITE_TIME_ZONE

允许为函数应用设置时区。

(OS) 示例值
WEBSITE_TIME_ZONE Windows Eastern Standard Time
WEBSITE_TIME_ZONE Linux America/New_York

CRON 表达式使用的默认时区为协调世界时 (UTC)。 若要让 CRON 表达式基于其他时区,请为你的函数应用创建一个名为 WEBSITE_TIME_ZONE 的应用设置。

此设置的值取决于运行函数应用的操作系统和计划。

操作系统 计划
Windows All 将该值设置为所需时区的名称,由 Windows 命令 tzutil.exe /L 给定的每个对的第二行指定

注意

Linux 消耗计划目前不支持 WEBSITE_TIME_ZONE

例如,美国东部时间(由 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_VNET_ROUTE_ALL

重要

WEBSITE_VNET_ROUTE_ALL 是旧版应用设置,它已被替换为 vnetRouteAllEnabled 配置设置

指示是否通过虚拟网络路由应用的所有出站流量。 设置值 1 指示所有流量都通过虚拟网络进行路由。 使用区域虚拟网络集成功能时,需要使用此设置。 使用虚拟网络 NAT 网关定义静态出站 IP 地址时,也可以使用此设置。

示例值
WEBSITE_VNET_ROUTE_ALL 1

后续步骤

了解如何更新应用设置

查看 host.json 文件中的配置设置

查看应用服务应用的其他应用设置