Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tindakan republish (republish
) menerbitkan kembali MQTT pesan ke topik lain. MQTT
Persyaratan
Tindakan aturan ini memiliki persyaratan sebagai berikut:
-
IAMPeran 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
-
MQTTInformasi header versi 5.0.
Untuk informasi lebih lanjut, lihat RepublishActiondan MqttHeadersdi AWS APIReferensi.
topic
-
MQTTTopik 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 HTTP publikasi.
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 adalah0
. Untuk informasi selengkapnya tentang MQTT QoS, lihat. MQTTMendukung template substitusi: Tidak
roleArn
-
IAMPeran yang memungkinkan AWS IoT untuk mempublikasikan ke MQTT topik. Untuk informasi selengkapnya, lihat Persyaratan.
Mendukung template substitusi: Tidak
Contoh
JSONContoh 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"
}
}
]
}
}
JSONContoh 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"
}
}
]
}
}
JSONContoh 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.