AWS IoT
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

创建 Amazon SNS 规则

您可以定义将消息数据发送到 Amazon SNS 主题的规则。

在本教程中,您将创建一条规则,用于将触发该规则的 AWS IoT 事物的名称发送给 Amazon SNS 主题的所有订阅者。

使用 SNS 操作创建规则

  1. AWS IoT 控制台的导航窗格中,选择 Act (行动)

  2. Rules 页面,选择 Create

  3. 输入规则的名称和简短描述。

    注意

    我们建议不要在您的规则名称或描述中使用个人身份信息。

  4. 规则查询语句编辑器中,输入以下内容:

    SELECT *, topic(3) as thing FROM '$aws/things/+/shadow/update/accepted'

    "FROM" 后面的主题筛选条件指定在向其发布消息时触发规则的操作的主题。主题筛选条件中使用的加号 + 是匹配任何事物名的通配符。"SELECT" 后面的 "topic(3)" 属性附加事物名称到消息内容上,这是第三个主题字段。)

  5. 设置一个或多个操作中,选择添加操作

  6. 选择操作下,选择将消息发送为 SNS 推送通知,然后选择配置操作

  7. 配置操作页面上,为 SNS 目标选择创建

  8. 在打开的对话框中输入主题名称,然后选择创建

  9. 配置操作页面上,为 SNS 目标选择您刚刚创建的 SNS 主题。对于 Message format,请选择 RAW。在选择或创建角色以向 AWS IoT 授予执行此操作的权限下,选择 Create Role (创建角色)

  10. 输入角色的名称,然后选择 Create role (创建角色)

  11. 配置操作中,选择添加操作

  12. 选择 Create rule

要测试该规则,请将订阅添加到您创建的 SNS 主题,然后更新所有 AWS IoT 事物的影子。

您可以使用 AWS IoT 控制台查找事物、打开其详细信息页面和更改设备的影子。Device Shadow 服务在收到变更通知后,在 $aws/things/MySNSThing/shadow/update/accepted 上发布消息。将触发您的规则,并且您的 SNS 主题的所有订阅者都将收到一条包含您的事物的名称的消息。