У меня есть приложение узла, и я использую 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 ниже:
Я написал все правила разрешений и действий для моей службы ACT.