在Node.js中访问Azure ServiceConfiguration设置
我正在进行构build通过Windows Azure上的iisnode运行的Node.js应用程序的testing版部署阶段。 经过设置多个实例以及生产/分段分离,我的研究使我得出以下结论:
如果我想在不重新部署代码的情况下更改configuration设置,则需要使用Service Configuration
.cscfg
文件。
我的问题是,我已经将各种configuration设置存储在web.config
的<appSettings>
和<iisnode>
元素中,我可能想要更改这些元素,这些元素通过进程全局对象显示在我的Node应用程序中。
我已经浏览了MSDN , Node文档和SO (通常),并且找不到Node是否可以或者可以以相同的方式公开服务configuration设置。 如果没有,我可以将它们暴露给我的应用程序吗?
编辑:更具体地说,我真的只是node_env
设置从web.config
移动到服务configuration,因为我希望能够通过configuration更改从分段切换到生产设置。 原因是 – 我们使用IP交换来在分段和产品之间进行交换,两者之间(例如,它所使用的REST风格的Web服务的URL)有一些细微的差别。
我也知道我可以在由iisnode.yaml
读取的iisnode.yaml
文件中configurationnode_env
,但是仍然会回收应用程序,而且我不想修改x yaml文件并重新部署,其中x是生产/分期申请。
您可以通过Azure SDK for Node.js访问configuration设置。
安装:
npm install azure
要获取configuration设置:
var azure = require('azure'); azure.RoleEnvironment.getConfigurationSettings(function(error, settings) { if (!error) { // You can get the value of setting "setting1" via settings['setting1'] } });
这些设置似乎保存在位于Azure计算机的c:\ Config \文件夹中的XML文件中。
我敢肯定,你不应该直接访问这些,但是你可以轻松地parsing这个XML,并在节点启动时读取设置。
- Azure上的Node.js和HBase(HDInsight)
- “应用程序已经抛出一个未捕获的exception,并终止:错误:听EACCES 0.0.0.0:80”
- Azure网站是否支持使用node.js的https?
- Nodejs上传base64图像到azure blob存储结果为“ResourceNotFound”错误
- 如何debugging本地运行的Azure node.js Web服务
- 天青云服务节点js“不是有效的服务包”
- 哪个azure色的选项适合我的使用node.js的TCP游戏服务器?
- Azure表存储只支持作为数据types的string?
- 使用Node.js Passport的Azure AD身份validation返回“此API版本不支持”