Node.js 如何将参数从Watson Assistant传递到部署在IBM cloud上的云函数中
我正在努力实现的目标: 将参数传递到部署在IBMCloud上的云函数中 我所尝试的: 下面是我保存在Watson Assistant节点中并试图传递给IBMCloud函数的参数Node.js 如何将参数从Watson Assistant传递到部署在IBM cloud上的云函数中,node.js,ibm-cloud,ibm-watson,watson-assistant,Node.js,Ibm Cloud,Ibm Watson,Watson Assistant,我正在努力实现的目标: 将参数传递到部署在IBMCloud上的云函数中 我所尝试的: 下面是我保存在Watson Assistant节点中并试图传递给IBMCloud函数的参数 "parameters": { "startTime": "$startTime", "locationName": "$locationName" }, 下面是我用来连接IBM cloud功能的代码: { "context": { "private": { "my_credentials":
"parameters": {
"startTime": "$startTime",
"locationName": "$locationName"
},
下面是我用来连接IBM cloud功能的代码:
{
"context": {
"private": {
"my_credentials": {
"user": "{*//user_id}",
"password": "{*//password}"
}
},
"startTime": "@sys-date",
"locationName": "@TaiwanArea"
},
"output": {
"generic": []
},
"actions": [
{
"name": "/itouristworld_dev/itouristweather/weather",
"type": "cloud_function",
"parameters": {
"locationName": "$locationName"
},
"credentials": "$private.my_credentials",
"result_variable": "result"
}
]
所以我认为参数$startTime和$locationName应该传递给IBMCloud函数
"parameters": {
"startTime": "$startTime",
"locationName": "$locationName"
},
然后在我的IBM cloud函数中,我使用以下代码:
var request = require("request-promise");
function main(params) {
var options = {
url: "https://opendata.cwb.gov.tw/api/v1/rest/datastore/F-C0032-001?format=json",
headers: {
Authorization: "{key}"
},
qs: {
locationName: `${params.locationName}`
},
json: true,
encoding: "utf-8"
};
return new Promise(function (resolve, reject) {
request(options, function (err, resp) {
if (err) {
console.log(err);
return reject({err: err});
}
return resolve({response: resp.body});
});
});
}
响应给了我整个JSON数据包。
例如,如果我想问华生助理“今天台北的天气如何?”
它给了我所有的台湾条件,而不是台北地区,我应该将“Taipei”存储为$locationName
我观察到的
我用“新北市"(区域名称)和IBM cloud函数中的param.loactionName。它给出了以下响应:
【参数-->】新北市“]它为我提供了与参数匹配的正确区域
啟動 ID:
4aa67d030b8d45b6a67d030b8db5b6c4
結果:
{
"response": {
"records": {
"datasetDescription": "三十六小時天氣預報",
"location": [
{
"locationName": "新北市",
"weatherElement": [
{
"elementName": "Wx",
"time": [
{
"endTime": "2019-05-18 06:00:00",
"parameter": {
"parameterName": "多雲",
"parameterValue": "4"
},
"startTime": "2019-05-17 18:00:00"
},
{
"endTime": "2019-05-18 18:00:00",
"parameter": {
"parameterName": "多雲",
"parameterValue": "4"
},
"startTime": "2019-05-18 06:00:00"
},
{
"endTime": "2019-05-19 06:00:00",
"parameter": {
"parameterName": "多雲",
"parameterValue": "4"
},
"startTime": "2019-05-18 18:00:00"
}
]
},
{
"elementName": "PoP",
"time": [
{
"endTime": "2019-05-18 06:00:00",
"parameter": {
"parameterName": "20",
"parameterUnit": "百分比"
},
"startTime": "2019-05-17 18:00:00"
},
{
"endTime": "2019-05-18 18:00:00",
"parameter": {
"parameterName": "10",
"parameterUnit": "百分比"
},
"startTime": "2019-05-18 06:00:00"
},
{
"endTime": "2019-05-19 06:00:00",
"parameter": {
"parameterName": "10",
"parameterUnit": "百分比"
},
"startTime": "2019-05-18 18:00:00"
}
]
},
{
"elementName": "MinT",
"time": [
{
"endTime": "2019-05-18 06:00:00",
"parameter": {
"parameterName": "25",
"parameterUnit": "C"
},
"startTime": "2019-05-17 18:00:00"
},
{
"endTime": "2019-05-18 18:00:00",
"parameter": {
"parameterName": "25",
"parameterUnit": "C"
},
"startTime": "2019-05-18 06:00:00"
},
{
"endTime": "2019-05-19 06:00:00",
"parameter": {
"parameterName": "24",
"parameterUnit": "C"
},
"startTime": "2019-05-18 18:00:00"
}
]
},
{
"elementName": "CI",
"time": [
{
"endTime": "2019-05-18 06:00:00",
"parameter": {
"parameterName": "舒適"
},
"startTime": "2019-05-17 18:00:00"
},
{
"endTime": "2019-05-18 18:00:00",
"parameter": {
"parameterName": "舒適至悶熱"
},
"startTime": "2019-05-18 06:00:00"
},
{
"endTime": "2019-05-19 06:00:00",
"parameter": {
"parameterName": "舒適至悶熱"
},
"startTime": "2019-05-18 18:00:00"
}
]
},
{
"elementName": "MaxT",
"time": [
{
"endTime": "2019-05-18 06:00:00",
"parameter": {
"parameterName": "26",
"parameterUnit": "C"
},
"startTime": "2019-05-17 18:00:00"
},
{
"endTime": "2019-05-18 18:00:00",
"parameter": {
"parameterName": "32",
"parameterUnit": "C"
},
"startTime": "2019-05-18 06:00:00"
},
{
"endTime": "2019-05-19 06:00:00",
"parameter": {
"parameterName": "29",
"parameterUnit": "C"
},
"startTime": "2019-05-18 18:00:00"
}
]
}
]
}
]
},
"result": {
"fields": [
{
"id": "datasetDescription",
"type": "String"
},
{
"id": "locationName",
"type": "String"
},
{
"id": "parameterName",
"type": "String"
},
{
"id": "parameterValue",
"type": "String"
},
{
"id": "parameterUnit",
"type": "String"
},
{
"id": "startTime",
"type": "Timestamp"
},
{
"id": "endTime",
"type": "Timestamp"
}
],
"resource_id": "F-C0032-001"
},
"success": "true"
}
}
日誌:
[]
【参数-->params.locationName】它给我位置[],然后我返回给Watson助手检查对话,即使我键入“新北市“作为关键字,我仍然得到位置[]作为反馈
啟動 ID:
6e18ca5d4dfe457198ca5d4dfe45712c
結果:
{
"response": {
"records": {
"datasetDescription": "三十六小時天氣預報",
"location": []
},
"result": {
"fields": [
{
"id": "datasetDescription",
"type": "String"
},
{
"id": "locationName",
"type": "String"
},
{
"id": "parameterName",
"type": "String"
},
{
"id": "parameterValue",
"type": "String"
},
{
"id": "parameterUnit",
"type": "String"
},
{
"id": "startTime",
"type": "Timestamp"
},
{
"id": "endTime",
"type": "Timestamp"
}
],
"resource_id": "F-C0032-001"
},
"success": "true"
}
}
日誌:
[]
你的问题有点混乱。你需要重新设计问题,使其有意义,并给潜在的响应者一个机会来帮助你。从基础开始-你试图实现什么?你尝试过什么?你展示的代码是什么?你期望它如何工作?你实际观察到了什么功能?基于你所做的我已经写过,我大约有25%的信心您正在尝试将参数传递到部署在IBM cloud上的云函数中,但这实际上只是一个猜测。感谢您的建议,很抱歉我的英语很差,我刚刚学习了如何编码,所以我不知道如何正确表达我的问题。我修改了我的问题,希望我的问题更加具体,它可以告诉你我的问题是什么。对于你的简单功能,云功能激活日志显示了什么?嗨,data_henrik,谢谢你的回答,我对代码做了一点修改。请参考一下,看看你是否知道我哪里做错了,谢谢你的耐心和善意的帮助。你的问题有点混乱。你需要修改代码让它变得有意义,给潜在的响应者一个机会来帮助你。从基础开始-你想要实现什么?你尝试了什么?你展示的代码是什么?你期望它如何工作?你实际观察到了什么功能?根据你写的,我大约有25%的信心你正在尝试g将参数传递到部署在IBM cloud上的云函数中,但这实际上只是一个猜测。感谢您的建议,对不起,我的英语很差,我只是学习了如何编码,所以我不知道如何正确表达我的问题。我修改了我的问题,使其更具体,希望它能告诉您我的问题是什么。对于您的简单函数ion,云功能激活日志显示了什么?嗨,data_henrik,谢谢你的回复,我稍微更改了代码。请参考一下,看看你是否知道我哪里做错了,谢谢你的耐心和善意的帮助。