MQTT 주제 - AWS IoT Core

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

MQTT 주제

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

메시지 브로커는 주제를 사용하여를 사용하여 전송MQTT되고를 사용하여 로 전송된 메시지를 식별HTTP합니다HTTPS 메시지 URL.

는 일부 예약된 시스템 주제를 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 계정수 없습니다.

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

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

중요

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

주제 ARN

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

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

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

주제 필터

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

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

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

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

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

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

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

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

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

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

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

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

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

주제 필터 ARN

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

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

예를 들어 arn:aws:iot:us-west-2:123EXAMPLE456:topicfilter/application/topic/+/sensor는 주제 필터ARN용 입니다 application/topic/+/sensor.