AWS Лямбда работает при сохранении и тестировании. Отклоняет shadowName в updateThingShadow после публикации - PullRequest
0 голосов
/ 02 августа 2020
"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.

...