As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Nova publicação
Use a ação (republish
) publicar novamente publica novamente uma mensagem do MQTT para outro tópico do MQTT.
Requisitos
Esta ação de regra tem os seguintes requisitos:
-
Uma função do IAM que AWS IoT você pode assumir para realizar a
iot:Publish
operação. Para ter mais informações, consulte Conceder a uma AWS IoT regra o acesso que ela exige.No AWS IoT console, você pode escolher ou criar uma função para permitir AWS IoT a execução dessa ação de regra.
Parâmetros
Ao criar uma AWS IoT regra com essa ação, você deve especificar as seguintes informações:
headers
-
Informações de cabeçalho do MQTT versão 5.0.
Para obter mais informações, consulte RepublishActione MqttHeadersna Referência AWS da API.
topic
-
O tópico MQTT no qual publicar a mensagem novamente.
Para publicar novamente em um tópico reservado, que começa com
$
, use$$
em vez disso. Por exemplo, para publicar novamente em um tópico de sombra do dispositivo$aws/things/MyThing/shadow/update
, especifique o tópico como$$aws/things/MyThing/shadow/update
.nota
A nova publicação em tópicos de trabalho reservados não é compatível.
AWS IoT Device Defender tópicos de reserva não oferecem suporte à publicação HTTP.
Compatível com modelos de substituição: Sim
qos
-
(Opcional) O nível Quality of Service (QoS - Qualidade de serviço) a ser usado ao republicar mensagens. Valores válidos:
0
,1
. O valor padrão é0
. Para obter mais informações sobre QoS MQTT, consulte MQTT.Compatível com modelos de substituição: Não
roleArn
-
A função do IAM que permite AWS IoT publicar no tópico do MQTT. Para ter mais informações, consulte Requisitos.
Compatível com modelos de substituição: Não
Exemplos
O exemplo de JSON a seguir define uma ação de republicação em uma AWS IoT regra.
{ "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" } } ] } }
O exemplo de JSON a seguir define uma ação de republicação com modelos de substituição em uma regra. 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" } } ] } }
O exemplo JSON a seguir define uma ação de nova publicação em uma headers
regra 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
O IP de origem original não será transmitido pela ação Publicar novamente.