Получение NULL и ошибка 403 при попытке подписаться на пользовательскую тему AWS-IOT - PullRequest
0 голосов
/ 16 февраля 2019

У меня есть приложение узла, и я использую aws-iot-sdk для установления соединения с ядром IOT.Я делаю динамическую тему и у меня есть правило для того же, которое передает сообщение в лямбду, а лямбда выполняет некоторую внутреннюю обработку.Сейчас я пытаюсь подписаться на тему в моем приложении узла, которую я переиздаю через действие механизма правил.Я новичок в AWS IOT SDK и застрял из-за "нулевого", которое я получаю, пожалуйста, наведите меня.

Я пытался посетить документ aws-iot-sdk ,выполнил шаги, которые они написали, но я не могу пройти через то же самое.Если я просто публикую и не подписываюсь в приложении узла, я получаю ответ через SNS, но не могу вернуться в приложение.

Мой код узла:

ar awsIot = require('aws-iot-device-sdk');

var name = 'My Thing name';
const TAG = '[' + name + '] >>>>>>>>> ';
const INIT_DELAY = 15;
var app = awsIot.device({
    keyPath: 'My private key',
    certPath: 'My Cert path',
    caPath: 'My Root cert Path',
    clientId: name,
    region: 'the region',
    host: "<host addr>",
});






app.on('connect', () => {
    try{
        app.subscribe('/postacttest/response', (event) => {
            console.log(event);
        });
    } catch(err) {
        console.log(err);
    }

    app.publish('/getacttest/client1', JSON.stringify(
        {
            state: {
                desired: {
                    message: "GET_TEST_RESULT",
                    clientId: "AWSNODECLIENT"
                }
            }
        }
    ));

})

Подписанэто ответ, который я получаю:

null

Следующее правило, которое я пишу на AWS:

SELECT state.desired.clientId AS clientId 
FROM "/getacttest/#" 
WHERE state.desired.message="GET_TEST_RESULT"

Пожалуйста, укажите мне, какя должен подписаться на тему и показать результат, как мы можем сделать, используя mqtt.js , что похоже на WebSocket.

Если я настраиваю свой объект подключения, как показано ниже, я получаю ошибку какпоказано в той же области терминала pic'c ниже: Error Dec]

Я написал все правила разрешений и действий для моей службы ACT.

1 Ответ

0 голосов
/ 19 февраля 2019

Я изменил объект конфигурации устройства, чтобы иметь допустимое значение региона.Все заработало нормально.

...