Azure应用程序设置不反映在NodeJs应用程序上

时间:2018-03-13 22:29:45

标签: node.js azure azure-web-sites appsettings kudu

我理解来自SO,thisthis中的2个答案,即使我们更新了应用程序设置,当前门户网站UI也不会反映这些更改,< strong>但如果我们通读我们的应用程序,我们会获得更新的设置......

由于某些奇怪的原因,我的NodeJs应用程序中没有发生这种情况:

作为Bitbucket pipeline步骤,我获取最后一次提交的哈希并使用Kudo REST API,我更新了我的应用程序设置,并且在Kudo设置中可以正常工作:

enter image description here

不好的是,当通过process.env.SOURCE_VERSION请求这样的变量时,我得到了门户网站GUI中的string而不是这个:

enter image description here

并且在HTML中转换为:

enter image description here

123 字符串正是门户网站GUI中的内容

enter image description here

从我发现的答案来看,它一定是我忘记的......但是我已经被困在这一段时间了,我无法弄清楚是什么我错过了:(

作为非常奇怪的测试,我已将门户网站GUI更新为1234,甚至Kudo设置仍显示git commit hash,我现在在HTML页面中获取1234

所以它肯定会显示更改,但不会动态更新,只是门户变量:/

enter image description here

1 个答案:

答案 0 :(得分:0)

这在KUDU REST POST /api/settings won't work how it supposed to? #283上进行了讨论。正如@ahmelsayed所说,设置API *.scm.azurewebsites.net/api/settings与您从/ Env获得的设置不同。

您有两种方法可以确保应用设置的一致性。

  • Set settings through Azure CLI,然后在Node.js应用程序中通过process.env['xxx']进行设置。

  • 通过对*.scm.azurewebsites.net/api/settings执行POST来设置设置,然后通过在Node.js应用程序中对*.scm.azurewebsites.net/api/settings执行GET来获取设置。