다음을 통해 공유


빠른 시작: IoT Central 애플리케이션에서 데이터 내보내기

이 빠른 시작에서는 데이터 Azure Data Explorer를 내보내도록 IoT Central 애플리케이션을 구성합니다. Azure Data Explorer를 사용하면 IoT 플러그 앤 플레이 스마트폰 앱과 같은 디바이스에서 원격 분석을 저장, 쿼리 및 처리할 수 있습니다.

이 빠른 시작에서 당신은 다음을 수행합니다.

  • IoT Central의 데이터 내보내기 기능을 사용하여 스마트폰 앱의 원격 분석 데이터를 Azure Data Explorer 데이터베이스로 내보냅니다.
  • Azure Data Explorer를 사용하여 원격 분석에서 쿼리를 실행합니다.

이 빠른 시작을 완료하면 Azure Data Explorer 인스턴스에 대한 Azure 계정에 약간의 비용이 발생합니다. IoT Central 애플리케이션의 처음 두 디바이스는 무료입니다.

필수 조건

Azure 서비스 설치

IoT Central 애플리케이션에서 데이터를 내보내려면 Azure Data Explorer 클러스터 및 데이터베이스가 필요합니다. 이 빠른 시작에서는 Azure Cloud Shell 에서 bash 스크립트를 실행하여 만들고 구성합니다.

스크립트는 다음 단계를 완료합니다.

  • REST API 호출을 인증하는 전달자 토큰을 생성할 수 있도록 Azure 구독에 로그인하라는 메시지가 표시됩니다.
  • Azure Data Explorer 클러스터 및 데이터베이스를 만듭니다.
  • IoT Central 애플리케이션에 대한 관리 ID를 만듭니다.
  • Azure Data Explorer 데이터베이스에 액세스할 수 있는 권한이 있는 관리 ID를 구성합니다.
  • IoT Central에서 들어오는 원격 분석을 저장할 테이블을 데이터베이스에 추가합니다.

다음 명령을 실행하여 Azure Cloud Shell 환경에 스크립트를 다운로드합니다.

wget https://raw.githubusercontent.com/Azure-Samples/iot-central-docs-samples/main/quickstart-cde/createADX.sh
chmod u+x createADX.sh

다음 명령을 사용하여 스크립트를 실행합니다.

  • Azure Data Explorer 클러스터의 고유한 이름으로 대체 CLUSTER_NAME 합니다. 클러스터 이름은 소문자와 숫자만 포함할 수 있습니다. 클러스터 이름의 길이는 4자에서 22자 사이여야 합니다.
  • IoT Central 애플리케이션의 첫 번째 빠른 시작에서 선택한 URL 접두사로 대체 CENTRAL_URL_PREFIX 합니다.
  • 메시지가 표시되면 지침에 따라 계정에 로그인합니다. 스크립트는 REST API 호출을 인증하는 전달자 토큰을 생성하기 때문에 로그인해야 합니다.
./createADX.sh CLUSTER_NAME CENTRAL_URL_PREFIX

중요합니다

이 스크립트를 실행하는 데 20~30분이 걸릴 수 있습니다.

스크립트에서 Azure Data Explorer URL 출력을 기록해 둡다. 이 값은 퀵스타트의 뒷부분에서 사용합니다.

데이터 내보내기 구성

IoT Central에서 데이터 내보내기 대상을 구성하려면 다음을 수행합니다.

  1. IoT Central 애플리케이션의 데이터 내보내 기 페이지로 이동합니다.
  2. 대상 탭 선택한 다음 대상을 추가합니다.
  3. 대상 이름으로 Azure Data Explorer 를 입력합니다. 대상 유형으로 Azure Data Explorer를 선택합니다.
  4. 클러스터 URL에서 이전에 적어 두었던 Azure Data Explorer URL을 입력합니다.
  5. 데이터베이스 이름phonedata를 입력합니다.
  6. 테이블 이름가속을 입력합니다.
  7. 권한 부여에서 시스템 할당 관리 ID를 선택합니다.
  8. 저장을 선택합니다.

