【发布时间】:2021-06-05 11:42:36
【问题描述】:
我正在使用IBM Cloud functions 从IBM Watson Discovery 请求一些结果。有一个非常好的 GitHub repo here 关于我们如何调用它。但是,在函数中设置操作的过程中,出现错误消息 Cannot find module 'ibm-watson/auth'。我理解消息的内容,但如果您查看 GitHub 存储库,您会发现我应用了完全相同的步骤。我的 IBM Cloud 功能代码是:
case 'doc_info':
var user_input = params.user_input;
const watson = require('ibm-watson/sdk');
const { CloudantV1 } = require('@cloudant/cloudant');
const DiscoveryV1 = require('ibm-watson/discovery/v1');
const { IamAuthenticator } = require('ibm-watson/auth');
//const { IamAuthenticator } = require('ibm-cloud-sdk-core');
try {
const discovery = new DiscoveryV1({ // Initializing Discovery
version: '2020-11-24',
authenticator: new IamAuthenticator({
apikey: params.apiKeyDisco,
}),
serviceUrl: params.urlDisco,
});
const cloudant = new CloudantV1({ // Initializing CloudantV1
authenticator: new IamAuthenticator({
apikey: params.apiKeyCloudant
})
});
cloudant.setServiceUrl(params.urlCloudant);
// ...
return {
answer: "Simple test"
};
} catch (err) {
console.log(err)
return Promise.reject({
statusCode: 500,
headers: { 'Content-Type': 'application/json' },
body: { message: err.message },
});
}
break;
我什至尝试从 ibm-cloud-sdk-core 包中调用 IamAuthenticator,但是错误是 IamAuthenticator 不是构造函数。我们如何解决这个问题?
【问题讨论】:
-
您使用的是哪个节点版本?你如何创建动作?
-
我已经在版本 12 上对其进行了测试,它正在工作,但在版本 10 上 - 失败了。我知道版本 10 的支持即将结束,但它是作为在 V10 中编写函数的要求而提供给我的。任何想法如何使它在 V10 上工作
标签: ibm-cloud ibm-watson ibm-cloud-functions