Share via


이벤트 허브를 사용하여 Azure Time Series Insights Gen1 환경으로 이벤트 보내기

참고

TSI(Time Series Insights) 서비스는 2025년 3월 이후에 더 이상 지원되지 않습니다. 가능한 한 빨리 기존 TSI 환경을 대체 솔루션으로 마이그레이션하는 것을 고려합니다. 사용 중단 및 마이그레이션에 대한 자세한 내용은 설명서를 참조하세요.

주의

이는 Gen1 문서입니다.

이 문서는 Azure Event Hubs에서 이벤트 허브를 생성 및 구성하는 방법을 설명합니다. 또한 Event Hubs에서 Azure Time Series Insights로 이벤트를 푸시하는 샘플 애플리케이션을 실행하는 방법을 설명합니다. JSON 형식의 이벤트가 있는 기존 이벤트 허브가 있는 경우 해당 자습서를 건너뛰고 Azure Time Series Insights에서 환경을 봅니다.

이벤트 허브 구성

  1. 이벤트 허브를 만드는 방법을 알아보려면 Event Hubs 설명서를 참조하세요.

  2. 검색 상자에서 Event Hubs를 검색합니다. 반환된 목록에서 Event Hubs를 선택합니다.

  3. 이벤트 허브를 선택합니다.

  4. 이벤트 허브를 만들면 이벤트 허브 네임스페이스가 만들어집니다. 네임스페이스 내에 이벤트 허브를 아직 만들지 않은 경우 메뉴의 엔터티 아래에서 이벤트 허브를 만듭니다.

    이벤트 허브의 목록

  5. 이벤트 허브를 만든 후 이벤트 허브의 목록에서 선택합니다.

  6. 메뉴의 엔터티 아래에서 Event Hubs를 선택합니다.

  7. 구성할 이벤트 허브의 이름을 선택합니다.

  8. 개요 아래에서 소비자 그룹을 선택한 다음, Consumer Group을 선택합니다.

    소비자 그룹 만들기

  9. Azure Time Series Insights 이벤트 원본에서 단독으로 사용하는 소비자 그룹을 만들어야 합니다.

    중요

    이 소비자 그룹이 다른 서비스(예: Azure Stream Analytics 작업 또는 다른 Azure Time Series Insights 환경)에서 사용되지 못하도록 해야 합니다. 소비자 그룹을 다른 서비스에서 사용하는 경우 읽기 작업이 이 환경 및 다른 서비스 모두에 부정적인 영향을 미칩니다. 소비자 그룹으로 $Default를 사용하는 경우 다른 읽기 권한자는 소비자 그룹을 잠재적으로 다시 사용할 수 있습니다.

  10. 메뉴의 설정 아래에서 공유 액세스 정책을 선택한 다음, 추가를 선택합니다.

    공유 액세스 정책을 선택한 다음, 추가 단추를 선택합니다.

  11. 새 공유 액세스 정책 추가 창에서 MySendPolicy라는 공유 액세스를 만듭니다. 이 문서 뒷부분의 C# 예제에서 이벤트를 보낼 때 이 공유 액세스 정책을 사용합니다.

    정책 이름 상자에 MySendPolicy 입력

  12. 클레임 아래에 보내기 확인란을 선택합니다.

Azure Time Series Insights 인스턴스를 추가

Azure Time Series Insights Gen2에서 TSM(시계열 모델)을 사용하여 들어오는 원격 분석에 컨텍스트 데이터를 추가할 수 있습니다. TSM에서 태그 또는 신호를 인스턴스라고 하며 인스턴스 필드에 컨텍스트 데이터를 저장할 수 있습니다. 데이터는 시계열 ID를 사용하여 쿼리 시간에 조인됩니다. 이 문서의 뒷부분에서 사용할 샘플 가상 프로젝트에 대한 시계열 IDid입니다. 인스턴스 필드에 데이터를 저장하는 방법에 대한 자세한 내용은 시계열 모델 개요를 참조하세요.

Azure Time Series Insights 이벤트 원본 만들기

  1. 아직 이벤트 원본을 만들지 않은 경우 이벤트 원본 만들기에 대한 단계를 완료합니다.

  2. timeSeriesId에 대한 값을 설정합니다. 시계열 ID에 대해 자세히 알아보려면 시계열 모델을 참조하세요.

