AWS IoT
开发人员指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

生命周期事件

AWS IoT 在以下各部分中讨论的 MQTT 主题下发布生命周期事件。借助这些消息,您可以接收消息代理发出的生命周期事件通知。

注意

生命周期消息可能不会按顺序发送。您可能会收到重复的消息。

连接/断开连接事件

AWS IoT 在客户端建立连接或断开连接时将消息发布到以下 MQTT 主题:

$aws/events/presence/connected/clientId

或者

$aws/events/presence/disconnected/clientId

其中 clientId 是连接到 AWS IoT 消息代理或与之断开连接的 MQTT 客户端 ID。

发布到该主题的消息具有以下结构:

{ "clientId": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6", "timestamp": 1460065214626, "eventType": "connected", "sessionIdentifier": "00000000-0000-0000-0000-000000000000", "principalIdentifier": "000000000000/ABCDEFGHIJKLMNOPQRSTU:some-user/ABCDEFGHIJKLMNOPQRSTU:some-user" }

下面是一系列 JSON 元素,发布到 $aws/events/presence/connected/clientId 主题的连接/断开连接消息中包含这些元素。

clientId

建立连接或断开连接的客户端的 ID。

注意

包含 # 或 + 的客户端 ID 不接收生命周期事件。

eventType

事件类型。有效值为 connecteddisconnected

principalIdentifier

用于执行身份验证的凭证。对于 TLS 双向身份验证证书,这是证书 ID。对于其他连接,这是 IAM 凭证。

sessionIdentifier

AWS IoT 中的全局唯一标识符,在会话持续时间内存在。

timestamp

大致的事件发生时间,使用自 Unix 纪元时间以来的毫秒数表示。时间戳的准确度是 +/- 2 分钟。

订阅/取消订阅事件

当客户端订阅或取消订阅 MQTT 主题时,AWS IoT 将向以下 MQTT 主题发布消息:

$aws/events/subscriptions/subscribed/clientId

或者

$aws/events/subscriptions/unsubscribed/clientId

其中 clientId 是连接到 AWS IoT 消息代理的 MQTT 客户端 ID。

发布到该主题的消息具有以下结构:

{ "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"] }

下面是一系列 JSON 元素,发布到 $aws/events/subscriptions/subscribed/clientId$aws/events/subscriptions/unsubscribed/clientId 主题的已订阅/未订阅消息中包含这些元素。

clientId

订阅或取消订阅的客户端的 ID。

注意

包含 # 或 + 的客户端 ID 不接收生命周期事件。

eventType

事件类型。有效值为 subscribedunsubscribed

principalIdentifier

用于执行身份验证的凭证。对于 TLS 双向身份验证证书,这是证书 ID。对于其他连接,这是 IAM 凭证。

sessionIdentifier

AWS IoT 中的全局唯一标识符,在会话持续时间内存在。

timestamp

大致的事件发生时间,使用自 Unix 纪元时间以来的毫秒数表示。时间戳的准确度是 +/- 2 分钟。

主题

客户端已订阅的一系列 MQTT 主题。

注意

生命周期消息可能不会按顺序发送。您可能会收到重复的消息。