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

注册表事件

在创建、更新或删除了事物、事物类型和事物组时,AWS IoT 设备注册表将发布事件消息。AWS IoT 注册表当前支持以下事件类型:

thingEvent

创建、更新或删除事物时发送。

thingTypeEvent

创建、弃用、取消弃用或删除事物类型时发送。

thingTypeAssociationMessage

事物与事物类型关联或取消关联时发送。

thingGroupEvent

创建、更新或删除事物组时发送。

thingGroupMembershipEvent

在事物组中添加或删除事物时发送。

thingGroupHeirarchyEvent

在事物组父级中添加或删除事物组时发送。

注册表事件消息使用以下 MQTT 主题发布:

$aws/events/thing/<thingName>/[ created | updated | deleted ]

发布 thing 事件的主题。

$aws/events/thingGroup/<groupName>/[ created | updated | deleted ]

发布 thingGroup 事件的主题。

$aws/events/thingType/<thingTypeName>/[ created | updated | deleted ]

发布 thingType 事件的主题。

$aws/events/thingTypeAssociation/thing/<thingName>/<typeName>

发布 thingTypeAssociation 事件的主题。

$aws/events/thingGroupMembership/thingGroup/<thingGroupName>/thing/<thingName>/[ added | removed ]

发布 thingGroupMembership 事件的主题。

$aws/events/thingGroupHierarchy/thingGroup/<parentThingGroupName>/childThingGroup/<childThingGroupName>[ added | removed ]

发布 thingGroupHierarchyEvent 事件的主题。

注意

保证事件消息发布一次。事件消息可能会多次发布。事件消息的顺序无法保证。

事物事件

thingEvent 的负载包含以下属性:

eventType

thingEvent 事件设置为“thingEvent”。

eventId

唯一事件 ID (字符串)。

timestamp

事件发生的 UNIX 时间戳。

operation

触发事件的操作。有效值为:

  • CREATED

  • UPDATED

  • DELETED

accountId

您的 AWS 账户 ID。

thingId

要创建、更新或删除的事物的 ID。

thingName

要创建、更新或删除的事物的名称。

versionNumber

要创建、更新或删除的事物的版本。在创建事物时,此值设置为 1。每次更新事物时,此值增加 1。

thingTypeName

与事物关联的事物类型 (如果存在)。否则为 null

属性

与事物关联的名称/值对的集合。

下面是创建一个事物时发布的负载示例。

{ "eventType" : "thingEvent", "eventId" : "f5ae9b94-8b8e-4d8e-8c8f-b3266dd89853", "timestamp" : 1502210967087, "operation" : "CREATED", "accountId" : "123456789012", "thingId" : "b604f69c-aa9a-4d4a-829e-c480e958a0b5", "thingName" : "MyThing", "versionNumber" : 1, "thingTypeName" : null, "attributes": { "attribute3": "value3", "attribute1": "value1", "attribute2": "value2" } }

下面是更新一个事物时发布的负载示例。

{ "eventType" : "thingEvent", "eventId" : "b930023e-2348-4f9a-8b75-ba519742bd8a", "timestamp" : 1502211188141, "operation" : "UPDATED", "accountId" : "123456789012", "thingId" : "b604f69c-aa9a-4d4a-829e-c480e958a0b5", "thingName" : "MyThing", "versionNumber" : 2, "thingTypeName" : null, "attributes": { "attribute3": "value3", "attribute1": "value1", "attribute2": "value2" } }

下面是删除一个事物时发布的负载示例。

{ "eventType" : "thingEvent", "eventId" : "46b0b159-cd50-4b6d-afe7-8b737d997471", "timestamp" : 1502210700975, "operation" : "DELETED", "accountId" : "123456789012", "thingId" : "b604f69c-aa9a-4d4a-829e-c480e958a0b5", "thingName" : "MyThing", "versionNumber" : 2, "thingTypeName" : null, "attributes": { "attribute3": "value3", "attribute1": "value1", "attribute2": "value2" } }

事物类型事件

thingTypeEvent 事件的负载包含以下属性:

eventType

thingTypeEvent 事件设置为“thingTypeEvent”。

eventId

唯一事件 ID (字符串)。

timestamp

事件发生的 UNIX 时间戳。

operation

触发事件的操作。有效值为:

  • CREATED

  • DEPRECATED

  • DELETED

accountId

您的 AWS 账户 ID。

thingTypeId

要创建、弃用或删除的事物类型的 ID。

thingTypeName

要创建、弃用或删除的事物类型的名称。

isDeprecated

如果事物类型已弃用,则为 true。否则为 false

deprecationDate

弃用事物类型的 UNIX 时间戳。

