Node.js 从Lambda向特定aws物联网核心设备发布消息

Node.js 从Lambda向特定aws物联网核心设备发布消息,node.js,aws-iot,Node.js,Aws Iot,我在我的物联网核心环境中注册了一些物联网设备。 我试图通过在发布mqtt主题的云中调用lambda来调用特定方法。显然,问题是我的所有设备(共享相同的代码)都听相同的主题 如何将我的msg定位到特定设备 这是我在lambda中运行的代码: exports.handler = async (event, context, callback) => { return new Promise((resolve, reject) => { var AWS = require('a

我在我的物联网核心环境中注册了一些物联网设备。 我试图通过在发布mqtt主题的云中调用lambda来调用特定方法。显然,问题是我的所有设备(共享相同的代码)都听相同的主题

如何将我的msg定位到特定设备

这是我在lambda中运行的代码:

exports.handler = async (event, context, callback) => {
  return new Promise((resolve, reject) => {
    var AWS = require('aws-sdk');
    var iotdata = new AWS.IotData({endpoint: 'xxxxxxxxxxxxxx.iot.eu-west-1.amazonaws.com'});

    var params = {
        topic: 'mytopic',
        payload: 'mypayload',
        qos: 0
    };

return iotdata.publish(params, function(err, data) {
    if(err){
        console.log(err);
    }
    else{
        console.log("Success, I guess.");
        //context.succeed();
    }
});

//  });
//};

将目标设备名称放入有效负载中。然后,您的设备代码必须检查有效负载中的设备名称。

将目标设备名称放入有效负载中。然后,您的设备代码必须检查有效负载中的设备名称。

检查所有设备上的每个传入消息听起来像是一个糟糕的计划。如果您的所有其他设备都收听相同的主题,那么就没有其他方法了。或者,您可以让每个设备订阅一个额外的唯一主题,然后只发布到该设备的主题。检查所有设备上的每个传入消息听起来像是一个糟糕的计划。如果您的所有其他设备都收听相同的主题,则没有其他方法来执行此操作。或者,您可以让每个设备订阅一个额外的唯一主题,然后发布到该设备的主题。