【问题标题】:AWS IoT receive messageAWS IoT 接收消息
【发布时间】:2019-04-24 00:38:27
【问题描述】:

您好,我尝试从 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,
            ]);

但我没有任何接收方法。有谁知道如何连接和接收消息?

【问题讨论】:

    标签: php amazon-web-services aws-sdk iot aws-iot


    【解决方案1】:

    您需要订阅 MQTT 主题。你有几个选择。

    1. 您可以将代理与 Lambda 连接到 Kinesis、SNS 等。因此您的接收处理程序可以存在于 lambda 中。
    2. 您可以编写代码自己订阅 MQTT 代理,并将其放入具有适当 IAM 角色/策略的 EC2、ECS 等。 IoT 端点实际上是一个 MQTT 代理,因此这是您接收消息所需的唯一配置。端点在 AWS IoT > 设置 > 自定义端点上可见

    接收消息的 Lambda 看起来像这样,其中事件是入站 MQTT 消息

    const AWS = require('aws-sdk');
    
    exports.handler = (event, context, callback) => {
        const id = event.id;
        const chan0 = event.chan0;
    }    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-28
      • 1970-01-01
      • 2017-05-29
      • 2018-03-25
      • 2020-02-10
      • 2020-04-23
      相关资源
      最近更新 更多