AWS IoT получает сообщение - PullRequest
       33

AWS IoT получает сообщение

0 голосов
/ 21 ноября 2018

Здравствуйте, я пытаюсь получить сообщение от AWS IoT.Для публикации я использую php-sdk

use Aws\IotDataPlane\IotDataPlaneClient

$connectionParams = [
            'version' => 'latest',
            'region'  => $region,
            'credentials' => [
                'key' => $key,
                'secret' => $secret,
            ]
];

$this->client = new IotDataPlaneClient($connectionParams);
$this->client->publish([
                "payload" => $message,
                'qos' => 1,
                'topic' => $topic,
            ]);

Но у меня нет никакого способа получения.Кто-нибудь знает, как подключаться и получать сообщения?

1 Ответ

0 голосов
/ 21 ноября 2018

Вам необходимо подписаться на тему MQTT.У вас есть несколько вариантов.

  1. Вы можете подключить брокер с Lambda, к Kinesis, SNS и т. Д. Таким образом, ваш обработчик получения может существовать в lambda.
  2. Вы можете написать код для подпискисамому брокеру MQTT и поместите его в EC2, ECS и т. д. с соответствующими ролями / политиками IAM.Конечная точка IoT фактически является брокером MQTT, так что это единственная конфигурация, которая вам понадобится для получения сообщений.Конечная точка отображается в AWS IoT> Настройки> Настраиваемая конечная точка

Лямбда для приема сообщений будет выглядеть примерно так, если событие является входящим MQTT-сообщением

const AWS = require('aws-sdk');

exports.handler = (event, context, callback) => {
    const id = event.id;
    const chan0 = event.chan0;
}    
...