FROM 子句 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

FROM 子句

FROM 子句在主题主题筛选条件中订阅您的规则。将主题或主题筛选条件用单引号(')引起来。对于发送到符合此处指定的主题筛选条件的 MQTT 主题的每条消息,将触发该规则。可以使用主题筛选条件订阅一组类似的主题。

示例

传入负载已发布至主题 'topic/subtopic'{temperature: 50}

传入负载已发布至主题 'topic/subtopic-2'{temperature: 50}

SQL:"SELECT temperature AS t FROM 'topic/subtopic'"

该规则已订阅到 'topic/subtopic',因此传入的负载将传递给该规则。传递给规则操作的传出负载为:{t: 50}。规则未订阅 'topic/subtopic-2',因此在 'topic/subtopic-2' 上发布的消息不会触发规则。

# 通配符示例:

您可以使用“#”(多级)通配符来匹配一个或多个特定路径元素:

传入负载已发布至主题 'topic/subtopic'{temperature: 50}

传入负载已发布至主题 'topic/subtopic-2'{temperature: 60}

传入负载已发布至主题 'topic/subtopic-3/details'{temperature: 70}

传入负载已发布至主题 'topic-2/subtopic-x'{temperature: 80}

SQL:"SELECT temperature AS t FROM 'topic/#'"

规则订阅了以 'topic' 开头的所有主题,因此它会执行三次,将 {t: 50}(适用于 topic/subtopic)、{t: 60}(适用于 topic/subtopic-2)和 {t: 70}(适用于 topic/subtopic-3/details)的传出有效负载发送至其操作。它未订阅 'topic-2/subtopic-x',因此不会针对 {temperature: 80} 消息触发规则。

+ 通配符示例:

您可以使用“+”(单级)通配符来匹配任一特定路径元素:

传入负载已发布至主题 'topic/subtopic'{temperature: 50}

传入负载已发布至主题 'topic/subtopic-2'{temperature: 60}

传入负载已发布至主题 'topic/subtopic-3/details'{temperature: 70}

传入负载已发布至主题 'topic-2/subtopic-x'{temperature: 80}

SQL:"SELECT temperature AS t FROM 'topic/+'"

规则已订阅包含两个路径元素的所有主题,其中第一个元素为 'topic'。此规则将对发送至 'topic/subtopic''topic/subtopic-2' 的消息执行,但不对 'topic/subtopic-3/details'(它的级别比主题筛选条件更多)或 'topic-2/subtopic-x'(它不以 topic 开头)执行。