Получить Thing Shadow of Aws iot thing в лямбда-функции

Я пытался получить тень ресурса aws iot в лямбда-функции, но данный код дает нулевое значение при успехе вместо данных. Пожалуйста, дайте мне знать, в чем проблема, и какие изменения мне нужно сделать, чтобы она работала нормально. Заранее спасибо.

var AWS=require('aws-sdk');
var iotdata = new AWS.IotData({endpoint: 'XXXXXXXXX.iot.us-east-1.amazonaws.com'});
var params = {
thingName: 'thing_name' /* required */
};

exports.handler=function(event,context){
payload1=new Buffer(event.payload);
console.log(payload1); 
iotdata.getThingShadow(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response

  context.succeed(data);

});

};

person s.muttu    schedule 02.06.2016    source источник
comment
если вы запустите aws iot list-things из интерфейса командной строки, что будет на выходе?   -  person Kyle Roche    schedule 03.06.2016


Ответы (1)


Есть несколько мест, которые нужно изменить. Вот новый код:

getIotShadow: function (thingName) {
    config.IOT_BROKER_ENDPOINT = "xxxxxxxxx.iot.us-east-1.amazonaws.com"; // also called the REST API endpoint
    config.IOT_BROKER_REGION = "us-east-1"; // eu-west-1 corresponds to the Ireland Region.  Use us-east-1 for the N. Virginia region
    config.IOT_THING_NAME = thingName;
    AWS.config.region = config.IOT_BROKER_REGION;
    var iotData = new AWS.IotData({
        endpoint: config.IOT_BROKER_ENDPOINT
    });

    var paramsGet = {
        "thingName": config.IOT_THING_NAME /* required */
    };

    iotData.getThingShadow(paramsGet, function (err, data) {
        if (err) {
            console.log("Error : " + err, err.stack);
        } else {
            console.log(JSON.stringify(data));
        }
    });
}
person Aarth Tandel    schedule 19.06.2018