

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

# 재게시
<a name="republish-rule-action"></a>

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

## 요구 사항
<a name="republish-rule-action-requirements"></a>

이 규칙 작업은 다음 요구 사항을 충족해야 합니다.
+ `iot:Publish` 작업을 수행하기 위해가 맡을 AWS IoT 수 있는 IAM 역할입니다. 자세한 내용은 [AWS IoT 규칙에 필요한 액세스 권한 부여](iot-create-role.md) 단원을 참조하십시오.

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

## 파라미터
<a name="republish-rule-action-parameters"></a>

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

`headers`  
MQTT 버전 5.0 헤더 정보입니다.  
자세한 내용은 *AWS API 참조*의 [RepublishAction](https://docs.aws.amazon.com//iot/latest/apireference/API_RepublishAction.html) 및 [MqttHeaders](https://docs.aws.amazon.com//iot/latest/apireference/API_MqttHeaders.html)를 참조하세요.

`topic`  
메시지를 재게시할 MQTT 주제입니다.  
`$`로 시작하는 예약된 주제에 게시하려면 대신 `$$`를 사용하세요. 예를 들어 디바이스 섀도우 주제 `$aws/things/MyThing/shadow/update`에 다시 게시하려면 주제를 `$$aws/things/MyThing/shadow/update`로 지정합니다.  
[예약된 작업 주제](reserved-topics.md#reserved-topics-job)에 다시 게시하는 것은 지원되지 않습니다.  
AWS IoT Device Defender 예약 주제는 HTTP 게시를 지원하지 않습니다.
[대체 템플릿](iot-substitution-templates.md) 지원: 예

`qos`  
(선택 사항) 메시지를 다시 게시할 때 사용할 서비스 품질(QoS) 수준입니다. 유효한 값: `0`, `1`. 기본값은 `0`입니다. MQTT QoS에 대한 자세한 내용은 [MQTT](mqtt.md) 섹션을 참조하세요.  
[대체 템플릿](iot-substitution-templates.md) 지원: 아니요

`roleArn`  
가 MQTT 주제에 AWS IoT 게시할 수 있도록 허용하는 IAM 역할입니다. 자세한 내용은 [요구 사항](#republish-rule-action-requirements) 단원을 참조하십시오.  
[대체 템플릿](iot-substitution-templates.md) 지원: 아니오

## 예제
<a name="republish-rule-action-examples"></a>

다음 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는 [재게시 작업](#republish-rule-action)을 거쳐 전달되지 않습니다.