AZURE_FUNCTIONS_ENVIRONMENT 与 ASPNETCORE_ENVIRONMENT

Tur*_*rbo 5 c# azure asp.net-core azure-functions

在 azure 函数(v2、c#)中,有两个环境变量可以潜在地用于标识当前环境的名称。

  • AZURE_FUNCTIONS_ENVIRONMENT
  • ASPNETCORE_ENVIRONMENT

我打算使用AZURE_FUNCTIONS_ENVIRONMENT,我想知道是否有理由选择一个而不是另一个?

就两者的行为而言,这是我发现的:

  • AZURE_FUNCTIONS_ENVIRONMENTDevelopment由功能主机/运行时设置为本地。它不会在 azure 中自动设置为Production. 可以在 azure 中的应用设置中进行设置。
  • ASPNETCORE_ENVIRONMENT 不是由本地或 Azure 中的函数主机/运行时设置的。

几周前我也提出了一个关于这个的github 问题,但没有得到回应。我希望我能在这里得到答案。

Tur*_*rbo 9

为了大家的利益,在此处添加来自 github 问题官方答案

你会想要使用AZURE_FUNCTIONS_ENVIRONMENT. 在 Azure 上为 Function 应用提供支持的 Functions 运行时是此存储库中的 WebHost 项目。当主机初始化时,它会查找 AZURE_FUNCTIONS_ENVIRONMENT应用程序设置 (as EnvironmentSettingNames.EnvironmentNameKey)并将其传递给 IWebHostBuilder。仅使用ASPNETCORE_ENVIRONMENT可能会导致所需的行为变化和遥测丢失。