Republish - AWS IoT Core

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 es 0. 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.