기본 제공 엔드포인트에서 디바이스-클라우드 메시지 읽기
기본적으로 메시지는 Event Hubs와 호환되는 기본 제공 서비스 연결 엔드포인트(messages/events)로 라우팅됩니다. IoT Hub는 허브에서 수신한 디바이스-클라우드 메시지를 읽도록 백 엔드 서비스의 기본 제공 엔드포인트인 messages/events를 공개합니다. 이 엔드포인트는 Event Hubs와 호환되므로 Event Hubs 서비스에서 메시지 읽기를 지원하는 모든 메커니즘을 사용할 수 있습니다.
메시지 라우팅을 사용하고 대체 경로를 사용하는 경우 경로의 쿼리와 일치하지 않는 메시지는 기본 제공 엔드포인트로 이동합니다. 이 대체 경로를 사용하지 않도록 설정하면 쿼리와 일치하지 않는 메시지가 삭제됩니다.
이 엔드포인트는 현재 포트 5671의 AMQP 프로토콜과 포트 443의 WebSockets를 통한 AMQP만 사용하여 노출됩니다. IoT Hub는 기본 제공 Event Hubs 호환 메시징 엔드포인트 메시지/이벤트를 제어할 수 있도록 다음 속성을 노출합니다.
속성 | 설명 |
---|---|
분할 개수 | 이 속성은 생성 시 설정하여 디바이스-클라우드 이벤트 수집에 대한 파티션 수를 정의합니다. |
보존 시간 | 이 속성은 IoT Hub에서 메시지를 보존하는 기간(일)을 지정합니다. 기본값은 1일이지만 7일로 늘릴 수 있습니다. |
IoT Hub를 사용하면 기본 제공 엔드포인트에 최대 7일 동안 데이터를 보존할 수 있습니다. IoT 허브를 만드는 중에 보존 시간을 설정할 수 있습니다. IoT Hub의 데이터 보존 시간은 IoT 허브 계층 및 단위 유형에 따라 달라집니다. 크기 측면에서 기본 제공 엔드포인트는 최소 24시간 할당량까지 최대 메시지 크기의 메시지를 보존할 수 있습니다. 예를 들어 하나의 S1 단위 IoT 허브는 메시지당 4KB에서 400,000개 이상의 메시지를 보존할 수 있는 충분한 스토리지를 제공합니다. 디바이스에서 더 작은 메시지를 보내는 경우 사용된 스토리지 양에 따라 더 오래(최대 7일) 동안 보존될 수 있습니다. 데이터를 지정된 보존 시간 동안 최소한으로 보존하도록 보장됩니다. 보존 시간이 지나면 메시지가 만료되어 액세스할 수 없게 됩니다. IoT Hub 리소스 공급자 REST API를 사용하여 프로그래밍 방식으로 또는 Azure Portal을 사용하여 보존 시간을 수정할 수 있습니다.
IoT Hub를 사용하면 기본 제공 엔드포인트에서 소비자 그룹을 관리할 수도 있습니다. 각 IoT 허브당 최대 20개의 소비자 그룹이 있을 수 있습니다.
기본 제공 엔드포인트에 연결
일부 제품 통합 및 Event Hubs SDK에서는 IoT Hub를 인식하며, IoT 허브 서비스 연결 문자열을 사용하여 기본 제공 엔드포인트에 연결할 수 있습니다.
IoT Hub를 인식하지 않는 Event Hubs SDK 또는 제품 통합을 사용하는 경우 Event Hubs 호환 엔드포인트 및 Event Hubs 호환 이름이 필요합니다. 이러한 값은 다음과 같이 포털에서 검색할 수 있습니다.
Azure Portal에 로그인하고 IoT Hub로 이동합니다.
허브 설정 아래의 리소스 메뉴에서 기본 제공 엔드포인트를 선택합니다.
기본 제공 엔드포인트 작업 창에는 다음 세 개의 섹션이 포함되어 있습니다.
- 이벤트 허브 세부 정보 섹션에는 파티션, 이벤트 허브 호환 이름, 보유 기간 및 소비자 그룹 값이 포함되어 있습니다.
- 이벤트 허브 호환 엔드포인트 섹션에는 공유 액세스 정책 및 이벤트 허브 호환 엔드포인트 값이 포함되어 있습니다.
- 클라우드-디바이스 메시징 섹션에는 기본 TTL, 피드백 보존 시간 및 최대 배달 횟수 값이 포함되어 있습니다.
작업 창에서 이벤트 허브 호환 엔드포인트 필드에는 다음 예제와 같은 전체 Event Hubs 연결 문자열이 포함되어 있습니다.
Endpoint=sb://abcd1234namespace.servicebus.windows.net/;SharedAccessKeyName=iothubowner;SharedAccessKey=keykeykeykeykeykey=;EntityPath=iothub-ehub-abcd-1234-123456
사용하는 SDK에 다른 값이 필요한 경우 다음과 같습니다.
속성 | 값 |
---|---|
엔드포인트 | sb://abcd1234namespace.servicebus.windows.net/ |
Hostname | abcd1234namespace.servicebus.windows.net |
네임스페이스 | abcd1234namespace |
그런 다음, 이전 스크린샷에 표시된 대로 공유 액세스 정책 드롭다운 목록에서 공유 액세스 정책을 선택할 수 있습니다. 지정된 이벤트 허브에 연결할 수 있는 ServiceConnect 권한이 있는 정책만 표시됩니다.
SDK 샘플
IoT Hub가 노출하는 기본 제공 Event Hubs 호환 엔드포인트에 연결하는 데 사용할 수 있는 SDK는 다음과 같습니다.
다른 서비스 및 제품에 연결
IoT Hub가 노출하는 기본 제공 Event Hubs 호환 엔드포인트와 함께 사용할 수 있는 제품 통합은 다음과 같습니다.
-
자세한 내용은 Azure Functions에 대한 Azure IoT Hub 바인딩을 참조하세요.
-
자세한 내용은 Stream Analytics에 입력으로 데이터 스트리밍을 참조하세요.
-
자세한 내용은 Azure Time Series Insight 환경에 IoT 허브 이벤트 원본 추가를 참조하세요.
-
자세한 내용은 Azure Event Hubs용 Apache Kafka 개발자 가이드를 참조하세요.
다음 단계
IoT Hub 엔드포인트에 대한 자세한 내용은 IoT Hub 엔드포인트를 참조하세요.
디바이스-클라우드 메시지를 사용자 지정 엔드포인트로 라우팅하려면 디바이스-클라우드 메시지에 대해 메시지 라우팅 및 사용자 지정 엔드포인트 사용을 참조하세요.