单个主题的设备数量没有限制。该服务的主要优点之一是它几乎可以无限扩展。这是所有的完整列表AWS IoT 限制 http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_iot.
没有简单的方法可以查询直接从 AWS IoT 连接的设备数量。但是有一种方法可以使用来自的消息数据来检测任何设备何时订阅和取消订阅主题AWS 保留主题 http://docs.aws.amazon.com/iot/latest/developerguide/topics.html#reserved-topics- 特别是以下主题:
$aws/events/subscriptions/subscribed/{clientId}
$aws/events/subscriptions/unsubscribed/{clientId}
您可以创建一个 IoT 规则,将所有订阅和取消订阅的事件从这些保留主题转发到 S3、DynamoDB 或 RDS 以供查询。一个简单的 Lambda 函数可以在 DynamoDB 中增加订阅量并减少取消订阅量,也能很好地工作。 (DynamoDB 原子计数器 http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html#API_UpdateItem_Example_Atomic_Counter)
这也是消息正文的样子 - 来自订阅/取消订阅事件 http://docs.aws.amazon.com/iot/latest/developerguide/life-cycle-events.html#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"\]
}