searchableAttributes

与可用于搜索的事物类型关联的名称/值对集合。

description

事物类型的描述。

下面是创建一个事物类型时发布的负载示例。

{ "eventType" : "thingTypeEvent", "eventId" : "8827376c-4b05-49a3-9b3b-733729df7ed5", "timestamp" : 1502140154962, "operation" : "CREATED", "accountId" : "123456789012", "thingTypeId" : "c530ae83-32aa-4592-94d3-da29879d1aac", "thingTypeName" : "MyThingType", "isDeprecated" : false, "deprecationDate" : null, "searchableAttributes" : [ "attribute1", "attribute2", "attribute3" ], "description" : "My thing type" }

下面是弃用一个事物类型时发布的负载示例。

{ "eventType" : "thingTypeEvent", "eventId" : "8827376c-4b05-49a3-9b3b-733729df7ed5", "timestamp" : 1502140154962, "operation" : "UPDATED", "accountId" : "123456789012", "thingTypeId" : "c530ae83-32aa-4592-94d3-da29879d1aac", "thingTypeName" : "MyThingType", "isDeprecated" : true, "deprecationDate" : 1502212522970, "searchableAttributes" : [ "attribute1", "attribute2", "attribute3" ], "description" : "My thing type" }

下面是删除一个事物类型时发布的负载示例。

{ "eventType" : "thingTypeEvent", "eventId" : "8827376c-4b05-49a3-9b3b-733729df7ed5", "timestamp" : 1502216007699, "operation" : "DELETED", "accountId" : "123456789012", "thingTypeId" : "c530ae83-32aa-4592-94d3-da29879d1aac", "thingTypeName" : "MyThingType", "isDeprecated" : true, "deprecationDate" : 1502212522970, "searchableAttributes" : [ "attribute1", "attribute2", "attribute3" ], "description" : "My thing type" }

事物组事件

thingGroupEvent 事件的负载包含以下属性:

eventType

thingGroupEvent 事件设置为“thingGroupEvent”。

eventId

唯一事件 ID (字符串)。

timestamp

事件发生的 UNIX 时间戳。

operation

触发事件的操作。有效值为:

  • CREATED

  • UPDATED

  • DELETED

accountId

您的 AWS 账户 ID。

thingGroupId

要创建、更新或删除的事物组的 ID。

thingGroupName

要创建、更新或删除的事物组的名称。

versionNumber

事物组的版本。在创建事物组时,此值设置为 1。每次更新事物组时,此值增加 1。

parentGroupName

父事物组的名称 (如果存在)。

parentGroupId

父事物组的 ID (如果存在)。

description

事物组的描述。

rootToParentThingGroups

有关父事物组的信息数组。每个父事物组都有一个条目,以当前事物组的父级开始,继续直至达到根事物组。每个条目均包含事物组名称和事物组 ARN。

属性

与事物组关联的名称/值对的集合。

下面是创建一个事物组时发布的负载示例。

{ "eventType" : "thingGroupEvent", "eventId" : "87f8e095-531c-47b3-aab5-5171364d138d", "timestamp" : 1502141209886, "operation" : "CREATED", "accountId" : "123456789012", "thingGroupId" : "8f82a106-6b1d-4331-8984-a84db5f6f8cb", "thingGroupName" : "MyRootThingGroup", "versionNumber" : 1, "parentGroupName" : null, "parentGroupId" : null, "description" : "My root thing group", "rootToParentThingGroups" : null, "attributes" : { "attribute1" : "value1", "attribute3" : "value3", "attribute2" : "value2" } }

下面是更新一个事物组时发布的负载示例。

{ "eventType" : "thingGroupEvent", "eventId" : "63609e4c-2720-466c-8cfe-aa1d897c7f03", "timestamp" : 1502141982675, "operation" : "UPDATED", "accountId" : "123456789012", "thingGroupId" : "98e8d404-b093-45e9-97f4-fb02aa2ac733", "thingGroupName" : "MyChildThingGroup", "versionNumber" : 2, "parentGroupName" : null, "parentGroupId" : null, "description" : "Myupdated child thing group", "rootToParentThingGroups" : null, "attributes" : { "attribute1" : "newValue1", "attribute3" : "value3", "attribute2" : "value2" } }

下面是删除一个事物组时发布的负载示例。

{ "eventType" : "thingGroupEvent", "eventId" : "c05cd030-5337-42de-a3a3-9e408f26c628", "timestamp" : 1502141623543, "operation" : "DELETED", "accountId" : "123456789012", "thingGroupId" : "06838589-373f-4312-b1f2-53f2192291c4", "thingGroupName" : "MyChildThingGroup", "versionNumber" : 2, "parentGroupName" : "MyParentThingGroup", "parentGroupId" : "8f82a106-6b1d-4331-8984-a84db5f6f8cb", "description" : "My child thing group", "rootToParentThingGroups" : null, "attributes" : { "attribute1" : "newValue1", "attribute3" : "value3", "attribute2" : "value2" } }

