我在 IBM 中创建了一个非常简单的云函数,我尝试通过 Watson 助手调用它。当我调用它时,出现错误“直接 CloudFunctions 调用不成功。Http 响应代码为 [401]”。
下面是我正在使用的代码。“prodname”取自用户并发送到函数以获取答案。当我调用它时,该功能工作正常。我从https://cloud.ibm.com/openwhisk/learn/api-key获得 ID 和密码。
{
"context": {
"credentials": {
"user": "userID",
"password": "password"
}
},
"output": {
"text": {
"values": [
"$answer"
]
}
},
"actions": [
{
"name": "arllambi%2540gmail.com_Only/Watson/MovieBot",
"type": "cloud_function",
"parameters": {
"prodname": "$prodname"
},
"result_variable": "answer",
"credentials": "$credentials"
}
]
}
凭据是否可能存在问题?
提前感谢您的帮助。
******重新编辑******
正如 data_henrik 所建议的,我提供了更多信息。我调用的函数如下,一个非常简单的回显函数:
function main(msg){
return {answer: "You said " +msg.prodname};
}
我将 cloud_function 更改为 web_action,web_action 通过邮递员可以正常工作:
{
"output": {
"text": {
"values": [
"$answer"
]
}
},
"actions": [
{
"name": "arllambi@gmail.com_Only/Watson/MovieBot.json",
"type": "web_action",
"parameters": {
"prodname": "<?input.text?>"
},
"result_variable": "context.answer"
}
]
}
我现在收到的消息是“直接 CloudFunctions 调用不成功。Http 响应代码是 [404]”。助手也回答“with {“cloud_functions_call_error”:“请求的资源不存在。”}
阿德里亚