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

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

将 Amazon IoT Core 规则引擎用于 Amazon IoT Events

以下规则将 Amazon IoT Core MQTT 消息作为影子更新请求消息重新发布。我们假设 Amazon IoT Core 为由探测器模型控制的每个区域定义了加热装置和冷却装置。在此示例中,我们定义了名为 "Area51HeatingUnit""Area51CoolingUnit" 的元素。

CLI 命令:

aws iot create-topic-rule --cli-input-json file://ADMShadowCoolOffRule.json

ADMShadowCoolOffRule.json 文件:

{ "ruleName": "ADMShadowCoolOff", "topicRulePayload": { "sql": "SELECT topic(3) as state.desired.command FROM 'hvac/Cooling/Off'", "description": "areaDetectorModel mqtt topic publish to cooling unit shadow request", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "republish": { "topic": "$$aws/things/${payload.detector.keyValue}CoolingUnit/shadow/update", "roleArn": "arn:aws:iam::123456789012:role/service-role/ADMShadowRole" } } ] } }

响应:[空]

CLI 命令:

aws iot create-topic-rule --cli-input-json file://ADMShadowCoolOnRule.json

ADMShadowCoolOnRule.json 文件:

{ "ruleName": "ADMShadowCoolOn", "topicRulePayload": { "sql": "SELECT topic(3) as state.desired.command FROM 'hvac/Cooling/On'", "description": "areaDetectorModel mqtt topic publish to cooling unit shadow request", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "republish": { "topic": "$$aws/things/${payload.detector.keyValue}CoolingUnit/shadow/update", "roleArn": "arn:aws:iam::123456789012:role/service-role/ADMShadowRole" } } ] } }

响应:[空]

CLI 命令:

aws iot create-topic-rule --cli-input-json file://ADMShadowHeatOffRule.json

ADMShadowHeatOffRule.json 文件:

{ "ruleName": "ADMShadowHeatOff", "topicRulePayload": { "sql": "SELECT topic(3) as state.desired.command FROM 'hvac/Heating/Off'", "description": "areaDetectorModel mqtt topic publish to heating unit shadow request", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "republish": { "topic": "$$aws/things/${payload.detector.keyValue}HeatingUnit/shadow/update", "roleArn": "arn:aws:iam::123456789012:role/service-role/ADMShadowRole" } } ] } }

响应:[空]

CLI 命令:

aws iot create-topic-rule --cli-input-json file://ADMShadowHeatOnRule.json

ADMShadowHeatOnRule.json 文件:

{ "ruleName": "ADMShadowHeatOn", "topicRulePayload": { "sql": "SELECT topic(3) as state.desired.command FROM 'hvac/Heating/On'", "description": "areaDetectorModel mqtt topic publish to heating unit shadow request", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "republish": { "topic": "$$aws/things/${payload.detector.keyValue}HeatingUnit/shadow/update", "roleArn": "arn:aws:iam::123456789012:role/service-role/ADMShadowRole" } } ] } }

响应:[空]