gpt4 book ai didi

Azure 应用服务部署 - 无法覆盖 appsettings.json

转载 作者:行者123 更新时间:2023-12-02 06:41:47 26 4
gpt4 key购买 nike

我的管道中有一个Azure 应用服务部署任务,用于将我的 Web Api Core 应用部署到 Azure 应用服务。该任务具有以下 yaml -

- task: AzureRmWebAppDeployment@4
inputs:
ConnectionType: 'AzureRM'
azureSubscription: 'myserviceconnection'
appType: 'webAppLinux'
WebAppName: 'mytestwebapp'
packageForLinux: '$(Build.ArtifactStagingDirectory)/**/*.zip'
AppSettings: 'TestWebApp/TestWebApp/appsettings.json'

我一直在关注this document有关如何更新 .json 文件中的设置。据我所知,我必须在管道中创建一个与我需要更新的 key 相匹配的变量。假设我的 appsettings.json 中有以下 Json 结构 -

{
"AllowedHosts": "*",
"ServiceConfiguration": {
"Key1": "value1",
"Key2": {
"Key3": "value3",
"Key4": "value4"
}
}
}

假设我必须将 key1 更新为 somenewvalue1 并将 key2.key3 更新为 someothervalue3 等等。因此,我通过点击管道上的“变量”按钮创建了新变量,并将 Key1key2.key3 添加为具有适当值的变量(附带说明,该值是常量字符串,但我希望这是一个动态值,它将由管道中的另一个任务提供)。另外,我提供了应用程序设置文件的路径,如下图所示 -

enter image description here

但是,当我运行管道时,出现以下错误 -

enter image description here

错误:BadRequest - 参数名称不能为空。 (代码:400)

我遇到了这个SO question并在 azure 门户上创建了应用程序设置,但这也不起作用

我在这里做错了什么。

作为一个附带问题,如第一张图片所示,文件转换和变量替换选项应用程序和配置设置之间有什么区别以及何时使用.

编辑

根据评论,我能够解决该问题,因此不再出现错误,并且我能够验证 azure 门户中的更新设置。

但是,当我在浏览目录下的站点 wwwroot 文件夹中看到来自 Kudu 的 appsetting.json 时,我看不到它已更新。为什么这些值不同,如果不同,实际考虑哪个值。

谢谢

最佳答案

看来人们期望 JSON 包含设置,而不是文件路径。

至于设置文件没有更新,这是预料之中的。这将更新应用服务的“配置”选项卡中的设置,这些设置将作为环境变量传递到您的应用程序。它不会更新文件。相反,它设置的设置会覆盖文件中的设置(至少默认情况下,如果您是默认主机构建器)。它只会覆盖您指定的设置。

关于Azure 应用服务部署 - 无法覆盖 appsettings.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60862421/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com