Publikasikan ulang - AWS IoT Core

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Publikasikan ulang

Tindakan republish (republish) menerbitkan kembali pesan MQTT ke topik MQTT lainnya.

Persyaratan

Tindakan aturan ini memiliki persyaratan sebagai berikut:

  • Peran IAM yang AWS IoT dapat diasumsikan untuk melakukan iot:Publish operasi. Untuk informasi selengkapnya, lihat Memberikan AWS IoT aturan akses yang dibutuhkannya.

    Di AWS IoT konsol, Anda dapat memilih atau membuat peran untuk memungkinkan AWS IoT untuk melakukan tindakan aturan ini.

Parameter

Saat Anda membuat AWS IoT aturan dengan tindakan ini, Anda harus menentukan informasi berikut:

headers

Informasi header MQTT Versi 5.0.

Untuk informasi selengkapnya, lihat RepublishActiondan MqttHeadersdi Referensi AWS API.

topic

Topik MQTT untuk menerbitkan ulang pesan.

Untuk menerbitkan ulang ke topik yang dicadangkan, yang dimulai dengan$, gunakan $$ sebagai gantinya. Misalnya, untuk menerbitkan ulang ke topik bayangan perangkat$aws/things/MyThing/shadow/update, tentukan topik sebagai$$aws/things/MyThing/shadow/update.

catatan

Penerbitan ulang ke topik pekerjaan yang dipesan tidak didukung.

AWS IoT Device Defender topik cadangan tidak mendukung publikasi HTTP.

Mendukung template substitusi: Ya

qos

(Opsional) Tingkat Kualitas Layanan (QoS) yang akan digunakan saat menerbitkan ulang pesan. Nilai-nilai yang valid: 0, 1. Nilai default-nya adalah 0. Untuk informasi selengkapnya tentang QoS MQTT, lihat. MQTT

Mendukung template substitusi: Tidak

roleArn

Peran IAM yang memungkinkan AWS IoT untuk mempublikasikan ke topik MQTT. Untuk informasi selengkapnya, lihat Persyaratan.

Mendukung template substitusi: Tidak

Contoh

Contoh JSON berikut mendefinisikan tindakan republish dalam aturan. 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" } } ] } }

Contoh JSON berikut mendefinisikan tindakan republish dengan template substitusi dalam aturan. 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" } } ] } }

Contoh JSON berikut mendefinisikan tindakan republish dengan headers dalam aturan. 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", "headers": { "payloadFormatIndicator": "UTF8_DATA", "contentType": "rule/contentType", "correlationData": "cnVsZSBjb3JyZWxhdGlvbiBkYXRh", "userProperties": [ { "key": "ruleKey1", "value": "ruleValue1" }, { "key": "ruleKey2", "value": "ruleValue2" } ] } } } ] } }
catatan

IP sumber asli tidak akan diteruskan melalui tindakan Republish.