가상 샘플로 이벤트 푸시하기

  1. 검색 창에서 Event Hubs를 검색합니다. 반환된 목록에서 Event Hubs를 선택합니다.

  2. 이벤트 허브 인스턴스를 선택합니다.

  3. 공유 액세스 정책>MySendPolicy로 이동합니다. 연결 문자열 - 기본 키의 값을 복사합니다.

    기본 키 연결 문자열의 값 복사

  4. TSI 샘플 풍력 발전소 푸셔로 이동합니다. 사이트는 시뮬레이션된 풍차 디바이스를 만들고 실행합니다.

  5. 웹 페이지의 이벤트 허브 연결 문자열 상자에, 가상 입력 필드에서 복사한 연결 문자열을 붙여넣습니다.

    이벤트 허브 연결 문자열 상자에 기본 키 연결 문자열 붙여넣기

  6. 시작하려면 클릭을 선택합니다.

    또한 가상 시뮬레이터는 Azure Time Series Insights GA 쿼리 APIs를 사용하여 페이로드로 사용할 수 있는 JSON을 만듭니다.

    참고

    시뮬레이터는 브라우저 탭이 닫힐 때까지 계속해서 데이터를 전송합니다.

  7. Azure Portal에서 이벤트 허브로 돌아갑니다. 개요 페이지에 이벤트 허브에서 수신한 새 이벤트가 표시됩니다.

    이벤트 허브에 대한 메트릭을 보여주는 이벤트 허브 개요 페이지

지원되는 JSON 셰이프

예 1

  • 입력: JSON 개체 하나.

    {
        "id":"device1",
        "timestamp":"2016-01-08T01:08:00Z"
    }
    
  • 출력: 하나의 이벤트.

    id timestamp
    device1 2016-01-08T01:08:00Z

예 2

  • 입력: 두 개의 JSON 개체가 포함된 JSON 배열. 각 JSON 개체는 이벤트로 변환됩니다.

    [
        {
            "id":"device1",
            "timestamp":"2016-01-08T01:08:00Z"
        },
        {
            "id":"device2",
            "timestamp":"2016-01-17T01:17:00Z"
        }
    ]
    
  • 출력: 두 개의 이벤트.

    id timestamp
    device1 2016-01-08T01:08:00Z
    device2 2016-01-08T01:17:00Z

예 3

  • 입력: 두 개의 JSON 개체를 담고 있는 중첩된 JSON 배열이 포함된 JSON 개체.

    {
        "location":"WestUs",
        "events":[
            {
                "id":"device1",
                "timestamp":"2016-01-08T01:08:00Z"
            },
            {
                "id":"device2",
                "timestamp":"2016-01-17T01:17:00Z"
            }
        ]
    }
    
  • 출력: 두 개의 이벤트. location 속성은 각 이벤트로 복사됩니다.

    위치 events.id events.timestamp
    WestUs device1 2016-01-08T01:08:00Z
    WestUs device2 2016-01-08T01:17:00Z

예 4

  • 입력: 두 개의 JSON 개체를 담고 있는 중첩된 JSON 배열이 포함된 JSON 개체. 이 입력은 복합 JSON 개체로 글로벌 속성을 표시할 수 있음을 보여줍니다.

    {
        "location":"WestUs",
        "manufacturer":{
            "name":"manufacturer1",
            "location":"EastUs"
        },
        "events":[
            {
                "id":"device1",
                "timestamp":"2016-01-08T01:08:00Z",
                "data":{
                    "type":"pressure",
                    "units":"psi",
                    "value":108.09
                }
            },
            {
                "id":"device2",
                "timestamp":"2016-01-17T01:17:00Z",
                "data":{
                    "type":"vibration",
                    "units":"abs G",
                    "value":217.09
                }
            }
        ]
    }
    
  • 출력: 두 개의 이벤트.

    위치 manufacturer.name manufacturer.location events.id events.timestamp events.data.type events.data.type events.data.type
    WestUs manufacturer1 EastUs device1 2016-01-08T01:08:00Z 압력 psi 108.09
    WestUs manufacturer1 EastUs device2 2016-01-08T01:17:00Z vibration abs G 217.09

다음 단계