事物组成员资格事件

thingGroupMembershipEvent 事件的负载包含以下属性:

eventType

thingGroupMembershipEvent 事件设置为“thingGroupMembershipEvent”。

eventId

事件 ID。

timestamp

事件发生的 UNIX 时间戳。

operation

将事物添加到事物组中时为 ADDED。从事物组中删除事物时为 REMOVED

accountId

您的 AWS 账户 ID。

groupArn

事物组的 ARN。

groupId

组的 ID。

thingArn

在事物组中添加或删除的事物的 ARN。

thingId

在事物组中添加或删除的事物的 ID。

membershipId

表示事物与事物组之间关系的 ID。将事物添加到事物组时生成此值。

下面是将一个事物添加到事物组时发布的负载示例。

{ "eventType" : "thingGroupMembershipEvent", "eventId" : "d684bd5f-6f6e-48e1-950c-766ac7f02fd1", "timestamp" : 1502141492627, "operation" : "ADDED", "accountId" : "123456789012", "groupArn" : "arn:aws:iot:ap-northeast-2:123456789012:thinggroup/MyChildThingGroup", "groupId" : "06838589-373f-4312-b1f2-53f2192291c4", "thingArn" : "arn:aws:iot:ap-northeast-2:123456789012:thing/MyThing", "thingId" : "b604f69c-aa9a-4d4a-829e-c480e958a0b5", "membershipId" : "8505ebf8-4d32-4286-80e9-c23a4a16bbd8" }

下面是从事物组中删除一个事物时发布的负载示例。

{ "eventType" : "thingGroupMembershipEvent", "eventId" : "8749197f-7412-453f-8fcd-8ba1861d3bda", "timestamp" : 1502141575159, "operation" : "REMOVED", "accountId" : "123456789012", "groupArn" : "arn:aws:iot:ap-northeast-2:123456789012:thinggroup/MyChildThingGroup", "groupId" : "06838589-373f-4312-b1f2-53f2192291c4", "thingArn" : "arn:aws:iot:ap-northeast-2:123456789012:thing/MyThing", "thingId" : "b604f69c-aa9a-4d4a-829e-c480e958a0b5", "membershipId" : "8505ebf8-4d32-4286-80e9-c23a4a16bbd8" }

事物组成员层次结构事件

将某个事物组添加作为其他事物组的子级时会发生 thingGroupHierarchyEvent 事件。thingGroupHierarchyEvent 事件的负载包含以下属性:

eventType

thingGroupHierarchyEvent 事件设置为“thingGroupHierarchyEvent”。

eventId

事件 ID。

timestamp

事件发生的 UNIX 时间戳。

operation

将事物添加到事物组中时为 ADDED。从事物组中删除事物时为 REMOVED

accountId

您的 AWS 账户 ID。

thingGroupId

父事物组的 ID。

thingGroupName

父事物组的名称。

childGroupId

子事物组的 ID。

childGroupName

子事物组的名称。

下面是将一个事物组添加作为其他事物组子级时发布的负载示例。

{ "eventType" : "thingGroupHierarchyEvent", "eventId" : "264192c7-b573-46ef-ab7b-489fcd47da41", "timestamp" : 1502141354583, "operation" : "ADDED", "accountId" : "123456789012", "thingGroupId" : "8f82a106-6b1d-4331-8984-a84db5f6f8cb", "thingGroupName" : "MyRootThingGroup", "childGroupId" : "06838589-373f-4312-b1f2-53f2192291c4", "childGroupName" : "MyChildThingGroup" }

下面是删除作为其他事物组子级的事物组时发布的负载示例。

{ "eventType" : "thingGroupMembershipEvent", "eventId" : "8749197f-7412-453f-8fcd-8ba1861d3bda", "timestamp" : 1502141575159, "operation" : "REMOVED", "accountId" : "123456789012", "groupArn" : "arn:aws:iot:ap-northeast-2:123456789012:thinggroup/MyChildThingGroup", "groupId" : "06838589-373f-4312-b1f2-53f2192291c4", "thingArn" : "arn:aws:iot:ap-northeast-2:123456789012:thing/MyThing", "thingId" : "b604f69c-aa9a-4d4a-829e-c480e958a0b5", "membershipId" : "8505ebf8-4d32-4286-80e9-c23a4a16bbd8" }