Republish - AWS IoT Core

Republish

再発行 (republish) アクションは、MQTT メッセージを別の MQTT トピックに再発行します。

要件

このルールアクションには、以下の要件があります。

  • iot:Publish オペレーションを実行するために AWS IoT が引き受けることができる IAM ロール。詳細については、「AWS IoT ルールに必要なアクセスを付与する」を参照してください。

    AWS IoT コンソールで、AWS IoT がこのルールアクションを実行できるようにするロールを選択または作成できます。

パラメータ

このアクションで AWS IoT ルールを作成するときは、次の情報を指定する必要があります。

headers

MQTT バージョン 5.0 のヘッダー情報。

詳細については、AWS API リファレンスの「RepublishAction」と「MqttHeaders」を参照してください。

topic

メッセージの再発行先として指定する MQTT トピック。

$ で始まる予約済みトピックに再発行するには、代わりに $$ を使用します。例えば、デバイスシャドウトピック $aws/things/MyThing/shadow/update に再発行する場合は、トピックを $$aws/things/MyThing/shadow/update として指定します。

注記

予約済みのジョブトピックへの再発行はサポートされていません。

AWS IoT Device Defender 予約トピックは HTTP Publish をサポートしていません。

置換テンプレートをサポート: はい

qos

(オプション) メッセージを再発行するときに使用する Quality of Service (QoS) レベル。有効な値: 01。デフォルト値は 0 です。MQTT QoS の詳細については、「MQTT」を参照してください。

置換テンプレートをサポート: いいえ

roleArn

AWS IoT が MQTT トピックに発行することを許可する IAM ロール。詳細については、「要件」を参照してください。

置換テンプレートをサポート: いいえ

次の JSON 例では、AWS 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 例では、AWS 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" } } ] } }

次の JSON 例では、AWS IoT ルールの headers で再発行アクションを定義しています。

{ "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", "headers": { "payloadFormatIndicator": "UTF8_DATA", "contentType": "rule/contentType", "correlationData": "cnVsZSBjb3JyZWxhdGlvbiBkYXRh", "userProperties": [ { "key": "ruleKey1", "value": "ruleValue1" }, { "key": "ruleKey2", "value": "ruleValue2" } ] } } } ] } }
注記

元の送信元 IP は Republish アクションには渡されません。