Republish - AWS IoT Core

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Republish

다시 게시(republish) 작업은 MQTT 메시지를 다른 MQTT 주제에 다시 게시합니다.

요구 사항

이 규칙 작업은 다음 요구 사항을 충족해야 합니다.

  • 작업을 수행할 AWS IoT 수 있는 IAM 역할. iot:Publish 자세한 정보는 AWS IoT 규칙에 필요한 액세스 권한 부여을 참조하세요.

    AWS IoT 콘솔에서 이 규칙 작업을 수행할 수 있는 역할을 선택하거나 생성할 수 있습니다. AWS IoT

파라미터

이 작업으로 AWS IoT 규칙을 생성할 때는 다음 정보를 지정해야 합니다.

headers

MQTT 버전 5.0 헤더 정보입니다.

자세한 내용은 AWS API MqttHeaders참조의 RepublishAction및 항목을 참조하십시오.

topic

메시지를 재게시할 MQTT 주제입니다.

$로 시작하는 예약된 주제에 게시하려면 대신 $$를 사용하세요. 예를 들어 디바이스 섀도우 주제 $aws/things/MyThing/shadow/update에 다시 게시하려면 주제를 $$aws/things/MyThing/shadow/update로 지정합니다.

참고

예약된 작업 주제에 다시 게시하는 것은 지원되지 않습니다.

AWS IoT Device Defender 예약 주제는 HTTP 게시를 지원하지 않습니다.

대체 템플릿 지원: 예

qos

(선택 사항) 메시지를 다시 게시할 때 사용할 서비스 품질(QoS) 수준입니다. 유효한 값: 0, 1. 기본 값은 0입니다. MQTT QoS에 대한 자세한 내용은 MQTT 섹션을 참조하세요.

대체 템플릿 지원: 아니요

roleArn

MQTT 주제에 AWS IoT 게시할 수 있는 IAM 역할입니다. 자세한 정보는 요구 사항을 참조하세요.

대체 템플릿 지원: 아니오

다음 JSON 예제는 규칙의 재게시 작업을 정의합니다. 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" } } ] } }

다음 JSON 예제는 규칙에 대체 템플릿이 포함된 재게시 작업을 정의합니다. 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" } } ] } }

다음 JSON 예제는 AWS IoT 규칙에서 headers를 사용하여 재게시 작업을 정의하는 방법을 보여줍니다.

{ "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" } ] } } } ] } }
참고

원본 소스 IP는 재게시 작업을 거쳐 전달되지 않습니다.