Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Wiederveröffentlichen
Die Aktion neu veröffentlichen (republish
) veröffentlicht eine MQTT-Nachricht erneut in einem anderen MQTT-Thema.
Voraussetzungen
Diese Regelaktion hat die folgenden Anforderungen:
-
Eine IAM-Rolle, die die Ausführung des Vorgangs übernehmen AWS IoT kann.
iot:Publish
Weitere Informationen finden Sie unter Gewähren Sie einer AWS IoT Regel den Zugriff, den sie benötigt.In der AWS IoT Konsole können Sie eine Rolle auswählen oder erstellen, um die Ausführung dieser Regelaktion AWS IoT zu ermöglichen.
Parameter
Wenn Sie eine AWS IoT Regel mit dieser Aktion erstellen, müssen Sie die folgenden Informationen angeben:
headers
-
Header-Informationen für MQTT Version 5.0.
Weitere Informationen finden Sie unter RepublishActionund MqttHeadersin der AWS API-Referenz.
topic
-
Das MQTT-Thema, für das die Nachricht erneut veröffentlicht werden soll
Um in einem reservierten Thema, das mit
$
beginnt, erneut zu veröffentlichen, verwenden Sie stattdessen$$
. Um zum Beispiel das Thema Geräteschatten$aws/things/MyThing/shadow/update
neu zu veröffentlichen, geben Sie das Thema als$$aws/things/MyThing/shadow/update
an.Anmerkung
Das erneute Veröffentlichen zu reservierten Jobthemen wird nicht unterstützt.
AWS IoT Device Defender Reserve-Themen unterstützen die Veröffentlichung per HTTP nicht.
Unterstützt Ersatzvorlagen: Ja
qos
-
(Optional) Das QoS (Quality of Service)-Niveau, das verwendet werden soll, wenn Nachrichten erneut veröffentlicht werden. Zulässige Werte:
0
,1
. Der Standardwert ist0
. Weitere Informationen zu MQTT QoS finden Sie unter MQTT.Unterstützt Ersatzvorlagen: Nein
roleArn
-
Die IAM-Rolle, die das Veröffentlichen im MQTT-Thema ermöglicht AWS IoT . Weitere Informationen finden Sie unter Voraussetzungen.
Unterstützt Ersatzvorlagen: Nein
Beispiele
Das folgende JSON-Beispiel definiert eine Aktion zum erneuten Veröffentlichen in einer Regel. 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" } } ] } }
Das folgende JSON-Beispiel definiert eine Aktion zur erneuten Veröffentlichung mit Ersatzvorlagen in einer Regel. 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" } } ] } }
Das folgende JSON-Beispiel definiert eine Aktion zur erneuten Veröffentlichung mit headers
in einer AWS IoT
Regel.
{ "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" } ] } } } ] } }
Anmerkung
Die ursprüngliche Quell-IP wird bei der Aktion zur erneuten Veröffentlichung nicht weitergegeben.