MQTT 주제 - AWS IoT Core

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

MQTT 주제

MQTT 주제는 AWS IoT 메시지를 식별합니다. AWS IoT 클라이언트는 메시지에 주제 이름을 지정하여 게시한 메시지를 식별합니다. 클라이언트는 주제 필터를 AWS IoT Core에 등록하여 구독(수신)하려는 메시지를 식별합니다. 메시지 브로커는 주제 이름 및 주제 필터를 사용하여 메시지를 게시 클라이언트에서 구독 클라이언트로 라우팅합니다.

메시지 브로커는 주제를 사용하여 HTTPS 메시지 URL에 MQTT를 통해 전송된 메시지인지, HTTP를 통해 전송된 메시지인지 식별합니다.

AWS IoT 는 일부 예약된 시스템 주제를 지원하지만 대부분의 MQTT 주제는 시스템 디자이너인 사용자가 만들고 관리합니다. AWS IoT 다음 섹션에 설명된 대로 주제를 사용하여 게시 클라이언트로부터 받은 메시지를 식별하고 구독 클라이언트에 보낼 메시지를 선택합니다. 시스템에 대한 주제 네임스페이스를 생성하기 전에 MQTT 주제의 특성을 검토하여 IoT 시스템에 가장 적합한 주제 이름 계층 구조를 생성합니다.

주제 이름

주제 이름과 주제 필터는 UTF-8로 인코딩된 문자열입니다. 계층 구조의 수준을 구분하기 위해 슬래시(/) 문자를 사용하여 정보의 계층 구조를 나타낼 수 있습니다. 예를 들어 이 주제 이름은 룸 1의 온도 센서를 참조할 수 있습니다.

  • sensor/temperature/room1

이 예제에서는 다른 룸에 다음과 같은 주제 이름을 가진 다른 유형의 센서가 있을 수 있습니다.

  • sensor/temperature/room2

  • sensor/humidity/room1

  • sensor/humidity/room2

참고

시스템의 메시지에 대한 주제 이름을 고려할 때 다음 사항에 유의하세요.

  • 주제 이름과 주제 필터는 대소문자를 구분합니다.

  • 주제 이름에는 개인 식별 정보가 포함되어서는 안 됩니다.

  • $로 시작하는 주제 이름은 AWS IoT Core에서만 사용되는 예약된 주제입니다.

  • AWS IoT Core AWS 계정 s 또는 지역 간에는 메시지를 보내거나 받을 수 없습니다.

주제 이름 및 네임스페이스를 디자인하는 방법에 대한 자세한 내용은 백서 AWS IoT Core에 대한 MQTT 주제 디자인을 참조하세요.

앱에서 메시지를 게시하고 구독하는 방법에 대한 예는 시작하기 AWS IoT CoreAWS IoT 디바이스 SDK, 모바일 SDK, AWS IoT 디바이스 클라이언트에서 시작하세요.

중요

주제 네임스페이스는 AWS 계정 및 지역으로 제한됩니다. 예를 들어 한 지역의 한 AWS 계정 계정에서 사용하는 sensor/temp/room1 주제가 다른 지역의 동일한 AWS 계정에서 사용하거나 특정 지역의 다른 계정에서 사용하는 주제와 다릅니다. sensor/temp/room1 AWS 계정

주제 ARN

모든 주제 Amazon 리소스 이름(ARN)의 형식은 다음과 같습니다.

arn:aws:iot:aws-region:AWS-account-ID:topic/Topic

예를 들어, arn:aws:iot:us-west-2:123EXAMPLE456:topic/application/topic/device/sensor application/topic/device/sensor 주제에 대한 ARN입니다.

주제 필터

구독 클라이언트는 메시지 브로커에 주제 필터를 등록하여 메시지 브로커가 전송해야 하는 메시지 주제를 지정합니다. 주제 필터는 단일 주제 이름을 구독하기 위한 단일 주제 이름일 수도 있고 여러 주제 이름을 동시에 구독하기 위한 와일드카드 문자를 포함할 수도 있습니다.

게시 클라이언트는 게시하는 주제 이름에 와일드카드 문자를 사용할 수 없습니다.

다음 표에는 주제 필터에 사용할 수 있는 와일드카드 문자가 나열되어 있습니다.

주제 와일드카드
와일드카드 문자 일치 항목 참고
# 주제 계층 구조에서 해당 수준 이하의 모든 문자열입니다.

주제 필터의 마지막 문자여야 합니다.

주제 계층 구조에서 해당 수준의 유일한 문자여야 합니다.

+ 와일드카드 문자가 포함된 항목 필터에서 사용할 수 있습니다.

+ 해당 문자를 포함하는 수준의 모든 문자열입니다.

주제 계층 구조에서 해당 수준의 유일한 문자여야 합니다.

주제 필터의 여러 수준에서 사용할 수 있습니다.

이전 센서 주제 이름 예제와 함께 와일드카드를 사용합니다.

  • sensor/#를 구독할 경우 sensor/, sensor/temperature, sensor/temperature/room1에 게시된 메시지가 수신되지만 sensor에 게시된 메시지는 수신되지 않습니다.

  • sensor/+/room1을 구독할 경우 sensor/temperature/room1sensor/humidity/room1에 게시된 메시지가 수신되지만 sensor/temperature/room2 또는 sensor/humidity/room2에 게시된 메시지는 수신되지 않습니다.

주제 필터 ARN

모든 주제 필터 Amazon 리소스 이름(ARN)의 형식은 다음과 같습니다.

arn:aws:iot:aws-region:AWS-account-ID:topicfilter/TopicFilter

예, arn:aws:iot:us-west-2:123EXAMPLE456:topicfilter/application/topic/+/sensor은(는) application/topic/+/sensor 주제 필터에 대한 ARN입니다.