Azure Function:发布管道以包含 appsettings.json 值
Azure Function : Release pipeline to include appsettings.json values
我的 Azure Functions 项目中有 2 个设置文件。
1)local.settings.json
2)appsettings.json
在 Startup.cs 中,我将两者合并到一个配置中,并且在本地调试的代码中一切正常。
Config = new ConfigurationBuilder()
.SetBasePath(currentDirectory)
.AddConfiguration(configuration)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.Build();
Appsetings.json 包含嵌套值。
例如:
{
"Test":
{
"abc":"def"
}
}
我正在使用 Azure DevOps 中的发布管道将我的代码部署到函数应用程序。
我在我的发布管道中使用“Azure 应用服务设置”任务来将最终部署中的值替换为 Function App。
所以上面提到的发布任务中的值是,
[
{ "name": "FUNCTIONS_WORKER_RUNTIME", "value": "dotnet", "slotSetting": false },//from local.settings.json
{ "name": "Test__abc", "value": "def", "slotSetting": false },//from appsettings.json
]
问题:
代码部署没有任何问题,local.setting.json 值正常通过。但问题在于 appsettings.json 值。这被添加到 Azure 门户的“配置”选项卡中,但应用程序似乎没有使用它。该应用程序出错,因为该值为空。
如何通过发布任务将 appsetting 值传递给 Azure Functio?
我在启动时添加了 .AddEnvironmentVariables() 后应用程序开始运行。
Config = new ConfigurationBuilder()
.SetBasePath(currentDirectory)
.AddConfiguration(configuration)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
我的 Azure Functions 项目中有 2 个设置文件。
1)local.settings.json
2)appsettings.json
在 Startup.cs 中,我将两者合并到一个配置中,并且在本地调试的代码中一切正常。
Config = new ConfigurationBuilder()
.SetBasePath(currentDirectory)
.AddConfiguration(configuration)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.Build();
Appsetings.json 包含嵌套值。 例如:
{
"Test":
{
"abc":"def"
}
}
我正在使用 Azure DevOps 中的发布管道将我的代码部署到函数应用程序。
我在我的发布管道中使用“Azure 应用服务设置”任务来将最终部署中的值替换为 Function App。
所以上面提到的发布任务中的值是,
[
{ "name": "FUNCTIONS_WORKER_RUNTIME", "value": "dotnet", "slotSetting": false },//from local.settings.json
{ "name": "Test__abc", "value": "def", "slotSetting": false },//from appsettings.json
]
问题:
代码部署没有任何问题,local.setting.json 值正常通过。但问题在于 appsettings.json 值。这被添加到 Azure 门户的“配置”选项卡中,但应用程序似乎没有使用它。该应用程序出错,因为该值为空。
如何通过发布任务将 appsetting 值传递给 Azure Functio?
我在启动时添加了 .AddEnvironmentVariables() 后应用程序开始运行。
Config = new ConfigurationBuilder()
.SetBasePath(currentDirectory)
.AddConfiguration(configuration)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();