데이터 내보내기를 구성하려면 다음을 수행합니다.

  1. 데이터 내보내기 페이지에서 내보내기 탭을 선택한 다음 내보내기를 추가합니다.

  2. 휴대폰 가속도계를 내보내기 이름으로 입력합니다.

  3. 내보낼 데이터 형식으로 원격 분석을 선택합니다.

  4. 다음 표의 정보를 사용하여 두 개의 필터를 추가합니다.

    이름 Operator 가치
    디바이스 템플릿 같음 IoT 플러그 앤 플레이 모바일
    센서/가속/X Exists N/A

    모든 조건이 true인 경우 데이터를 내보내는 옵션이 설정되어 있는지 확인합니다.

  5. Azure Data Explorer를 대상으로 추가합니다.

  6. 대상에 데이터 변환을 추가합니다. 2에 다음 쿼리를 추가합니다. 데이터 변환 페이지에서 변환 쿼리 필드를 빌드합니다.

    import "iotc" as iotc;
    {
        Device: .device.id,
        EnqueuedTime: .enqueuedTime,
        X: .telemetry | iotc::find(.name == "accelerometer").value.x,
        Y: .telemetry | iotc::find(.name == "accelerometer").value.y,
        Z: .telemetry | iotc::find(.name == "accelerometer").value.z
    }
    

    내보내기를 위한 데이터 변환 쿼리를 보여 주는 스크린샷

    변환이 작동하는 방식을 확인하고 쿼리를 실험하려면 다음 샘플 원격 분석 메시지를 1에 붙여넣습니다 . 입력 메시지를 추가합니다.

    {
      "messageProperties": {},
      "device": {
        "id": "8hltz8xa7n",
        "properties": {
          "reported": []
        },
        "approved": true,
        "types": [],
        "name": "8hltz8xa7n",
        "simulated": false,
        "provisioned": true,
        "modules": [],
        "templateId": "urn:modelDefinition:vlcd3zvzdm:y425jkkpqzeu",
        "templateName": "IoT Plug and Play mobile",
        "organizations": [],
        "cloudProperties": [],
        "blocked": false
      },
      "component": "sensors",
      "applicationId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "messageSource": "telemetry",
      "telemetry": [
        {
          "id": "dtmi:azureiot:PhoneSensors:__accelerometer;1",
          "name": "accelerometer",
          "value": {
            "x": 0.09960123896598816,
            "y": 0.09541380405426025,
            "z": 9.907781600952148
          }
        }
      ],
      "enqueuedTime": "2021-11-12T10:01:30.588Z",
      "enrichments": {}
    }
    
  7. 변환을 저장합니다. 그런 다음 데이터 내보내기 정의를 저장합니다.

내보내기 상태가 정상으로 표시될 때까지 기다립니다.

정상 상태의 실행 중인 데이터 내보내기를 보여 주는 스크린샷

내보낸 데이터 쿼리

내보낸 원격 분석을 쿼리하려면 다음을 수행합니다.

  1. 이전에 실행한 스크립트의 Azure Data Explorer URL 출력을 사용하여 Azure Data Explorer 환경으로 이동합니다.

  2. 클러스터 노드를 확장하고 phonedata 데이터베이스를 선택합니다. 쿼리 창의 범위가 .로 변경됩니다 Scope:yourclustername.eastus/phonedata.

  3. Azure Data Explorer에서 새 탭을 열고 다음 Kusto 쿼리를 붙여넣고 실행을 선택하여 가속도계 원격 분석을 시각화합니다.

['acceleration'] 
    | project EnqueuedTime, Device, X, Y, Z
    | render timechart 

충분한 데이터를 수집하려면 몇 분 정도 기다려야 할 수 있습니다. 원격 분석 값이 변경되는 것을 보려면 휴대폰을 다른 방향으로 유지해 보세요.

가속도계 원격 분석에 대한 쿼리 결과의 스크린샷.

자원을 정리하세요

더 이상 IoT Central 빠른 시작 또는 자습서를 완료할 계획이 없는 경우 IoT Central 애플리케이션을 삭제할 수 있습니다.

  1. IoT Central 애플리케이션에서 애플리케이션 > 관리로 이동합니다.
  2. 삭제를 클릭한 다음, 작업을 확인합니다.

구독에서 Azure Data Explorer 인스턴스를 제거하고 불필요한 요금이 청구되지 않도록 하려면 Azure Portal에서 IoTCentralExportData-rg 리소스 그룹을 삭제하거나 Azure Cloud Shell에서 다음 명령을 실행합니다.

az group delete --name IoTCentralExportData-rg

다음 단계

이 빠른 시작에서는 IoT Central에서 다른 Azure 서비스로 데이터를 지속적으로 내보내는 방법을 알아보았습니다.

이제 데이터를 내보내는 방법을 알게 되었으므로 제안된 다음 단계는 다음과 같습니다.