将 AWS IoT Core 规则引擎用于 AWS IoT Events - AWS IoT Events

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

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

以下规则将 AWS IoT Core MQTT消息重新发布为影子更新请求消息。我们假设 AWS 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" } } ] } }

响应:[空]