有什么方法可以检查 and/or 有多少连接到 IoT 主题?

Is there any way to check if and/or how many are connected to IoT topic?

我已经阅读了所有内容:aws-sdk 文档、IoT 文档、控制台文档。


真的没什么要补充的了:

有没有办法检查 and/or 有多少订阅者订阅了 AWS IoT 主题?骇人听闻的方式?


This question 问一些大致相似但又不一样的问题,而且没有答案。

没有简单的方法可以直接从 AWS IoT 查询该信息。但是由于您要求 "hacky ways",所以有一种方法可以使用来自 AWS Reserved Topics 的消息数据来检测任何设备何时订阅和取消订阅主题 - 特别是以下主题:

$aws/events/subscriptions/subscribed/{clientId}
$aws/events/subscriptions/unsubscribed/{clientId}

您可以创建一个 IoT 规则,将所有 subscribedunsubscribed 事件从这些保留主题转发到 S3、DynamoDB 或 RDS 以供查询。在 DynamoDB 中增加订阅和减少取消订阅的简单 Lambda 函数也可以很好地工作。 (DynamoDB Atomic Counter)

邮件正文也如下所示 - 来自 Subscribe/Unsubscribe Events

{
    "clientId": "186b5",
    "timestamp": 1460065214626,
    "eventType": "subscribed" | "unsubscribed",
    "sessionIdentifier": "00000000-0000-0000-0000-000000000000",
    "principalIdentifier": "000000000000/ABCDEFGHIJKLMNOPQRSTU:some-user/ABCDEFGHIJKLMNOPQRSTU:some-user"
    "topics" : \["foo/bar","device/data","dog/cat"\]
}