Ibm cloud IBM云函数OpenWhisk node.js通过http调用WIOTP

Ibm cloud IBM云函数OpenWhisk node.js通过http调用WIOTP,ibm-cloud,watson-iot,openwhisk,Ibm Cloud,Watson Iot,Openwhisk,我试图在OpenWhisk序列(包含两个动作)中使用所有代码都是node.js 使用邮递员测试序列。一旦操作完成,该操作将返回变量payload。变量payload被传递到序列中的下一个操作,即openwhisk包watsoniotp(通过IBM云控制台中的绑定添加,因此我无法修改此代码,它被锁定) 我可以通过序列将邮递员的数据发布到Watson IoT平台。但是,有效负载的格式被解释为字符串,而不是JSON字符串 这是我从邮递员那里寄来的尸体,我试过的一种变体 {“有效载荷”:“{'speed

我试图在OpenWhisk序列(包含两个动作)中使用所有代码都是node.js

使用邮递员测试序列。一旦操作完成,该操作将返回变量
payload
。变量
payload
被传递到序列中的下一个操作,即openwhisk包watsoniotp(通过IBM云控制台中的绑定添加,因此我无法修改此代码,它被锁定)

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

这是我从邮递员那里寄来的尸体,我试过的一种变体

{“有效载荷”:“{'speed':10}”}

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

返回{payload:params.payload}

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


据我所知,openwhisk软件包watsontiotp代码只是按原样获取,
params.payload
并传递它

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

应嵌套有效负载。我本来没想到

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