다음을 통해 공유


자습서: 네임스페이스 토픽을 사용하여 MQTT 메시지를 Azure Event Hubs(Azure Portal)로 라우팅

이 자습서에서는 네임스페이스 토픽을 사용하여 MQTT 클라이언트에서 Azure Event Hubs로 데이터를 라우팅하는 방법을 알아봅니다.

필수 조건

  • Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.
  • Event Grid를 새로 사용하는 경우 시작하기 전에 Event Grid 개요 를 읽어 보세요.
  • Event Grid 리소스 공급자 등록하기의 단계에 따라 Event Grid 리소스 공급자를 등록합니다.
  • 방화벽에서 포트 8883이 열려 있는지 확인합니다. 이 자습서의 샘플은 포트 8883을 통해 통신하는 MQTT 프로토콜을 사용합니다. 이 포트는 일부 회사 및 교육용 네트워크 환경에서 차단될 수 있습니다.

Azure Portal에서 네임스페이스 만들기

Azure Event Grid의 네임스페이스는 하나 이상의 토픽, 클라이언트, 클라이언트 그룹, 토픽 공간 및 권한 바인딩에 대한 논리적 컨테이너입니다. Azure Event Grid 네임스페이스를 사용하면 관련 리소스를 그룹화하고 Azure 구독에서 단일 단위로 관리할 수 있습니다. 고유한 네임스페이스를 사용하면 동일한 Azure 지역에 여러 리소스를 가질 수 있습니다.

네임스페이스를 만들려면

  1. Azure Portal에 로그인합니다.

  2. 검색 상자에 Event Grid 네임스페이스를 입력하고 결과에서 Event Grid 네임스페이스를 선택합니다.

    검색 결과의 Event Grid 네임스페이스를 보여 주는 스크린샷.

  3. Event Grid 네임스페이스 페이지에서 + 만들기를 선택합니다.

    도구 모음에서 만들기 단추가 선택된 Event Grid 네임스페이스 페이지를 보여 주는 스크린샷.

  4. 기본 페이지에서 다음 단계를 수행합니다.

    1. 네임스페이스를 만들 Azure 구독을 선택합니다.

    2. 기존 리소스 그룹을 선택하거나 리소스 그룹을 만듭니다.

    3. 네임스페이스의 이름을 입력합니다.

    4. 네임스페이스의 위치를 선택합니다.

    5. Review + create를 선택합니다.

      네임스페이스 만들기 페이지의 기본 탭을 보여 주는 스크린샷.

  5. 검토 + 만들기 탭에서 설정을 검토합니다. 그런 다음 만들기를 선택합니다.

  6. 성공한 배포 페이지에서 리소스로 이동을 선택하여 네임스페이스로 이동합니다.

네임스페이스 토픽 만들기

  1. Event Grid 네임스페이스 페이지에 있지 않은 경우 네임스페이스 만들기, 보기 및 관리 단계에 따라 토픽을 만드는 데 사용할 네임스페이스를 확인합니다.

  2. Event Grid 네임스페이스 페이지의 Event Broker에서 토픽을 선택합니다.

  3. 토픽 페이지에서 + 토픽을 선택합니다.

    Event Grid 네임스페이스 토픽 만들기를 보여 주는 스크린샷.

  4. 토픽 만들기 페이지에서 만들려는 토픽의 이름을 입력하고 만들기를 선택합니다.

    Event Grid 네임스페이스 토픽 만들기 기본 사항을 보여 주는 스크린샷.

Event Grid 네임스페이스에 대해 관리 ID 사용

  1. Event Grid 네임스페이스 페이지의 설정에서 ID를 선택합니다.

  2. 시스템 할당 관리 ID를 사용하도록 설정하려면 [켜기]를 선택합니다.

  3. 저장을 선택하여 설정을 저장합니다.

    Event Grid 네임스페이스에 대한 시스템 할당 ID 페이지의 스크린샷.

  4. 확인 메시지에서 예를 선택합니다.

  5. 시스템 할당 관리 ID의 개체 ID와 역할을 할당하는 링크가 표시되는지 확인합니다.

    네임스페이스에 ID 할당이 완료되었음을 보여 주는 스크린샷.

    Azure Portal에서 알림을 확인하여 네임스페이스에 대해 관리 ID가 사용하도록 설정되어 있는지 확인합니다.

Event Grid 네임스페이스에 대해 MQTT 브로커를 사용하도록 설정합니다.

  1. Event Grid 네임스페이스 페이지의 설정에서 구성을 선택합니다.

  2. MQTT 브로커 사용을 선택합니다.

  3. 적용을 선택합니다.

    MQTT를 사용하도록 설정하기 위한 Event Grid 네임스페이스 구성 페이지를 보여 주는 스크린샷.

    Azure Portal에서 알림을 확인하여 MQTT 브로커가 네임스페이스에 대해 사용하도록 설정되어 있는지 확인합니다.

