"use strict";
const AWS = require("aws-sdk");
exports.setBatteryStatus = async (status) => {
let iot = new AWS.Iot();
let epd = await iot.describeEndpoint({endpointType: 'iot:Data'}).promise();
console.log(JSON.stringify(epd));
let iotdata = new AWS.IotData({endpoint: epd.endpointAddress
// apiVersion:'2015-05-28'
});
console.log('IotData');
let payload = {
state: {
reported: status
}
};
return iotdata.updateThingShadow(
{
payload: Buffer.from(JSON.stringify(payload)),
thingName: '****',
shadowName: 'batteryStatus'
}
).promise();
};
Это работает, когда я сохраняю и тестирую свой лямбда-код. Однако как только я нажимаю Publi sh, я получаю
«Неожиданный ключ 'shadowName' обнаружен в params»
У меня есть arn для этой вещи, плюс / * по пути в разрешениях. Это похоже на проблему с версией библиотеки, но я использую лямбду с последней версией node.js и, следовательно, предположительно последней библиотекой aws.