기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
MQTT 브리지
MQTT 브리지 구성 요소 (aws.greengrass.clientdevices.mqtt.Bridge
) 는 클라이언트 장치, 로컬 Greengrass 게시/구독 및 간에 MQTT 메시지를 중계합니다. AWS IoT Core이 구성 요소를 사용하여 사용자 지정 구성 요소에서 클라이언트 장치의 MQTT 메시지를 처리하고 클라이언트 장치를 와 동기화할 수 있습니다. AWS 클라우드
클라이언트 디바이스는 Greengrass 코어 디바이스에 연결하여 MQTT 메시지와 데이터를 전송하여 처리하는 로컬 IoT 디바이스입니다. 자세한 정보는 로컬 IoT 기기와 상호작용을 참조하세요.
이 구성 요소를 사용하여 다음 메시지 브로커 간에 메시지를 릴레이할 수 있습니다.
-
로컬 MQTT — 로컬 MQTT 브로커는 클라이언트 디바이스와 코어 디바이스 간의 메시지를 처리합니다.
-
로컬 게시/구독 — 로컬 Greengrass 메시지 브로커는 코어 디바이스의 구성 요소 간 메시지를 처리합니다. Greengrass 구성 요소에서 이러한 메시지와 상호 작용하는 방법에 대한 자세한 내용은 을 참조하십시오. 로컬 메시지 게시/구독
-
AWS IoT Core — AWS IoT Core MQTT 브로커는 IoT 장치와 AWS 클라우드 대상 간의 메시지를 처리합니다. Greengrass 구성 요소에서 이러한 메시지와 상호 작용하는 방법에 대한 자세한 내용은 을 참조하십시오. MQTT 메시지 게시/구독 AWS IoT Core
클라이언트 장치가 QoS 0을 사용하여 로컬 MQTT 브로커를 게시하고 AWS IoT Core구독하는 경우에도 MQTT 브리지는 QoS 1을 사용하여 게시하고 구독합니다. 따라서 로컬 MQTT 브로커의 클라이언트 디바이스에서 MQTT 메시지를 릴레이할 때 추가 지연이 발생할 수 있습니다. AWS IoT Core코어 디바이스의 MQTT 컨피그레이션에 대한 자세한 내용은 을 참조하십시오. MQTT 타임아웃 및 캐시 설정을 구성합니다.
버전
이 구성 요소의 버전은 다음과 같습니다.
유형
이 구성 요소는 플러그인 구성 요소 () aws.greengrass.plugin
입니다. Greengrass 핵은 핵과 동일한 자바 가상 머신 (JVM) 에서 이 구성 요소를 실행합니다. 코어 디바이스에서 이 구성 요소의 버전을 변경하면 NUCLEUS가 다시 시작됩니다.
이 구성 요소는 Greengrass 핵과 동일한 로그 파일을 사용합니다. 자세한 정보는 모니터 AWS IoT Greengrass 로그을 참조하세요.
자세한 정보는 구성 요소 유형을 참조하세요.
운영 체제
이 구성 요소는 다음 운영 체제를 실행하는 코어 디바이스에 설치할 수 있습니다.
요구 사항
이 구성 요소의 요구 사항은 다음과 같습니다.
의존성
구성 요소를 배포하면 호환되는 버전의 종속 AWS IoT Greengrass 항목도 배포됩니다. 즉, 구성 요소를 성공적으로 배포하려면 구성 요소 및 해당 종속성에 대한 요구 사항을 모두 충족해야 합니다. 이 섹션에는 이 구성 요소의 릴리스된 버전에 대한 종속성과 각 종속성에 대한 구성 요소 버전을 정의하는 시맨틱 버전 제약 조건이 나열되어 있습니다. 콘솔에서 구성 요소의 각 버전에 대한 종속성을 볼 수도 있습니다.AWS IoT Greengrass 구성 요소 세부 정보 페이지에서 종속성 목록을 찾아보십시오.
- 2.3.2
-
다음 표에는 이 구성 요소의 버전 2.3.2에 대한 종속성이 나와 있습니다.
- 2.3.0 and 2.3.1
-
다음 표에는 이 구성 요소의 버전 2.3.0 및 2.3.1에 대한 종속성이 나와 있습니다.
- 2.2.5 and 2.2.6
-
다음 표에는 이 구성 요소의 버전 2.2.5 및 2.2.6에 대한 종속성이 나와 있습니다.
- 2.2.3 and 2.2.4
-
다음 표에는 이 구성 요소의 버전 2.2.3 및 2.2.4에 대한 종속성이 나와 있습니다.
- 2.2.0 – 2.2.2
-
다음 표에는 이 구성 요소의 버전 2.2.0~2.2.2에 대한 종속성이 나와 있습니다.
- 2.1.1
-
다음 표에는 이 구성 요소의 버전 2.1.1에 대한 종속성이 나열되어 있습니다.
- 2.0.0 to 2.1.0
-
다음 표에는 이 구성 요소의 버전 2.0.0~2.1.0에 대한 종속성이 나와 있습니다.
구성 요소 종속성에 대한 자세한 내용은 구성 요소 레시피 참조를 참조하십시오.
구성
이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음과 같은 구성 매개 변수를 제공합니다.
- 2.3.0 – 2.3.2
-
mqttTopicMapping
-
연결하려는 주제 매핑. 이 구성 요소는 소스 주제의 메시지를 구독하고 수신한 메시지를 대상 주제에 게시합니다. 각 주제 매핑은 주제, 원본 유형 및 대상 유형을 정의합니다.
이 객체에는 다음 정보가 포함되어 있어야 합니다.
topicMappingNameKey
-
이 주제 매핑의 이름. topicMappingName키를
이 주제 매핑을 식별하는 데 도움이 되는 이름으로 바꾸십시오.
이 객체에는 다음 정보가 포함되어 있어야 합니다.
topic
-
소스 브로커와 대상 브로커 사이를 연결하는 주제 또는 주제 필터.
+
및 #
MQTT 주제 와일드카드를 사용하여 주제 필터와 일치하는 모든 주제에 대한 메시지를 릴레이할 수 있습니다. 자세한 내용은 개발자 안내서의 MQTT 주제를 참조하십시오.AWS IoT Core
targetTopicPrefix
-
이 구성 요소가 메시지를 릴레이할 때 대상 주제에 추가할 접두사입니다.
source
-
소스 메시지 브로커. 다음 옵션 중 하나를 선택합니다.
-
LocalMqtt
— 클라이언트 디바이스가 통신하는 로컬 MQTT 브로커입니다.
-
Pubsub
— 현지 Greengrass 게시/구독 메시지 브로커.
-
IotCore
— AWS IoT Core MQTT 메시지 브로커.
클라이언트 장치가 QoS 0을 사용하여 로컬 MQTT 브로커를 게시하고 AWS IoT Core구독하는 경우에도 MQTT 브리지는 QoS 1을 사용하여 게시하고 구독합니다. 따라서 로컬 MQTT 브로커의 클라이언트 디바이스에서 MQTT 메시지를 릴레이할 때 추가 지연이 발생할 수 있습니다. AWS IoT Core코어 디바이스의 MQTT 컨피그레이션에 대한 자세한 내용은 을 참조하십시오. MQTT 타임아웃 및 캐시 설정을 구성합니다.
source
그리고 target
달라야 합니다.
target
-
대상 메시지 브로커. 다음 옵션 중 하나를 선택합니다.
-
LocalMqtt
— 클라이언트 디바이스가 통신하는 로컬 MQTT 브로커입니다.
-
Pubsub
— 현지 Greengrass 게시/구독 메시지 브로커.
-
IotCore
— AWS IoT Core MQTT 메시지 브로커.
클라이언트 장치가 QoS 0을 사용하여 로컬 MQTT 브로커를 게시하고 AWS IoT Core구독하는 경우에도 MQTT 브리지는 QoS 1을 사용하여 게시하고 구독합니다. 따라서 로컬 MQTT 브로커의 클라이언트 디바이스에서 MQTT 메시지를 릴레이할 때 추가 지연이 발생할 수 있습니다. AWS IoT Core코어 디바이스의 MQTT 컨피그레이션에 대한 자세한 내용은 을 참조하십시오. MQTT 타임아웃 및 캐시 설정을 구성합니다.
source
그리고 target
달라야 합니다.
- mqtt5 RouteOptions
-
(선택 사항) 소스 주제에서 대상 주제로 메시지를 브리징하기 위한 주제 매핑을 구성하는 옵션을 제공합니다.
이 객체에는 다음 정보가 포함되어 있어야 합니다.
mqtt5 RouteOptionsNameKey
-
주제 매핑을 위한 경로 옵션의 이름. RouteOptionsNameKeymqtt5를
필드에 정의된 일치하는 topicMappingName키로
바꿉니다. mqttTopicMapping
이 객체에는 다음 정보가 포함되어 있어야 합니다.
- 노로컬
-
(선택 사항) 활성화된 경우 브리지는 브리지 자체에서 게시한 주제에 대한 메시지를 전달하지 않습니다. 이 방법을 사용하면 다음과 같이 루프를 방지할 수 있습니다.
{
"mqtt5RouteOptions": {
"toIoTCore": {
"noLocal": true
}
},
"mqttTopicMapping": {
"toIoTCore": {
"topic": "device",
"source": "LocalMqtt",
"target": "IotCore"
},
"toLocal": {
"topic": "device",
"source": "IotCore",
"target": "LocalMqtt"
}
}
}
noLocal
가 있는 라우트에만 지원됩니다LocalMqtt
. source
기본값: false
- retainAsPublished
-
(선택 사항) 활성화된 경우 브리지에서 전달된 메시지는 해당 경로에 대해 브로커에 게시된 메시지와 동일한 retain
플래그를 갖습니다.
retainAsPublished
가 있는 라우트에서만 지원됩니다. source
LocalMqtt
기본값: false
- mqtt
-
(선택 사항) 로컬 브로커와 통신하기 위한 MQTT 프로토콜 설정.
- version
-
(선택 사항) 브리지에서 로컬 브로커와 통신하는 데 사용하는 MQTT 프로토콜 버전입니다. 핵 구성에서 선택한 MQTT 버전과 동일해야 합니다.
다음 중에서 선택합니다.
mqttTopicMapping
객체의 source
또는 target
필드가 로 설정된 경우 MQTT 브로커를 배포해야 합니다. LocalMqtt
mqtt5
옵션을 선택한 경우 를 사용해야 합니다. 맷 5 브로커 (EMQX)
기본값: mqtt3
- ackTimeoutSeconds
-
(선택 사항) 작업이 실패하기 전에 PUBACK, SUBACK 또는 UNSUBACK 패킷을 기다리는 시간 간격.
기본값: 60
- connAckTimeout밀리초
-
(선택 사항) 연결을 종료하기 전에 CONNACK 패킷을 기다리는 시간 간격
기본값: 20000 (20초)
- pingTimeoutMs
-
(선택 사항) 브리지가 로컬 브로커로부터 PINGACK 메시지를 수신할 때까지 기다리는 시간 (밀리초). 대기 시간이 제한 시간을 초과하면 브리지가 닫히고 MQTT 연결이 다시 열립니다. 이 값은 다음보다 작아야 합니다. keepAliveTimeoutSeconds
기본값: 30000 (30초)
- keepAliveTimeout초
-
(선택 사항) MQTT 연결을 유지하기 위해 브리지가 전송하는 각 PING 메시지 사이의 시간 (초) 입니다. 이 값은 보다 pingTimeoutMs
커야 합니다.
기본값: 60
- maxReconnectDelayMs
-
(선택 사항) MQTT가 다시 연결되는 데 걸리는 최대 시간 (초) 입니다.
기본값: 30000 (30초)
- minReconnectDelayMs
-
(선택 사항) MQTT가 다시 연결되는 데 걸리는 최소 시간 (초) 입니다.
- 최대 수신
-
(선택 사항) 브리지가 전송할 수 있는 승인되지 않은 QoS1 패킷의 최대 수입니다.
기본값: 100
- maximumPacketSize
-
클라이언트가 MQTT 패킷에 허용하는 최대 바이트 수입니다.
기본값: null (제한 없음)
- sessionExpiryInterval
-
(선택 사항) 브리지와 로컬 브로커 간에 세션이 지속되도록 요청할 수 있는 시간 (초).
기본값: 4294967295 (세션은 만료되지 않음)
brokerUri
-
(선택 사항) 로컬 MQTT 브로커의 URI입니다. MQTT 브로커가 기본 포트 8883이 아닌 다른 포트를 사용하도록 구성하는 경우 이 매개 변수를 지정해야 합니다. 다음 형식을 사용하고 포트를
MQTT 브로커가 작동하는 포트로 교체하십시오. ssl://localhost:port
기본값: ssl://localhost:8883
- startupTimeoutSeconds
-
(선택 사항) 구성 요소를 시작하는 데 걸리는 최대 시간 (초). 이 제한 시간을 BROKEN
초과하면 구성 요소의 상태가 로 변경됩니다.
기본값: 120
예: 구성 병합 업데이트
다음 예제 구성 업데이트는 다음을 지정합니다.
-
클라이언트 장치의 메시지를 clients/+/hello/world
주제 필터와 일치하는 AWS IoT Core 주제로 릴레이합니다.
-
주제 필터와 일치하는 주제에 대해 클라이언트 장치의 메시지를 로컬 게시/구독으로 중계하고 대상 clients/+/detections
주제에 events/input/
접두사를 추가합니다. 결과 대상 주제는 주제 필터와 일치합니다. events/input/clients/+/detections
-
클라이언트 장치의 메시지를 주제 필터와 일치하는 주제로 전달하고 대상 clients/+/status
주제에 $aws/rules/StatusUpdateRule/
접두사를 추가합니다. AWS IoT Core 이 예제에서는 Basic Ingest를 사용하여 비용을 절감하기 StatusUpdateRule
위해 이름이 지정된 AWS IoT 규칙에 이러한 메시지를 직접 전달합니다.
{
"mqttTopicMapping": {
"ClientDeviceHelloWorld": {
"topic": "clients/+/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
},
"ClientDeviceEvents": {
"topic": "clients/+/detections",
"targetTopicPrefix": "events/input/",
"source": "LocalMqtt",
"target": "Pubsub"
},
"ClientDeviceCloudStatusUpdate": {
"topic": "clients/+/status",
"targetTopicPrefix": "$aws/rules/StatusUpdateRule/",
"source": "LocalMqtt",
"target": "IotCore"
}
}
}
예: MQTT 5 구성
다음 예제 컨피그레이션은 다음을 업데이트합니다.
{
"mqttTopicMapping": {
"ClientDeviceHelloWorld": {
"topic": "clients/+/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
}
},
"mqtt5RouteOptions": {
"ClientDeviceHelloWorld": {
"retainAsPublished": true
}
},
"mqtt": {
"version": "mqtt5"
}
}
- 2.2.6
-
mqttTopicMapping
-
연결하려는 주제 매핑. 이 구성 요소는 소스 주제의 메시지를 구독하고 수신한 메시지를 대상 주제에 게시합니다. 각 주제 매핑은 주제, 원본 유형 및 대상 유형을 정의합니다.
이 객체에는 다음 정보가 포함되어 있어야 합니다.
topicMappingNameKey
-
이 주제 매핑의 이름. topicMappingName키를
이 주제 매핑을 식별하는 데 도움이 되는 이름으로 바꾸십시오.
이 객체에는 다음 정보가 포함되어 있어야 합니다.
topic
-
소스 브로커와 대상 브로커 사이를 연결하는 주제 또는 주제 필터.
+
및 #
MQTT 주제 와일드카드를 사용하여 주제 필터와 일치하는 모든 주제에 대한 메시지를 릴레이할 수 있습니다. 자세한 내용은 개발자 안내서의 MQTT 주제를 참조하십시오.AWS IoT Core
targetTopicPrefix
-
이 구성 요소가 메시지를 릴레이할 때 대상 주제에 추가할 접두사입니다.
source
-
소스 메시지 브로커. 다음 옵션 중 하나를 선택합니다.
-
LocalMqtt
— 클라이언트 디바이스가 통신하는 로컬 MQTT 브로커입니다.
-
Pubsub
— 현지 Greengrass 게시/구독 메시지 브로커.
-
IotCore
— AWS IoT Core MQTT 메시지 브로커.
클라이언트 장치가 QoS 0을 사용하여 로컬 MQTT 브로커를 게시하고 AWS IoT Core구독하는 경우에도 MQTT 브리지는 QoS 1을 사용하여 게시하고 구독합니다. 따라서 로컬 MQTT 브로커의 클라이언트 디바이스에서 MQTT 메시지를 릴레이할 때 추가 지연이 발생할 수 있습니다. AWS IoT Core코어 디바이스의 MQTT 컨피그레이션에 대한 자세한 내용은 을 참조하십시오. MQTT 타임아웃 및 캐시 설정을 구성합니다.
source
그리고 target
달라야 합니다.
target
-
대상 메시지 브로커. 다음 옵션 중 하나를 선택합니다.
-
LocalMqtt
— 클라이언트 디바이스가 통신하는 로컬 MQTT 브로커입니다.
-
Pubsub
— 현지 Greengrass 게시/구독 메시지 브로커.
-
IotCore
— AWS IoT Core MQTT 메시지 브로커.
클라이언트 장치가 QoS 0을 사용하여 로컬 MQTT 브로커를 게시하고 AWS IoT Core구독하는 경우에도 MQTT 브리지는 QoS 1을 사용하여 게시하고 구독합니다. 따라서 로컬 MQTT 브로커의 클라이언트 디바이스에서 MQTT 메시지를 릴레이할 때 추가 지연이 발생할 수 있습니다. AWS IoT Core코어 디바이스의 MQTT 컨피그레이션에 대한 자세한 내용은 을 참조하십시오. MQTT 타임아웃 및 캐시 설정을 구성합니다.
source
그리고 target
달라야 합니다.
brokerUri
-
(선택 사항) 로컬 MQTT 브로커의 URI입니다. MQTT 브로커가 기본 포트 8883이 아닌 다른 포트를 사용하도록 구성하는 경우 이 매개 변수를 지정해야 합니다. 다음 형식을 사용하고 포트를
MQTT 브로커가 작동하는 포트로 교체하십시오. ssl://localhost:port
기본값: ssl://localhost:8883
- startupTimeoutSeconds
-
(선택 사항) 구성 요소를 시작하는 데 걸리는 최대 시간 (초). 이 제한 시간을 BROKEN
초과하면 구성 요소의 상태가 로 변경됩니다.
기본값: 120
예: 구성 병합 업데이트
다음 예제 구성 업데이트는 다음을 지정합니다.
-
클라이언트 장치의 메시지를 clients/+/hello/world
주제 필터와 일치하는 AWS IoT Core 주제로 릴레이합니다.
-
주제 필터와 일치하는 주제에 대해 클라이언트 장치의 메시지를 로컬 게시/구독으로 중계하고 대상 clients/+/detections
주제에 events/input/
접두사를 추가합니다. 결과 대상 주제는 주제 필터와 일치합니다. events/input/clients/+/detections
-
클라이언트 장치의 메시지를 주제 필터와 일치하는 주제로 전달하고 대상 clients/+/status
주제에 $aws/rules/StatusUpdateRule/
접두사를 추가합니다. AWS IoT Core 이 예제에서는 Basic Ingest를 사용하여 비용을 절감하기 StatusUpdateRule
위해 이름이 지정된 AWS IoT 규칙에 이러한 메시지를 직접 전달합니다.
{
"mqttTopicMapping": {
"ClientDeviceHelloWorld": {
"topic": "clients/+/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
},
"ClientDeviceEvents": {
"topic": "clients/+/detections",
"targetTopicPrefix": "events/input/",
"source": "LocalMqtt",
"target": "Pubsub"
},
"ClientDeviceCloudStatusUpdate": {
"topic": "clients/+/status",
"targetTopicPrefix": "$aws/rules/StatusUpdateRule/",
"source": "LocalMqtt",
"target": "IotCore"
}
}
}
- 2.2.0 - 2.2.5
-
mqttTopicMapping
-
연결하려는 주제 매핑. 이 구성 요소는 소스 주제의 메시지를 구독하고 수신한 메시지를 대상 주제에 게시합니다. 각 주제 매핑은 주제, 원본 유형 및 대상 유형을 정의합니다.
이 객체에는 다음 정보가 포함되어 있어야 합니다.
topicMappingNameKey
-
이 주제 매핑의 이름. topicMappingName키를
이 주제 매핑을 식별하는 데 도움이 되는 이름으로 바꾸십시오.
이 객체에는 다음 정보가 포함되어 있어야 합니다.
topic
-
소스 브로커와 대상 브로커 사이를 연결하는 주제 또는 주제 필터.
+
및 #
MQTT 주제 와일드카드를 사용하여 주제 필터와 일치하는 모든 주제에 대한 메시지를 릴레이할 수 있습니다. 자세한 내용은 개발자 안내서의 MQTT 주제를 참조하십시오.AWS IoT Core
targetTopicPrefix
-
이 구성 요소가 메시지를 릴레이할 때 대상 주제에 추가할 접두사입니다.
source
-
소스 메시지 브로커. 다음 옵션 중 하나를 선택합니다.
-
LocalMqtt
— 클라이언트 디바이스가 통신하는 로컬 MQTT 브로커입니다.
-
Pubsub
— 현지 Greengrass 게시/구독 메시지 브로커.
-
IotCore
— AWS IoT Core MQTT 메시지 브로커.
클라이언트 장치가 QoS 0을 사용하여 로컬 MQTT 브로커를 게시하고 AWS IoT Core구독하는 경우에도 MQTT 브리지는 QoS 1을 사용하여 게시하고 구독합니다. 따라서 로컬 MQTT 브로커의 클라이언트 디바이스에서 MQTT 메시지를 릴레이할 때 추가 지연이 발생할 수 있습니다. AWS IoT Core코어 디바이스의 MQTT 컨피그레이션에 대한 자세한 내용은 을 참조하십시오. MQTT 타임아웃 및 캐시 설정을 구성합니다.
source
그리고 target
달라야 합니다.
target
-
대상 메시지 브로커. 다음 옵션 중 하나를 선택합니다.
-
LocalMqtt
— 클라이언트 디바이스가 통신하는 로컬 MQTT 브로커입니다.
-
Pubsub
— 현지 Greengrass 게시/구독 메시지 브로커.
-
IotCore
— AWS IoT Core MQTT 메시지 브로커.
클라이언트 장치가 QoS 0을 사용하여 로컬 MQTT 브로커를 게시하고 AWS IoT Core구독하는 경우에도 MQTT 브리지는 QoS 1을 사용하여 게시하고 구독합니다. 따라서 로컬 MQTT 브로커의 클라이언트 디바이스에서 MQTT 메시지를 릴레이할 때 추가 지연이 발생할 수 있습니다. AWS IoT Core코어 디바이스의 MQTT 컨피그레이션에 대한 자세한 내용은 을 참조하십시오. MQTT 타임아웃 및 캐시 설정을 구성합니다.
source
그리고 target
달라야 합니다.
brokerUri
-
(선택 사항) 로컬 MQTT 브로커의 URI입니다. MQTT 브로커가 기본 포트 8883이 아닌 다른 포트를 사용하도록 구성하는 경우 이 매개 변수를 지정해야 합니다. 다음 형식을 사용하고 포트를
MQTT 브로커가 작동하는 포트로 교체하십시오. ssl://localhost:port
기본값: ssl://localhost:8883
예: 구성 병합 업데이트
다음 예제 구성 업데이트는 다음을 지정합니다.
-
클라이언트 장치의 메시지를 clients/+/hello/world
주제 필터와 일치하는 AWS IoT Core 주제로 릴레이합니다.
-
주제 필터와 일치하는 주제에 대해 클라이언트 장치의 메시지를 로컬 게시/구독으로 중계하고 대상 clients/+/detections
주제에 events/input/
접두사를 추가합니다. 결과 대상 주제는 주제 필터와 일치합니다. events/input/clients/+/detections
-
클라이언트 장치의 메시지를 주제 필터와 일치하는 주제로 전달하고 대상 clients/+/status
주제에 $aws/rules/StatusUpdateRule/
접두사를 추가합니다. AWS IoT Core 이 예제에서는 Basic Ingest를 사용하여 비용을 절감하기 StatusUpdateRule
위해 이름이 지정된 AWS IoT 규칙에 이러한 메시지를 직접 전달합니다.
{
"mqttTopicMapping": {
"ClientDeviceHelloWorld": {
"topic": "clients/+/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
},
"ClientDeviceEvents": {
"topic": "clients/+/detections",
"targetTopicPrefix": "events/input/",
"source": "LocalMqtt",
"target": "Pubsub"
},
"ClientDeviceCloudStatusUpdate": {
"topic": "clients/+/status",
"targetTopicPrefix": "$aws/rules/StatusUpdateRule/",
"source": "LocalMqtt",
"target": "IotCore"
}
}
}
- 2.1.x
-
mqttTopicMapping
-
연결하려는 주제 매핑. 이 구성 요소는 소스 주제의 메시지를 구독하고 수신한 메시지를 대상 주제에 게시합니다. 각 주제 매핑은 주제, 원본 유형 및 대상 유형을 정의합니다.
이 객체에는 다음 정보가 포함되어 있어야 합니다.
topicMappingNameKey
-
이 주제 매핑의 이름. topicMappingName키를
이 주제 매핑을 식별하는 데 도움이 되는 이름으로 바꾸십시오.
이 객체에는 다음 정보가 포함되어 있어야 합니다.
topic
-
소스 브로커와 대상 브로커 사이를 연결하는 주제 또는 주제 필터.
LocalMqtt
or IotCore
소스 브로커를 지정하는 경우 +
및 #
MQTT 주제 와일드카드를 사용하여 주제 필터와 일치하는 모든 주제에 대한 메시지를 릴레이할 수 있습니다. 자세한 내용은 개발자 안내서의 MQTT 주제를 참조하십시오.AWS IoT Core
source
-
소스 메시지 브로커. 다음 옵션 중 하나를 선택합니다.
-
LocalMqtt
— 클라이언트 디바이스가 통신하는 로컬 MQTT 브로커입니다.
-
Pubsub
— 현지 Greengrass 게시/구독 메시지 브로커.
-
IotCore
— AWS IoT Core MQTT 메시지 브로커.
클라이언트 장치가 QoS 0을 사용하여 로컬 MQTT 브로커를 게시하고 AWS IoT Core구독하는 경우에도 MQTT 브리지는 QoS 1을 사용하여 게시하고 구독합니다. 따라서 로컬 MQTT 브로커의 클라이언트 디바이스에서 MQTT 메시지를 릴레이할 때 추가 지연이 발생할 수 있습니다. AWS IoT Core코어 디바이스의 MQTT 컨피그레이션에 대한 자세한 내용은 을 참조하십시오. MQTT 타임아웃 및 캐시 설정을 구성합니다.
source
그리고 target
달라야 합니다.
target
-
대상 메시지 브로커. 다음 옵션 중 하나를 선택합니다.
-
LocalMqtt
— 클라이언트 디바이스가 통신하는 로컬 MQTT 브로커입니다.
-
Pubsub
— 현지 Greengrass 게시/구독 메시지 브로커.
-
IotCore
— AWS IoT Core MQTT 메시지 브로커.
클라이언트 장치가 QoS 0을 사용하여 로컬 MQTT 브로커를 게시하고 AWS IoT Core구독하는 경우에도 MQTT 브리지는 QoS 1을 사용하여 게시하고 구독합니다. 따라서 로컬 MQTT 브로커의 클라이언트 디바이스에서 MQTT 메시지를 릴레이할 때 추가 지연이 발생할 수 있습니다. AWS IoT Core코어 디바이스의 MQTT 컨피그레이션에 대한 자세한 내용은 을 참조하십시오. MQTT 타임아웃 및 캐시 설정을 구성합니다.
source
그리고 target
달라야 합니다.
brokerUri
-
(선택 사항) 로컬 MQTT 브로커의 URI입니다. MQTT 브로커가 기본 포트 8883이 아닌 다른 포트를 사용하도록 구성하는 경우 이 매개 변수를 지정해야 합니다. 다음 형식을 사용하고 포트를
MQTT 브로커가 작동하는 포트로 교체하십시오. ssl://localhost:port
기본값: ssl://localhost:8883
예: 구성 병합 업데이트
다음 예제 구성 업데이트는 클라이언트 장치의 메시지를 clients/MyClientDevice1/hello/world
및 clients/MyClientDevice2/hello/world
항목으로 릴레이하도록 AWS IoT Core 지정합니다.
{
"mqttTopicMapping": {
"ClientDevice1HelloWorld": {
"topic": "clients/MyClientDevice1/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
},
"ClientDevice2HelloWorld": {
"topic": "clients/MyClientDevice2/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
}
}
}
- 2.0.x
-
mqttTopicMapping
-
연결하려는 주제 매핑. 이 구성 요소는 소스 주제의 메시지를 구독하고 수신한 메시지를 대상 주제에 게시합니다. 각 주제 매핑은 주제, 원본 유형 및 대상 유형을 정의합니다.
이 객체에는 다음 정보가 포함되어 있어야 합니다.
topicMappingNameKey
-
이 주제 매핑의 이름. topicMappingName키를
이 주제 매핑을 식별하는 데 도움이 되는 이름으로 바꾸십시오.
이 객체에는 다음 정보가 포함되어 있어야 합니다.
topic
-
소스 브로커와 대상 브로커 사이를 연결하는 주제 또는 주제 필터.
LocalMqtt
or IotCore
소스 브로커를 지정하는 경우 +
및 #
MQTT 주제 와일드카드를 사용하여 주제 필터와 일치하는 모든 주제에 대한 메시지를 릴레이할 수 있습니다. 자세한 내용은 개발자 안내서의 MQTT 주제를 참조하십시오.AWS IoT Core
source
-
소스 메시지 브로커. 다음 옵션 중 하나를 선택합니다.
-
LocalMqtt
— 클라이언트 디바이스가 통신하는 로컬 MQTT 브로커입니다.
-
Pubsub
— 현지 Greengrass 게시/구독 메시지 브로커.
-
IotCore
— AWS IoT Core MQTT 메시지 브로커.
클라이언트 장치가 QoS 0을 사용하여 로컬 MQTT 브로커를 게시하고 AWS IoT Core구독하는 경우에도 MQTT 브리지는 QoS 1을 사용하여 게시하고 구독합니다. 따라서 로컬 MQTT 브로커의 클라이언트 디바이스에서 MQTT 메시지를 릴레이할 때 추가 지연이 발생할 수 있습니다. AWS IoT Core코어 디바이스의 MQTT 컨피그레이션에 대한 자세한 내용은 을 참조하십시오. MQTT 타임아웃 및 캐시 설정을 구성합니다.
source
그리고 target
달라야 합니다.
target
-
대상 메시지 브로커. 다음 옵션 중 하나를 선택합니다.
-
LocalMqtt
— 클라이언트 디바이스가 통신하는 로컬 MQTT 브로커입니다.
-
Pubsub
— 현지 Greengrass 게시/구독 메시지 브로커.
-
IotCore
— AWS IoT Core MQTT 메시지 브로커.
클라이언트 장치가 QoS 0을 사용하여 로컬 MQTT 브로커를 게시하고 AWS IoT Core구독하는 경우에도 MQTT 브리지는 QoS 1을 사용하여 게시하고 구독합니다. 따라서 로컬 MQTT 브로커의 클라이언트 디바이스에서 MQTT 메시지를 릴레이할 때 추가 지연이 발생할 수 있습니다. AWS IoT Core코어 디바이스의 MQTT 컨피그레이션에 대한 자세한 내용은 을 참조하십시오. MQTT 타임아웃 및 캐시 설정을 구성합니다.
source
그리고 target
달라야 합니다.
예: 구성 병합 업데이트
다음 예제 구성 업데이트는 클라이언트 장치의 메시지를 clients/MyClientDevice1/hello/world
및 clients/MyClientDevice2/hello/world
항목으로 릴레이하도록 AWS IoT Core 지정합니다.
{
"mqttTopicMapping": {
"ClientDevice1HelloWorld": {
"topic": "clients/MyClientDevice1/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
},
"ClientDevice2HelloWorld": {
"topic": "clients/MyClientDevice2/hello/world",
"source": "LocalMqtt",
"target": "IotCore"
}
}
}
로컬 로그 파일
이 구성 요소는 Greengrass 핵 구성 요소와 동일한 로그 파일을 사용합니다.
- Linux
-
/greengrass/v2
/logs/greengrass.log
- Windows
-
C:\greengrass\v2
\logs\greengrass.log
Changelog
다음 표에는 각 구성 요소 버전의 변경 사항이 설명되어 있습니다.
버전
|
변경
|
2.3.2
|
클라이언트 장치 인증 버전 2.5.0 릴리스용으로 버전이 업데이트되었습니다.
|
2.3.1 |
- 버그 수정 및 개선
-
로컬 MQTT 클라이언트가 연결 해제 루프에 빠지는 문제를 수정합니다.
|
2.3.0 |
- 새로운 기능
-
로컬 MQTT AWS IoT Core 소스와 로컬 MQTT 소스 간의 브리징을 위한 MQTT5 지원을 추가합니다.
|
2.2.6
|
- 새로운 기능
-
새 startupTimeoutSeconds 구성 옵션을 추가합니다.
|
2.2.5
|
클라이언트 장치 인증 버전 2.4.0 릴리스용으로 버전이 업데이트되었습니다.
|
2.2.4
|
Greengrass 클라이언트 장치 인증 버전 2.3.0 릴리스에 대한 버전이 업데이트되었습니다.
|
2.2.3
|
이 버전에는 버그 수정 및 개선 사항이 포함되어 있습니다.
|
2.2.2
|
|
2.2.1
|
- 버그 수정 및 개선
-
MQTT 브리지에서 MQTT 주제를 구독하지 못하는 문제가 수정되었습니다.
|
2.2.0
|
|
2.1.1
|
|
2.1.0
|
|
2.0.1
|
이 버전에는 버그 수정 및 개선 사항이 포함되어 있습니다.
|
2.0.0
|
초기 버전
|