我已经从Bluemix克隆了 Concept Insights 演示并进行了一些小改动以使用我自己的语料库。它在本地运行正常,但是当我将其部署到Bluemix时,我在尝试访问我的语料库时收到授权错误。我确定该错误是由 app.js 提前调用 bluemix.getServiceCreds('concept_insights') 的结果,显然用一些必须存储在Bluemix环境中的服务凭证替换我的服务凭证。
有人可以解释一下这个函数的用途,以及我正在尝试做的正确方法吗?我可能只是删除了对该函数的调用,但我担心如果我这样做,我可能会丢失一部分大图。这是一种将我的凭据保留在代码库之外的方法吗?如果是这样,我该如何使其发挥作用?
答案 0 :(得分:0)
bluemix.getServiceCreds('concept_insights')
从Bluemix创建的concept_insights
变量中获取VCAP_SERVICES
服务凭据。 (见VCAP_SERVICES)
您可能希望使用环境中的凭据,而不是在app.js
文件中对其进行硬编码。
当您的应用在本地运行时,您需要对app.js
中的凭据进行硬编码,但是当它在Bluemix中运行时,这些凭据会被覆盖。如果您不希望发生这种情况,请删除bluemix.getServiceCreds('concept_insights')
var credentials = {
url: 'https://gateway.watsonplatform.net/concept-insights/api',
username: '<username>',
password: '<password>',
version: 'v2'
};
如果您使用Beta
计划,则必须使用https://gateway.watsonplatform.net/concept-insights/api
作为url
。