首页 文章

IBM Cloud Function OpenWhisk node.js通过http调用WIOTP

提问于
浏览
0

我试图在OpenWhisk序列中使用https://github.com/ibm-watson-iot/openwhisk-package-watsoniotp(包含两个动作)所有代码都是node.js

使用Postman测试序列 . 操作完成后,操作将返回变量 payload . 变量 payload 被传递给序列中的下一个动作,即openwhisk-package-watsoniotp(通过IBM Cloud Console中的绑定添加,因此我无法修改此代码,它被锁定) .

我可以通过序列将邮递员的数据发布到Watson IoT平台 . 但是,有效内容的格式被解释为String,而不是JSON字符串 .

这是我从Postman发布的身体,我试过的变种之一 .

{"payload": "{'speed': 10}"}

我的node.JS操作返回未经修改的输入 .

return {payload: params.payload};

该值应为JSON字符串 . 但是,WIOTP无法解释有效负载并基本上将值标记化 . 当我尝试创建一个板卡和一张卡片时,这一点很明显 . 属性列表允许我选择数组中的每个值 .
enter image description here

就我而言,openwhisk-package-watsontiotp代码只需要 params.payload 并传递它 .

1 回答

  • 1

    我在代码中找到了一个回答问题的例子,

    有效负载应该是嵌套的 . 我最初错过了 .

    {
        "key": "sampleInput",
            "value": {
            "eventType": "status",
                "payload": {
                "temp": 4
            },
            "domain": "messaging.internetofthings.ibmcloud.com",
                "typeId": "xxxx",
                    "deviceId": "xxxx01"
        }
    }
    

相关问题