다음을 통해 공유


Azure Event Hubs에서 데이터 가져오기

이 문서에서는 이벤트 허브에서 Microsoft Fabric의 KQL 데이터베이스로 데이터를 가져오기 위한 방법을 알아보세요. Azure Event Hubs는 초당 수백만 개의 이벤트를 수신하고 처리할 수 있는 데이터 스트리밍 플랫폼이자 이벤트 수집 서비스입니다.

Event Hubs에서 실시간 인텔리전스로 데이터를 스트리밍하려면 두 가지 주요 단계를 수행합니다. 첫 번째 단계는 Azure Portal에서 수행됩니다. 이때 이벤트 허브 인스턴스에서 공유 액세스 정책을 정의하고 나중에 이 정책을 통해 연결하는 데 필요한 세부 정보를 캡처합니다.

두 번째 단계는 Fabric의 실시간 인텔리전스에서 수행됩니다. 이때 이벤트 허브에 KQL 데이터베이스를 연결하고 들어오는 데이터에 대한 스키마를 구성합니다. 이 단계에서는 두 개의 연결을 만듭니다. "클라우드 연결,"이라고 부르는 첫 번째 연결은 Microsoft Fabric을 이벤트 허브 인스턴스에 연결해 주세요. 두 번째 연결은 "클라우드 연결"을 KQL 데이터베이스에 연결해 주세요. 이벤트 데이터 및 스키마 구성을 마치게 되시면 KQL 쿼리셋을 사용하셔서 스트리밍된 데이터를 쿼리하실 수 있습니다.

Eventstream을 사용하여 Event Hubs에서 데이터를 얻으려면 Eventstream에 Azure Event Hubs 원본 추가를 참조하세요.

필수 구성 요소

Warning

방화벽 뒤에 이벤트 허브가 있을 수 없습니다.

이벤트 허브에서 공유 액세스 정책을 설정

이벤트 허브를 위해서 데이터에 대한 연결을 만들어 보시려면 이벤트 허브에서 공유 액세스 정책 (SAS)를 설정해 주시고 나중에 연결을 설정하시기 위해 사용하시게 될 일부 정보를 수집해 주셔야 합니다. 이벤트 허브 리소스를 위한 엑세스 사용 권한 승인에 대한 자세한 정보는 공유 엑세스 서명을 확인해 주세요.

  1. Azure 포털에서 연결하고 싶으신 이벤트 허브 인스턴스를 찾아 보세요.

  2. 설정에서 공유 액세스 정책을 선택해 주세요

  3. +추가를 선택하여 새 SAS 정책을 추가하거나 관리 권한이 있는 기존 정책을 선택합니다.

    Azure 포털에서 SAS 정책을 만들어내는 것에 대한 스크린샷입니다.

  4. 정책 이름을 입력해 주세요.

  5. 관리를 선택하신 다음에 만들기를 선택해 주세요.

클라우드 연결을 위한 정보 수집

SAS 정책 창 내에서 다음의 네 개 필드를 기록해 두세요. 이러한 필드를 복사하셔서 필기장과 같은 곳 어딘가에 붙여 넣으시면 이후의 단계에서 사용해 보실 수 있습니다.

Azure 포털에서 연결을 작성하기 위한 방법을 보여주는 스크린샷입니다.

필드 준거 필드 Description 예시
a 이벤트 허브 인스턴스 이벤트 허브 인스턴스에 대한 이름입니다. iotdata
b SAS 정책 이전 단계에서 생성된 SAS 정책의 이름 DocsTest
c 기본 키 SAS 정책과 관련된 키 이 예제에서는 PGGIISb009로 시작합니다...
d 연결 문자열의 기본 키 이 필드에서는 연결 문자열 일부로 찾아보실 수 있는 이벤트 허브 네임스페이스만 복사합니다. eventhubpm15910.servicebus.windows.net

