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 RepublishAction y MqttHeaders en la Referencia de la API de AWS .

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 de reserva 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.