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

Val*_*kin 0 node-red ibm-cloud

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

var services = context.global.VCAP_SERVICES;
var env_cloudint = services['CloudIntegration'][0].credentials;
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

TypeError: Cannot read property 'CloudIntegration' of undefined
Run Code Online (Sandbox Code Playgroud)

我的确有CloudIntegration VCAP_SERVICES.我的代码中是否需要额外的内容才能利用VCAP_SERVICES

Val*_*kin 6

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

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

functionGlobalContext: { VCAP_SERVICES: JSON.parse(process.env.VCAP_SERVICES)}
Run Code Online (Sandbox Code Playgroud)

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