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

Republish

重新发布 (republish) 操作可将 MQTT 消息重新发布到其他 MQTT 主题。

Requirements

此规则操作具有以下要求:

  • Amazon IoT 可以承担以执行 iot:Publish 操作的 IAM 角色。有关更多信息,请参阅 授予 Amazon IoT 所需的访问权限

    在 Amazon IoT 控制台中,您可以选择或创建一个角色以允许 Amazon IoT 执行此规则操作。

Parameters

使用此操作创建 Amazon IoT 规则时,您必须指定以下信息:

topic

消息重新发布到的 MQTT 主题。

若要重新发布到以 $ 开头的预留主题,请使用 $$ 代替。例如,如果要重新发布到设备影子主题 $aws/things/MyThing/shadow/update,请将主题指定为 $$aws/things/MyThing/shadow/update

注意

不支持重新发布到保留的任务主题

支持替换模板:是

qos

(可选)重新发布消息时要使用的服务质量 (QoS) 级别。有效值:01。默认值为 0。有关 MQTT QoS 的更多信息,请参阅 MQTT

支持替换模板:否

roleArn

允许 Amazon IoT 发布至 MQTT 主题的 IAM 角色。有关更多信息,请参阅 Requirements

支持替换模板:否

Examples

下面的 JSON 示例定义了 Amazon IoT 规则中的重新发布操作。

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "republish": { "topic": "another/topic", "qos": 1, "roleArn": "arn:aws:iam::123456789012:role/aws_iot_republish" } } ] } }

以下 JSON 示例定义了 Amazon IoT 规则中带有替代模板的重新发布操作。

{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "republish": { "topic": "${topic()}/republish", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_republish" } } ] } }