웹 브라우저의 별도 탭이나 별도 창에서 Azure Portal을 사용하여 Event Hubs가 포함된 Event Hubs 네임스페이스를 만듭니다.

Event Hubs 네임스페이스 만들기

Event Hubs 네임스페이스는 이벤트 허브를 만드는 고유한 범위 지정 컨테이너를 제공합니다. 포털을 사용하여 리소스 그룹에 네임스페이스를 만들려면 다음을 수행합니다.

  1. Azure Portal의 플라이아웃 메뉴에서 모든 서비스를 선택합니다. 모든 서비스 페이지에서 Event Hubs를 검색하고 선택합니다.

    모든 서비스 페이지에서 Event Hubs 선택을 보여 주는 스크린샷

  2. Event Hubs 페이지에서 만들기를 선택합니다.

    이벤트 허브 페이지에서 만들기 단추 선택을 보여 주는 스크린샷

  3. 네임스페이스 만들기 페이지에서 다음 단계를 수행합니다.

    1. 네임스페이스를 만들고자 하는 구독을 선택하세요.

    2. 이전 단계에서 만든 리소스 그룹을 선택합니다.

    3. 네임스페이스의 이름을 입력합니다. 시스템에서 사용 가능한 이름인지 즉시 확인합니다.

    4. 네임스페이스에 대한 지역을 선택합니다.

    5. 가격 책정 계층의 경우 기본을 선택합니다.

      비고

      Apache Kafka 앱에서 네임스페이스를 사용하려는 경우 표준 계층을 사용합니다. 기본 계층은 Apache Kafka 워크로드를 지원하지 않습니다. 계층 간의 차이점에 대한 자세한 내용은 할당량 및 제한, Event Hubs 프리미엄Event Hubs Dedicated 문서를 참조하세요.

    6. 처리량 단위(표준 계층의 경우) 또는 처리 단위(프리미엄 계층의 경우) 설정을 그대로 둡니다. 처리량 단위 또는 처리 단위에 대한 자세한 내용은 Event Hubs 확장성을 참조하세요.

    7. 검토 + 생성를 선택합니다.

      Azure Portal의 네임스페이스 만들기 페이지 스크린샷

    8. 검토 + 만들기 페이지에서 설정을 검토하고 만들기를 선택합니다. 배포가 완료될 때가지 기다립니다.

  4. 배포 페이지에서 리소스로 이동을 선택하여 네임스페이스에 대한 페이지로 이동합니다.

    리소스에 대한 링크가 있는 배포 완료 페이지의 스크린샷

  5. 다음 예제와 유사한 Event Hubs 네임스페이스 페이지가 표시되는지 확인합니다.

    Azure Portal에서 Event Hubs 네임스페이스에 대한 홈페이지의 스크린샷

이벤트 허브 만들기

네임스페이스에 이벤트 허브를 만들려면 다음 작업을 수행합니다.

  1. 개요 페이지에서 + 이벤트 허브를 선택합니다.

    명령 모음에서 이벤트 허브 추가 단추 선택 스크린샷

  2. 이벤트 허브의 이름을 입력한 다음, 검토 + 만들기를 선택합니다.

    이벤트 허브 만들기 페이지 스크린샷

  3. 리뷰 + 생성 페이지에서 생성를 선택합니다.

  4. 경고에서 이벤트 허브 만들기의 상태를 확인할 수 있습니다. 이벤트 허브가 만들어지면 이벤트 허브 목록에 표시됩니다.

    이벤트 허브 목록을 보여 주는 스크린샷

Event Grid 네임스페이스에 이벤트 허브에 이벤트를 보낼 수 있는 액세스 권한 부여

  1. Event Hubs 네임스페이스 페이지에서 액세스 제어(IAM)를 선택합니다.

  2. 액세스 제어 페이지에서 + 추가를 선택한 다음 역할 할당 추가를 선택합니다.

    Event Hubs 네임스페이스에 대한 액세스 제어 페이지를 보여 주는 스크린샷.

  3. 역할 할당 추가 페이지의 역할 목록에서 Azure Event Hubs 데이터 발신자를 선택한 다음, 다음을 선택합니다.

    Azure Event Hubs 데이터 발신자가 선택된 역할 할당 추가 페이지를 보여 주는 스크린샷.

  4. 멤버 페이지에서 다음 단계를 따릅니다.

    1. 액세스 할당 대상 필드에서 관리 ID를 선택합니다.

    2. +멤버 선택을 선택합니다.

      관리 ID가 선택된 역할 할당 추가 페이지를 보여 주는 스크린샷.

  5. 관리 ID 선택 페이지에서 다음 단계를 수행합니다.

    1. Azure 구독을 선택합니다.

    2. 관리 ID의 경우 Event Grid 네임스페이스를 선택합니다.

    3. Event Grid 네임스페이스와 이름이 같은 관리 ID를 선택합니다.

    4. 선택합니다.

      Event Grid 네임스페이스의 관리 ID가 선택된 관리 ID 선택 페이지를 보여 주는 스크린샷.

  6. 역할 할당 추가 페이지에서 검토 + 할당을 선택합니다.

  7. 검토 + 할당 페이지에서 검토 + 할당을 선택합니다.

