为什么Node-RED无法解析Bluemix中的VCAP_SERVICES环境?

时间:2015-05-06 17:27:10

标签: ibm-cloud node-red

我正在使用Node-RED并想要在Bluemix VCAP_SERVICES中进行解析,但是我收到了一个错误。我的代码是:

var services = context.global.VCAP_SERVICES;
var env_cloudint = services['CloudIntegration'][0].credentials;

但是我收到了这个错误:

TypeError: Cannot read property 'CloudIntegration' of undefined

我的VCAP_SERVICES中确实有CloudIntegration。我的代码中是否需要额外的内容来利用VCAP_SERVICES

1 个答案:

答案 0 :(得分:6)

默认情况下,环境变量不会添加到Function全局上下文对象中。要从Node-RED流中访问Bluemix VCAP_SERVICES环境变量,您需要将其添加到Function节点的全局上下文中。

编辑 bluemix-settings.js 并在functionGlobalContext属性中添加一个条目:

functionGlobalContext: { VCAP_SERVICES: JSON.parse(process.env.VCAP_SERVICES)}

然后重新部署您的应用。重新部署后,您可以在Function节点中访问VCAP_SERVICES作为context.global.VCAP_SERVICES变量。