Source

  1. KQL 데이터베이스 하단의 리본에서 데이터 가져오기를 선택해 주세요.

    데이터 가져오기 창에서 소스탭을 선택해 주세요.

  2. 사용 가능한 목록에서 데이터 원본을 선택합니다. 이 예제에서는 이벤트 허브에서 데이터를 수집하고 있습니다.

    소스 탭이 선택된 데이터 가져오기 창 스크린샷입니다.

구성

  1. 대상 테이블을 선택해 보세요. 새로운 테이블로 데이터를 수집하고 싶으신 경우에 + 새로운 테이블 을 선택해 주시고 테이블 이름을 입력해 주세요.

    참고 항목

    테이블 이름은 공백, 영숫자, 하이픈 및 밑줄을 포함하여 최대 1,024자 까지 사용하실 수 있습니다. 특수 문자는 지원되지 않습니다.

  2. 새로운 연결만들기를 선택하시거나 기존 연결을 선택해 주시고 다음 단계로 이동해 주세요.

새 연결 만들기

  1. 다음 표에 따라서 연결 설정을 입력해 주세요:

    원본 소스 탭의 스크린샷입니다.

    설정 설명 예제 값
    이벤트 허브 네임스페이스 위 표에서 d 필드입니다. eventhubpm15910.servicebus.windows.net
    이벤트 허브 위 표에서 a 필드입니다. 이벤트 허브 인스턴스에 대한 이름입니다. iotdata
    Connection Fabric과 이벤트 허브 사이에서 기존 클라우드 연결을 사용하기 위해서는 이 연결의 이름을 선택해 주세요. 그렇지 않으면 새로운 연결 만들기를 선택해 주세요. 새 연결 만들기
    연결 이름 새로운 클라우드 연결의 이름입니다. 이 이름은 자동 생성이 되지만 덮어쓸 수 있습니다. Fabric 테넌트 내에서 고유해야 하는 것입니다. Connection
    인증 종류 자동으로 채워집니다. 현재 공유 액세스 키만이 지원됩니다. 공유 액세스 키
    공유 액세스 키 이름 위 표에서 b 필드입니다. 공유 액세스 정책에서 지정하신 이름입니다. DocsTest
    공유 액세스 키 위 표에서 c 필드입니다. SAS 정책에 대한 기본 키입니다.
  2. 저장을 선택합니다. Fabric과 이벤트 허브 사이에서 새로운 클라우드 데이터 연결이 만들어집니다.

클라우드 연결을 KQL 데이터베이스에 연결해 보세요

새로운 클라우드 연결을 만드셨던지 기존 연결을 사용하든지와는 상관없이 소비자 그룹을 정의해 주셔야 합니다. 선택적으로 KQL 데이터베이스와 클라우드 연결 사이에서의 연결 측면을 추가로 정의하는 매개 변수를 설정하실 수 있습니다.

  1. 다음에 따라서 필드를 작성해 주세요:

    데이터베이스 연결 만들기 스크린샷입니다.

    설정 설명 예제 값
    소비자 그룹 이벤트 허브에 정의된 관련 소비자 그룹입니다. 자세한 정보는 소비자 그룹을 확인해 주세요. 새로운 소비자 그룹을 추가하신 이후에 이 그룹을 드롭다운에서 선택해 주셔야 합니다. NewConsumer
    추가 매개 변수
    압축 이벤트 허브에서 제공되는 이벤트에 대한 데이터 압축입니다. 옵션은 없음 (기본값) 혹은 Gzip 압축입니다. 없음
    이벤트 시스템 속성 자세한 정보는 이벤트 허브 시스템 속성을 확인해 주세요. 이벤트 메시지마다 여러 가지의 기록을 가지고 있는 경우에 시스템 속성은 첫 번째 속성에 추가해 주세요. 이벤트 시스템 속성을 확인해 주세요.
    이벤트 검색 시작 날짜 데이터 연결은 이벤트 검색 시작 날짜 이후에 생성된 기존 이벤트 허브 이벤트를 검색해 주세요. 이벤트 허브가 보존한 이벤트는 보관 기간에 따라서만 검색해 보실 수 있습니다. 시간대는 UTC 입니다. 값을 지정하지 않으신 경우에 데이터 연결이 생성되는 시간이 기본 시간인 것입니다.
  2. 다음을 선택하셔서 검사 탭으로 계속해서 이동해 주세요.

이벤트 시스템 속성

시스템 속성은 이벤트 대기열이 발생할 때 이벤트 허브 서비스에서 설정한 속성이 저장되는 것입니다. 이벤트 허브에 대한 데이터 연결은 지정된 매핑에 따라 선택한 시스템 속성 집합을 테이블에 수집된 데이터에 포함할 수 있습니다.

속성 데이터 형식 Description
x-opt-enqueued-time 날짜/시간 이벤트를 대기열에 추가하신 UTC 시간입니다.
x-opt-sequence-number long 이벤트 허브의 파티션 스트림 내에 있는 이벤트의 논리적 시퀀스 번호입니다.
x-opt-offset string 이벤트 허브 파티션 스트림의 데이터 오프셋입니다. 이벤트 허브 스트림의 파티션 내에서 오프셋 식별자가 고유한 것입니다.
x-opt-publisher string 메시지가 게시자 엔드포인트에 전송하신 경우에 게시자 이름입니다.
x-opt-partition-key string 이벤트를 저장하신 해당 파티션의 파티션 키입니다.

검사

수집 처리를 완료하기 위해서는 종료를 선택해 주세요.

검사 탭의 스크린샷입니다.

필요할 경우 다음을 선택합니다.

  • 입력에서 생성된 자동 명령을 보시고 복사하시기 위해서 명령 보기를 선택해 주세요.

  • 드롭다운에서 원하시는 형식을 선택하셔서 자동으로 추론된 데이터 형식을 변경해 보세요. 데이터는 EventData 개체 형식으로 이벤트 허브에서 읽습니다. 지원되는 형식은 CSV, JSON, PSV, SCsv, SOHsv TSV, TXT 및 TSVE입니다.

  • 열을 편집해 보세요.

  • 데이터 형식에 따른 고급 옵션을 탐색합니다.

  • 미리 보기 창에 표시되는 데이터가 완전하지 않으신 경우에 필요하신 모든 데이터 필드가 있는 테이블을 만들기 위해서 데이터가 더 많이 필요할 수 있습니다. 다음 명령을 사용하여 이벤트 허브에서 새 데이터를 가져옵니다.

    • 새 데이터 삭제 및 가져오기: 제공된 데이터를 삭제하고 새 이벤트를 검색합니다.
    • 추가 데이터 가져오기: 이미 찾은 이벤트 외에 더 많은 이벤트를 검색합니다.

열을 편집해 보세요

참고 항목

  • 테이블 형식 (CSV, TSV, PSV) 의 경우에 열을 두 번은 매핑하실 수 없습니다. 기존 열에 매핑하려면 먼저 새 열을 삭제합니다.
  • 기존 열 유형은 변경할 수 없습니다. 다른 형식의 열에 매핑하려고 하면 빈 열이 생길 수 있습니다.

테이블에서 변경할 수 있는 사항은 다음 매개 변수에 따라 다릅니다.

  • 테이블 유형은 신규 또는 기존입니다.
  • 매핑 유형은 신규 또는 기존입니다.
테이블 유형입니다. 매핑 유형 사용 가능한 조정
새 테이블 새 매핑 열 이름 바꾸기, 데이터 형식 변경, 데이터 원본 변경, 매핑 변환, 열 추가, 열 삭제
기존 테이블 새 매핑 열 추가 (데이터 형식 변경, 이름 바꾸기 및 업데이트를 할 수 있음)
기존 테이블 기존 매핑 없음

편집을 할 수 있게 하기 위해 열린 열의 스크린샷입니다.

매핑 변환

일부 데이터 형식 매핑(Parquet, JSON 및 Avro)은 간단한 수집 시간 변환을 지원합니다. 매핑 변환을 적용하기 위해서는 열을 편집해 보세요창에서 열을 만들어 보시거나 업데이트 해보세요.

매핑 변환은 형식 문자열 혹은 날짜/시간 형식의 열에서 실행해 보실 수 있으며 소스의 데이터 형식이 int 혹은 long입니다. 지원되는 매핑 변환은 다음과 같습니다.

  • DateTimeFromUnixSeconds
  • DateTimeFromUnixMilliseconds
  • DateTimeFromUnixMicroseconds
  • DateTimeFromUnixNanoseconds

이벤트 허브 캡처 Avro 파일용 스키마 매핑

이벤트 허브 데이터를 사용하시는 한 가지 방법은 Azure Blob 스토리지 혹은 Azure 데이터 레이크 스토리지의 Azure 이벤트 허브를 통해서 이벤트를 캡처해 보시는 것입니다. 그런 다음 Event Grid 데이터 연결을 사용해 보셔서 작성하신 캡처 파일을 수집해보실 수 있습니다.

캡처 파일의 스키마는 이벤트 허브로 전송하신 원래 이벤트의 스키마와 다른 것입니다. 이러한 차이점을 염두에 두고 대상 테이블 스키마를 디자인해야 합니다. 특히 이벤트 페이로드는 캡처 파일에 바이트 배열로 표시되며 이 배열은 Event Grid Azure Data Explorer 데이터 연결에 의해 자동으로 디코딩되지 않습니다. 이벤트 허브 Avro 캡처 데이터의 파일 스키마를 위한 자세한 정보는 Azure 이벤트 허브에서 캡처된 Avro 파일 탐색을 확인해 주세요.

이벤트 페이로드를 올바르게 디코딩하려면 다음을 수행합니다.

  1. 캡처된 이벤트의 Body 필드를 대상 테이블의 dynamic 형식 열에 매핑합니다.
  2. unicode_codepoints_to_string() 함수를 사용하여 바이트 배열을 읽을 수 있는 문자열로 변환하는 업데이트 정책을 적용합니다.

데이터 형식을 기반으로 한 고급 옵션

테이블 형식 (CSV, TSV, PSV):

  • 기존 테이블에서 테이블 형식을 수집하고 계신 경우에 고급>유지 테이블 스키마를 선택하실 수 있습니다. 테이블 형식 데이터에는 원본 데이터를 기존 열에 매핑하는 데 사용되는 열 이름이 반드시 포함되지는 않습니다. 이 옵션을 선택하실 때 매핑은 순서대로 실행이 되며 테이블 스키마는 동일하게 유지됩니다. 이 옵션을 선택하지 않으시는 경우에 데이터 구조와는 상관없이 수신 데이터에 대한 새로운 열이 만들어 지게 됩니다.

  • 첫 번째 행을 열 이름으로 사용하기 위해서는 고급>첫 번째 행을 열 머리글로 선택해 주세요.

    고급 CSV 옵션 스크린샷입니다.

JSON:

  • JSON 데이터의 열 분할을 확인하기 위해서는 1에서 100까지의 고급>중첩된 수준을 선택해 주세요.

  • 오류가 있는 고급>건너뛰기 JSON 줄을 선택하신 경우에 데이터는 JSON 형식으로 수집되어 집니다. 이 확인란을 선택하지 않으신 상태로 두게 되시는 경우에 데이터가 multijson 형식으로 수집되어 집니다.

    고급 JSON 옵션의 스크린샷.

요약

데이터 준비 창에서 데이터 수집이 성공적으로 완료되셨을 때 세 단계 모두 녹색 확인 표시가 나타납니다. 카드를 선택하셔서 쿼리를 하시거나, 수집된 데이터를 삭제하기도 하시며, 수집 요약의 대시보드를 확인해 보실 수 있습니다.

요약 페이지에 대한 스크린샷과 수집은 성공적으로 완료됐습니다.