共用方式為


快速入門:從 IoT Central 應用程式匯出資料

在本快速入門中,您會設定 IoT Central 應用程式以匯出資料 Azure 資料總管。 Azure 資料總管可讓您儲存、查詢及處理來自 IoT 隨插即用 智慧型手機應用程式等裝置的遙測。

在本快速入門中,您將:

  • 使用 IoT Central 中的資料匯出功能,將遙測從智慧型手機應用程式傳送至 Azure 資料總管資料庫。
  • 使用 Azure 資料總管在遙測上執行查詢。

完成本快速入門會對 Azure 資料總管執行個體的 Azure 帳戶產生少量費用。 IoT Central 應用程式中的前兩個裝置是免費的。

先決條件

安裝 Azure 服務

在您從 IoT Central 應用程式匯出資料之前,需要擁有 Azure Data Explorer 叢集和資料庫。 在本快速入門中,您會在 Azure Cloud Shell 中執行 bash 腳本來建立和設定它們。

指令碼會完成下列步驟:

  • 提示您登入 Azure 訂用帳戶,以便產生持有人權杖來驗證 REST API 呼叫。
  • 建立 Azure 資料總管叢集和資料庫。
  • 為您的 IoT Central 應用程式建立受控識別。
  • 設定受控身分識別,並具有存取 Azure 資料總管資料庫的權限。
  • 將資料表新增至資料庫,以儲存來自 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

使用下列命令執行指令碼:

  • 請將 CLUSTER_NAME 替換為您 Azure 資料總管叢集的唯一名稱。 叢集名稱只能包含小寫字母和數字。 叢集名稱的長度必須介於 4 到 22 個字元之間。
  • CENTRAL_URL_PREFIX 取代為您在IoT Central 應用程式的第一個快速入門中選擇的 URL 前置詞。
  • 出現提示時,請按照指示登入您的帳戶。 指令碼必須登入,因為它會產生持有人權杖來驗證 REST API 呼叫。
./createADX.sh CLUSTER_NAME CENTRAL_URL_PREFIX

這很重要

此指令碼可能需要 20 到 30 分鐘才能執行。

記下腳本所輸出的 Azure 資料總管 URL 。 您稍後會在快速入門中使用此值。

設定資料匯出

若要設定來自 IoT Central 的資料匯出目的地:

  1. 流覽至 IoT Central 應用程式中的 [ 資料匯出 ] 頁面。
  2. 選取 目的地 索引標籤,然後 選取新增目的地
  3. 輸入 Azure 資料總管 做為目的地名稱。 選取 [Azure 資料總管] 做為目的地類型。
  4. [叢集 URL] 中,輸入您先前記下的 Azure 資料總管 URL
  5. [資料庫名稱] 中,輸入 phonedata
  6. [資料表名稱] 中,輸入 acceleration
  7. [授權] 中,選取 [系統指派的受控識別]。
  8. 選取 [儲存]。

若要設定資料匯出:

  1. [ 資料匯出 ] 頁面上,選取 [ 匯出 ] 索引標籤,然後選取 [ 新增匯出]。

  2. 輸入 電話加速度計 作為匯出名稱。

  3. 選取 [遙測] 作為要匯出的資料類型。

  4. 使用下表中的資訊來新增兩個篩選器:

    名稱 Operator 價值觀
    裝置範本 Equals 物聯網即插即用移動
    感測器/加速度/X Exists N/A

    請確定已設定在所有條件都成立時匯出資料的選項。

  5. Azure 資料總管 新增為目的地。

  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 資料總管 URL ,以流覽至 Azure 資料總管環境。

  2. 展開叢集節點,然後選取 phonedata 資料庫。 查詢視窗的範圍會變更為 Scope:yourclustername.eastus/phonedata

  3. 在 Azure 資料總管中,開啟新的索引標籤並貼上下列 Kusto 查詢,然後選取 [執行] 以繪製加速計遙測:

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

您可能需要等待幾分鐘才能收集足夠的資料。 若要查看遙測值變更,請嘗試以不同的方向握住手機:

加速計遙測查詢結果的螢幕擷取畫面。

清理資源

如果您不打算完成任何進一步的 IoT Central 快速入門或教學課程,您可以刪除 IoT Central 應用程式:

  1. 在您的 IoT Central 應用程式中,流覽至 [應用程式 > 管理]。
  2. 選取 [刪除] ,然後確認您的動作。

若要從訂用帳戶中移除 Azure 資料總管執行個體,並避免不必要地計費,請從 Azure 入口網站刪除 IoTCentralExportData-rg 資源群組,或在 Azure Cloud Shell 中執行下列命令:

az group delete --name IoTCentralExportData-rg

後續步驟

在本快速入門中,您已瞭解如何持續將資料從 IoT Central 匯出至另一個 Azure 服務。

現在您現在知道要匯出資料,建議的下一步是: