The republish (republish
) action republishes an MQTT message to another MQTT topic.
This rule action has the following requirements:
An IAM role that AWS IoT can assume to perform the iot:Publish
operation. For more information, see Granting an AWS IoT rule the access it requires.
In the AWS IoT console, you can choose or create a role to allow AWS IoT to perform this rule action.
When you create an AWS IoT rule with this action, you must specify the following information:
headers
MQTT Version 5.0 headers information.
For more information, see RepublishAction and MqttHeaders in the AWS API Reference.
topic
The MQTT topic to which to republish the message.
To republish to a reserved topic, which begins with $
, use $$
instead. For example, to republish to the device shadow topic $aws/things/MyThing/shadow/update
, specify the topic as $$aws/things/MyThing/shadow/update
.
Republishing to reserved job topics is not supported.
AWS IoT Device Defender reserve topics don't support HTTP publish.
Supports substitution templates: Yes
qos
(Optional) The Quality of Service (QoS) level to use when republishing messages. Valid values: 0
, 1
. The default value is 0
. For more information about MQTT QoS, see MQTT.
Supports substitution templates: No
roleArn
The IAM role that allows AWS IoT to publish to the MQTT topic. For more information, see Requirements.
Supports substitution templates: No
The following JSON example defines a republish action in an AWS IoT rule.
{
"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"
}
}
]
}
}
The following JSON example defines a republish action with substitution templates in an AWS IoT rule.
{
"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"
}
}
]
}
}
The following JSON example defines a republish action with headers
in an AWS IoT rule.
{
"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"
}
]
}
}
}
]
}
}
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4