Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Republish
La acción republish (republish
) vuelve a publicar un mensaje MQTT en otro tema MQTT.
Requisitos
Esta regla tiene los siguientes requisitos:
-
Un rol de IAM que AWS IoT puede asumir para realizar la operación.
iot:Publish
Para obtener más información, consulte Otorgar a una AWS IoT regla el acceso que requiere.En la AWS IoT consola, puede elegir o crear un rol que permita AWS IoT realizar esta acción de regla.
Parámetros
Al crear una AWS IoT regla con esta acción, debe especificar la siguiente información:
headers
-
Información acerca de los encabezados de la versión 5.0 de MQTT.
Para obtener más información, consulte RepublishActiony MqttHeadersen la Referencia de la AWS API.
topic
-
El tema MQTT en el que se va a volver a publicar el mensaje.
Para volver a publicar en un tema reservado, que comience por
$
, utilice$$
en su lugar. Por ejemplo, para volver a publicar en el tema sombra del dispositivo$aws/things/MyThing/shadow/update
, especifique el tema como$$aws/things/MyThing/shadow/update
.nota
No se permite volver a publicar en temas de trabajo reservados.
AWS IoT Device Defender los temas reservados no admiten la publicación en HTTP.
Admite plantillas de sustitución: Sí
qos
-
(Opcional) El nivel de calidad de servicio (QoS) que se utiliza para volver a publicar mensajes. Valores válidos:
0
,1
. El valor predeterminado es0
. Para obtener más información acerca de MQTT QoS, consulte MQTT.Admite plantillas de sustitución: No
roleArn
-
La función de IAM que permite AWS IoT publicar en el tema MQTT. Para obtener más información, consulte Requisitos.
Admite plantillas de sustitución: No
Ejemplos
El siguiente ejemplo de JSON define una acción de republicación en una regla. 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" } } ] } }
El siguiente ejemplo de JSON define una acción de republicación con plantillas de sustitución en una AWS IoT regla.
{ "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" } } ] } }
El siguiente ejemplo JSON define una acción de republicación con headers
en una regla 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" } ] } } } ] } }
nota
La IP de origen original no se transferirá a través de la acción Republicar.