Event Hubs를 엔드포인트로 사용하여 이벤트 구독 만들기

  1. Event Grid 네임스페이스가 열려 있는 웹 브라우저 창의 탭으로 전환합니다.

  2. Event Grid 네임스페이스 페이지에서 토픽을 선택합니다.

  3. 토픽 페이지에서 앞서 만든 네임스페이스 토픽을 선택합니다.

    네임스페이스 토픽이 선택된 토픽 페이지를 보여 주는 스크린샷.

  4. Event Grid 네임스페이스 토픽 페이지에서 + 구독을 선택합니다.

    구독 페이지를 보여 주는 스크린샷.

  5. 구독 만들기 페이지에서 다음 단계를 수행합니다.

    1. 이벤트 구독의 이름을 입력합니다.

    2. 배달 모드에서 푸시를 선택합니다.

    3. 엔드포인트 유형이벤트 허브로 설정되어 있는지 확인합니다.

    4. 엔드포인트 구성을 선택합니다.

      구독 만들기 페이지를 보여 주는 스크린샷.

    5. 이벤트 허브 선택 페이지에서 다음 단계를 수행합니다.

      1. 이벤트 허브가 있는 Azure 구독을 선택합니다.

      2. 이벤트 허브가 있는 리소스 그룹을 선택합니다.

      3. Event Hubs 네임스페이스를 선택합니다.

      4. Event Hubs 네임스페이스에서 이벤트 허브를 선택합니다.

      5. 다음으로 선택 확인을 선택합니다.

        이벤트 허브 선택 페이지를 보여 주는 스크린샷.

    6. 구독 만들기 페이지로 돌아가서 관리 ID 유형에 대해 시스템 할당을 선택합니다.

    7. 선택하고생성합니다.

      만들기 단추가 선택된 구독 만들기 페이지를 보여 주는 스크린샷.

Event Grid 네임스페이스에서 라우팅 구성

  1. Event Grid 네임스페이스 토픽 페이지의 필수 토픽 섹션에서 네임스페이스를 선택하거나 맨 위에 있는 이동 경로 메뉴에서 네임스페이스 이름을 선택하여 Event Grid 네임스페이스 페이지로 다시 이동합니다.

  2. Event Grid 네임스페이스 페이지의 MQTT 브로커에서 라우팅을 선택합니다.

  3. 라우팅 페이지에서 라우팅 사용을 선택합니다.

  4. 토픽 형식에서 네임스페이스 토픽을 선택합니다.

  5. 토픽의 경우 모든 MQTT 메시지가 라우팅되는 위치에서 만든 Event Grid 네임스페이스 토픽을 선택합니다.

  6. 적용을 선택합니다.

    네임스페이스 토픽이 선택된 라우팅 페이지를 보여 주는 스크린샷.

    라우팅 정보로 네임스페이스가 사용하도록 설정되었는지 확인하려면 알림을 확인합니다.

클라이언트, 토픽 공간 및 권한 바인딩 만들기

빠른 시작 안내서의 단계에 따라 MQTT 토픽에 게시하고 구독해보세요.

  1. 클라이언트를 만듭니다. 원하는 경우 두 번째 클라이언트를 만들 수 있지만 이는 선택 사항입니다.

  2. 토픽 공간을 만듭니다.

  3. 게시자 및 구독자 권한 바인딩을 만듭니다.

  4. MQTTX를 사용하여 몇 가지 메시지를 보냅니다.

  5. Event Hubs 네임스페이스의 개요 페이지에서 Event Hubs가 해당 메시지를 수신했는지 확인합니다.

    들어오는 메시지 수가 포함된 이벤트 허브의 개요 페이지를 보여 주는 스크린샷.

Stream Analytics 쿼리를 사용하여 Event Hubs에서 라우팅된 MQTT 메시지 보기

Azure Portal의 이벤트 구독에서 Event Hubs 인스턴스(이벤트 허브)로 이동합니다. Stream Analytics를 사용하여 이벤트 허브에서 데이터를 처리합니다. 자세한 내용은 Azure Stream Analytics를 사용하여 이벤트 허브에서 데이터 처리를 참조하세요. 쿼리에 있는 MQTT 메시지를 볼 수 있습니다.

Stream Analytics 쿼리 도구를 사용하여 Event Hubs의 MQTT 메시지 데이터를 보여 주는 스크린샷

다음 단계

코드 샘플은 MqttApplicationSamples GitHub 리포지토리로 이동합니다.