

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

# MQTT 클라이언트를 사용하여 AWS IoT MQTT 메시지 보기
<a name="view-mqtt-messages"></a>

이 섹션에서는 [AWS IoT 콘솔](https://console.aws.amazon.com/iot/home)에서 AWS IoT MQTT 테스트 클라이언트를 사용하여에서 보내고 받은 MQTT 메시지를 보는 방법을 설명합니다 AWS IoT. 이 섹션에서 사용되는 예제는 [AWS IoT Core 자습서 시작하기](iot-gs.md)에서 사용한 예제와 관련이 있지만, 예제에 사용된 *topicName*을 IoT 솔루션에서 사용한 [주제 이름 또는 주제 필터](topics.md)로 대체할 수 있습니다.

디바이스는 상태를 전달할 [주제](topics.md)로 식별되는 MQTT 메시지를 게시하고 AWS IoT, MQTT 메시지를 AWS IoT 게시하여 디바이스 및 앱에 변경 사항 및 이벤트를 알립니다. MQTT 클라이언트를 사용하여 이러한 주제를 구독하고 메시지 발생 시 메시지를 확인할 수 있습니다. 또한 MQTT 테스트 클라이언트를 사용하여에서 구독한 디바이스 및 서비스에 MQTT 메시지를 게시할 수 있습니다 AWS 계정.

**Topics**
+ [MQTT 클라이언트에서 MQTT 메시지 보기](#view-mqtt-subscribe)
+ [MQTT 클라이언트에서 MQTT 메시지 게시](#view-mqtt-publish)
+ [MQTT 클라이언트에서 공유 구독 테스트](#view-mqtt-shared-subscriptions)

## MQTT 클라이언트에서 MQTT 메시지 보기
<a name="view-mqtt-subscribe"></a>

다음 절차에서는 디바이스가 메시지를 게시하고 [AWS IoT 콘솔](https://console.aws.amazon.com/iot/home)에서 메시지를 보는 특정 MQTT 주제를 구독하는 방법을 설명합니다.

**MQTT 테스트 클라이언트에서 MQTT 메시지 보기**

1. [AWS IoT 콘솔](https://console.aws.amazon.com/iot/home)을 열고 왼쪽 메뉴에서 **테스트(Test)**를 선택하고 **MQTT 클라이언트(MQTT test client)**를 선택합니다.  
![\[왼쪽 탐색의 콘솔 메뉴에서 MQTT 테스트 클라이언트를 선택합니다.\]](http://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/images/choose-test.png)

1. **주제 구독(Subscribe to a topic)** 탭에서 *topicName*을 입력하여 디바이스가 게시하는 주제를 구독합니다. 시작하기 샘플 앱의 경우, 모든 메시지 주제를 구독하는 **\$1**을 구독합니다.

   시작하기 예제를 계속 진행하여 **주제 구독** 탭의 **주제 필터** 필드에 **\$1**을(를) 입력한 다음 **구독**을 선택합니다.  
![\[주제 구독 탭입니다.\]](http://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/images/subscribe-button-topic.png)

   주제 메시지 로그 페이지 **\$1**이 열려 **구독** 목록에 **\$1**이(가) 나타납니다. 에서 구성한 디바이스[디바이스 구성](configure-device.md)가 예제 프로그램을 실행하는 경우 **\$1** 메시지 로그 AWS IoT 에 해당 디바이스가 보내는 메시지가 표시됩니다. 구독 주제가 포함된 메시지를 수신하면 **게시** 섹션 아래에 메시지 로그 항목이 나타납니다 AWS IoT.  
![\[주제를 보여주는 섹션이 성공적으로 구독되었습니다.\]](http://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/images/subscribed-button-topic.png)

1. **\$1** 메시지 로그 페이지에서 메시지를 주제에 게시할 수도 있지만 주제 이름을 지정해야 합니다. **\$1** 주제에 게시할 수 없습니다.

   구독한 주제에 게시된 메시지는 수신 시 메시지 로그에 표시되며 가장 최근 메시지가 먼저 표시됩니다.

### MQTT 메시지 문제 해결
<a name="view-mqtt-trouble"></a>

**와일드카드 주제 필터 사용**  
메시지가 예상대로 메시지 로그에 표시되지 않으면 [주제 이름 필터](topics.md#topicfilters)에 설명된 와일드카드 주제 필터를 구독해 보세요. MQTT 다중 레벨 와일드카드 주제 필터는 해시 또는 파운드 기호( `#` )이며 **구독 주제** 필드에서 주제 필터로 사용할 수 있습니다.

`#` 주제 필터를 구독하는 것은 메시지 브로커가 수신한 모든 주제를 구독하는 것입니다. 주제 필터 경로의 요소를 `#` 다중 레벨 와일드카드 문자 또는 '\$1' 단일 레벨 와일드카드 문자로 대체하여 필터 범위를 좁힐 수 있습니다.

**주제 필터에서 와일드카드를 사용하는 경우**
+ 다중 레벨 와일드카드 문자는 주제 필터의 마지막 문자여야 합니다.
+ 주제 필터 경로에는 주제 레벨당 단일 레벨 와일드카드 문자가 하나만 있을 수 있습니다.

다음 예를 참조하세요.


|  주제 필터  |  다음이 포함된 메시지 표시  | 
| --- | --- | 
|   `#`   |   모든 주제 이름   | 
|   `topic_1/#`   |   `topic_1/`(으)로 시작하는 주제 이름  | 
|   `topic_1/level_2/#`   |   `topic_1/level_2/`(으)로 시작하는 주제 이름  | 
|   `topic_1/+/level_3`   |   `topic_1/`(으)로 시작하고 `/level_3`(으)로 끝나며 그 사이에 임의 값의 한 요소가 있는 주제 이름.  | 

주제 필터에 대한 자세한 내용은 [주제 이름 필터](topics.md#topicfilters) 단원을 참조하세요.

**주제 이름 오류 확인**  
MQTT 주제 이름과 주제 필터는 대소문자를 구분합니다. 예를 들어, 구독한 주제인 `topic_1` 대신 디바이스가 `Topic_1`(대문자 *T* 포함)에 메시지를 게시하는 경우 해당 메시지는 MQTT 테스트 클라이언트에 나타나지 않습니다. 그러나 와일드카드 주제 필터를 구독하면 디바이스가 메시지를 게시하고 있음을 알 수 있으며 예상한 주제가 아닌 주제 이름을 사용하고 있음을 알 수 있습니다.

## MQTT 클라이언트에서 MQTT 메시지 게시
<a name="view-mqtt-publish"></a>

**MQTT 주제에 메시지를 게시하려면**

1. MQTT 클라이언트 페이지에서 **Publish to a topic**(주제 게시) 탭의 **Topic name**(주제 이름) 필드에 메시지의 *topicName*을 입력합니다. 이 예에서는 **my/topic**을 사용합니다.
**참고**  
MQTT 테스트 클라이언트 또는 시스템 구현 시 주제 이름에 개인 식별이 가능한 정보를 사용하지 마세요. 주제 이름은 암호화되지 않은 통신 및 보고서에 나타날 수 있습니다.

1. 메시지 페이로드 창에 다음 JSON을 입력합니다.

   ```
   {
       "message": "Hello, world",
       "clientType": "MQTT test client"
   }
   ```

1. 메시지를 AWS IoT에 게시하려면 **게시**를 선택합니다.
**참고**  
메시지를 게시하기 전에 **my/topic** 주제를 구독하고 있어야 합니다.  
![\[주제에 게시 탭입니다.\]](http://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/images/publish-to-topic.png)

1. 메시지를 보려면 **구독(Subscription)** 목록에서 **my/topic**을 선택합니다. 메시지 페이로드 게시 창 아래의 MQTT 테스트 클라이언트에서 메시지가 보여야 합니다.  
![\[게시된 주제가 수신된 것을 보여주는 화면입니다.\]](http://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/images/publish-to-topic-received.png)

**주제 이름** 필드의 *topicName*을 변경하고 **게시** 버튼을 선택하면 MQTT 메시지를 다른 주제에 게시할 수 있습니다.

**중요**  
중복 주제(예: probe1/ temperature 및 probe1/\$1)로 여러 구독을 생성할 경우 두 구독과 일치하는 주제에 게시된 단일 메시지가 중복 구독마다 한 번씩 여러 번 전달될 가능성이 있습니다.

## MQTT 클라이언트에서 공유 구독 테스트
<a name="view-mqtt-shared-subscriptions"></a>

이 섹션에서는 [AWS IoT 콘솔](https://console.aws.amazon.com/iot/home)에서 AWS IoT MQTT 클라이언트를 사용하여 공유 구독을 AWS IoT 사용하여 송수신되는 MQTT 메시지를 보는 방법을 설명합니다.는 여러 클라이언트가 무작위 배포를 사용하여 주제에 게시된 메시지를 수신하는 클라이언트 한 명과 주제에 대한 구독을 공유할 수 있도록 [공유 구독](mqtt.md#mqtt5-shared-subscription) 허용합니다. 동일한 구독을 공유하는 여러 MQTT 클라이언트(이 예에서는 두 MQTT 클라이언트)를 시뮬레이션하려면 여러 웹 브라우저에서 [AWS IoT 콘솔](https://console.aws.amazon.com/iot/home)에서 AWS IoT MQTT 클라이언트를 엽니다. 이 섹션에 사용된 예시는 [AWS IoT Core 자습서 시작하기](iot-gs.md)에서 사용된 예시와 관련이 없습니다. 자세한 내용은 [공유 구독](mqtt.md#mqtt5-shared-subscription)을 참조하세요.

**MQTT 주제에 구독을 공유하는 방법**

1. [AWS IoT 콘솔](https://console.aws.amazon.com/iot/home)을 열고 탐색 창에서 **테스트**를 선택하고 **MQTT 테스트 클라이언트**를 선택합니다.

1. **주제 구독(Subscribe to a topic)** 탭에서 *topicName*을 입력하여 디바이스가 게시하는 주제를 구독합니다. 공유 구독을 사용하려면 공유 구독의 주제 필터를 다음과 같이 구독합니다.

   ```
   $share/{ShareName}/{TopicFilter}
   ```

   주제 필터의 예로는 메시지 주제 **topic1**을 구독하는 **\$1share/group1/topic1**을 들 수 있습니다.  
![\[공유 구독에 대한 주제 필터를 지정하는 방법을 보여주는 탭입니다.\]](http://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/images/shared-subscription-topicfilter.png)

1. 다른 웹 브라우저를 열고 1단계와 2단계를 반복합니다. 이렇게 하면 동일한 **\$1share/group1/topic1** 구독을 공유하는 서로 다른 두 MQTT 클라이언트를 시뮬레이션할 수 있습니다.

1. 한 MQTT 클라이언트를 선택하고 **주제에 게시** 탭의 **주제 이름** 필드에 메시지의 *topicName*을 입력합니다. 이 예에서는 **topic1**을 사용합니다. 메시지를 몇 번 게시해 보세요. 두 MQTT 클라이언트의 **구독** 목록에서 클라이언트가 무작위 배포를 사용하여 메시지를 수신하는 것을 확인할 수 있을 것입니다. 이 예시에서는 'Hello from AWS IoT console'이라는 동일한 메시지를 세 번 게시합니다. 왼쪽의 MQTT 클라이언트는 메시지를 두 번 받았고 오른쪽의 MQTT 클라이언트는 메시지를 한 번 받았습니다.  
![\[공유 구독은 두 클라이언트를 통해 진행되어 주제에 대한 구독을 공유하며, 무작위 분포를 사용하여 해당 주제에 게시된 메시지를 하나의 클라이언트만 수신합니다.\]](http://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/images/shared_subscriptions_test.gif)