首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >appsettings.json无法覆盖appsettings.json

appsettings.json无法覆盖appsettings.json
EN

Stack Overflow用户
提问于 2020-03-26 07:10:56
回答 1查看 1.9K关注 0票数 2

我有一个Azure应用程序服务部署任务,用于将我的Web应用程序部署到Azure。任务有以下的yaml -

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

我一直在跟踪本文件关于如何更新.json文件中的设置。据我所能理解,我必须在管道中创建一个与我需要更新的键匹配的变量。假设我的appsettings.json中有以下Json结构-

代码语言:javascript
复制
{
  "AllowedHosts": "*",
  "ServiceConfiguration": {
    "Key1": "value1",
    "Key2": {
      "Key3": "value3",
      "Key4": "value4"
    }
  }
}

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

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

Error: BadRequest - Parameter name cannot be empty. (CODE: 400)

我偶然发现了这个所以问题,并在蔚蓝门户上创建了应用程序设置,但这也不起作用。

我在这里做错什么了。

另一个问题是,如第一个图像所示,文件转换和变量替换选项Application和Configuration Settings之间的区别是什么,以及何时使用什么。

编辑

基于评论,我能够解决问题,所以没有更多的错误,我能够验证更新的设置在蔚蓝门户。

然而,当我在浏览目录下的网站www.root文件夹中看到Kudu的appsetting.json时,我无法看到它被更新。为什么这些估值者是不同的,如果是的话,实际考虑的是哪个值。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-26 09:50:20

因此,似乎需要包含设置的JSON,而不是文件路径。

至于没有更新的设置文件,这是预期的。这是更新App的Configuration选项卡中的设置,它将作为环境变量传递给您的应用程序。它不会更新文件。相反,它设置了覆盖文件中设置的设置(至少在默认情况下,如果您是默认的主机生成器)。它将只覆盖您指定的设置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60862421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档