我想从OpenWhisk操作访问另一个Bluemix服务,而不想从外部传递凭据。似乎VCAP_SERVICES不存在于JVM的环境中。有没有办法检索它?
答案 0 :(得分:2)
确实OpenWhisk中没有VCAP_SERVICES
环境变量。
如果您在Bluemix中使用Cloudant服务,您会注意到Bluemix中的OpenWhisk会自动为您的Cloudant服务实例创建包绑定,如OpenWhisk Catalog documentation中所述。
在我的OpenWhisk开发中,我采用的策略是创建一个我定义参数的包。然后我在这个包中创建我的动作。所有操作都继承了包中定义的参数,因此这为我提供了一种共享服务凭据的简单方法。如果我只有一个动作或没有包,我会在创建时将凭证作为参数传递给动作。
此处https://github.com/IBM-Bluemix/openwhisk-visionapp的示例我在其中初始化我的操作:
wsk action create -p cloudantUrl [URL] -p cloudantDbName openwhisk-vision -p watsonApiKey [123] vision-analysis analysis.js