Share via


從 Azure 事件中樞 取得數據

在本文中,您將瞭解如何將數據從事件中樞取得到 Microsoft Fabric 中的 KQL 資料庫。 Azure 事件中樞 是巨量數據串流平臺和事件擷取服務,每秒可處理和導向數百萬個事件。

若要將數據從事件中樞串流至即時智慧,請執行兩個主要步驟。 第一個步驟是在 Azure 入口網站 中執行,您可以在其中定義事件中樞實例上的共用存取原則,並擷取稍後透過此原則連線所需的詳細數據。

第二個步驟發生在 Fabric 中的即時智慧中,您可以在其中將 KQL 資料庫連線到事件中樞,並設定傳入數據的架構。 此步驟會建立兩個連線。 第一個稱為「雲端連線」的聯機會將 Microsoft Fabric 連線至事件中樞實例。 第二個聯機會將「雲端連線」連線到您的 KQL 資料庫。 完成事件數據和架構的設定之後,就可以使用 KQL 查詢集來查詢串流數據。

必要條件

警告

您的事件中樞不能位於防火牆後方。

在您的事件中樞上設定共用存取原則

在您可以建立事件中樞數據的連線之前,您必須在事件中樞上設定共用存取原則 (SAS),並收集一些資訊,以便稍後在設定連線時使用。 如需授權存取事件中樞資源的詳細資訊,請參閱 共用存取簽章

  1. Azure 入口網站 中,流覽至您想要連線的事件中樞實例。

  2. 在 [設定] 下,選取 [共用存取原則]

  3. 選取 [+新增 ] 以新增 SAS 原則,或選取具有 [管理 許可權] 的現有原則。

    在 Azure 入口網站 中建立 SAS 原則的螢幕快照。

  4. 輸入原則 名稱

  5. 選取 [管理],然後選取 [建立]。

收集雲端連線的資訊

在 [SAS 原則] 窗格中,記下下列四個字段。 您可能想要複製這些欄位,並將其貼到某處,例如記事本,以在稍後的步驟中使用。

顯示如何填入來自 Azure 入口網站 數據的連線螢幕快照。

欄位參考 欄位 描述 範例
a 事件中樞實例 事件中樞實例的名稱。 iotdata
b SAS 原則 在上一個步驟中建立的 SAS 原則名稱 DocsTest
c 主要金鑰 與 SAS 原則相關聯的金鑰 在此範例中,開頭為 PGGIISb009...
d 連線 ion string-primary key 在此欄位中,您只想複製事件中樞命名空間,該命名空間可在 連接字串 中找到。 eventhubpm15910.servicebus.windows.net

來源

  1. 在 KQL 資料庫的下方功能區上,選取 [ 取得數據]。

    在 [取得數據] 視窗中,已選取 [來源] 索引標籤

  2. 從可用的清單中選取資料來源。 在此範例中,您會從 事件中樞內嵌數據。

    [取得數據] 視窗的螢幕快照,其中已選取來源索引卷標。

設定

  1. 選取目標數據表。 如果您想要將數據內嵌到新的資料表,請選取 [+ 新增數據表 ],然後輸入數據表名稱。

    注意

    數據表名稱最多可以有 1024 個字元,包括空格、英數位元、連字元和底線。 但不支援萬用字元。

  2. 選取 [ 建立新連線],或選取 [現有連線 ],然後跳到 下一個步驟

建立新連線

  1. 根據下表填寫 連線 設定

    來源索引標籤的螢幕快照。

    設定 說明 範例值
    事件中樞命名空間 上表中欄位 d eventhubpm15910.servicebus.windows.net
    事件中樞 表中欄位 事件中樞實例的名稱。 iotdata
    連線 若要在網狀架構與事件中樞之間使用現有的雲端連線,請選取此連線的名稱。 否則,請選取 [ 建立新的連線]。 建立新的連線
    連線名稱 新雲端連線的名稱。 這個名稱會自動產生,但可以覆寫。 在 Fabric 租用戶內必須是唯一的。 [連接]
    驗證種類 自動填入。 目前僅支援共用存取金鑰。 共用存取金鑰
    共用存取金鑰名稱 上表中欄位 b。 您授與共用存取原則的名稱。 DocsTest
    共用存取金鑰 表中的欄位 c。 SAS 原則的主鍵。
  2. 選取 [儲存]。 會建立 Fabric 與事件中樞之間的新雲端數據連線。

連線 您 KQL 資料庫的雲端連線

無論您是已建立新的雲端連線,還是使用現有的雲端連線,都需要定義取用者群組。 您可以選擇性地設定參數,以進一步定義 KQL 資料庫與雲端連線之間的連線層面。

  1. 根據資料表填寫下列欄位:

    建立資料庫連線的螢幕快照。

    設定 說明 範例值
    取用者群組 事件中樞中定義的相關取用者群組。 如需詳細資訊,請參閱 取用者群組。 新增新的取用者群組之後,您必須從下拉式清單中選取此群組。 NewConsumer
    其他參數
    壓縮 來自事件中樞的事件數據壓縮。 選項為 None (預設值),或 Gzip 壓縮。 None
    事件系統屬性 如需詳細資訊,請參閱 事件中樞系統屬性。 如果每個事件訊息有多個記錄,系統會將系統屬性新增至第一個記錄。 請參閱 事件系統屬性
    事件擷取開始日期 數據聯機會擷取自事件擷取開始日期之後建立的現有事件中樞事件。 它只能根據事件中樞的保留期間擷取事件。 時區為UTC。 如果未指定時間,則默認時間是建立數據連線的時間。
  2. 選取 [下一步 ] 以繼續前往 [ 檢查] 索引標籤

事件系統屬性

系統屬性會儲存事件中樞服務在加入佇列時所設定的屬性。 與事件中樞的數據連線可以根據指定的對應,將選取的系統屬性集內嵌至內嵌到數據表中的數據。

屬性 資料類型 描述
x-opt-enqueued-time Datetime 加入佇列事件的 UTC 時間。
x-opt-sequence-number long 事件中樞分割數據流內的事件邏輯序號。
x-opt-offset 字串 事件中樞數據分割數據流的位移。 位移標識碼在事件中樞數據流的分割區內是唯一的。
x-opt-publisher 字串 如果訊息傳送至發行者端點,則為發行者名稱。
x-opt-partition-key 字串 儲存事件之對應數據分割的分割區索引鍵。

檢查

若要完成擷取程式,請選取 [ 完成]。

[檢查] 索引標籤的螢幕快照。

或者:

  • 選取 [命令檢視器 ] 以檢視和複製從輸入產生的自動命令。

  • 從下拉式清單中選取所需的格式,以變更自動推斷的數據格式。 數據會以 EventData 物件的形式從事件中樞讀取。 支援的格式包括 CSV、JSON、PSV、SCsv、SOHsv TSV、TXT 和 TSVE。

  • 編輯數據行

  • 根據數據類型探索進階選項。

  • 如果您在預覽視窗中看到的數據尚未完成,您可能需要更多數據來建立具有所有必要數據欄位的數據表。 使用下列命令從事件中樞擷取新資料:

    • 捨棄並擷取新數據:捨棄呈現的數據,並搜尋新的事件。
    • 擷取更多數據:除了已找到的事件之外,還要搜尋更多事件。

編輯資料行

注意

  • 對於表格式格式 (CSV、TSV、PSV),您無法對應資料行兩次。 若要對應至現有的數據行,請先刪除新的數據行。
  • 您無法變更現有的資料行類型。 如果您嘗試對應至具有不同格式的數據行,最後可能會有空的數據行。

您可以在資料表中所做的變更取決於下列參數:

  • 數據表 類型是新的或現有的
  • 對應 類型是新的或現有的
資料表類型 對應類型 可用的調整
新增資料表 新的對應 重新命名資料列, 變更資料型態, 變更資料來源, 對應轉換加入資料行, 刪除資料列
現有的資料表 新的對應 新增資料列(然後您可以變更資料類型、重新命名和更新)
現有的資料表 現有的對應 none

開啟以供編輯之數據行的螢幕快照。

對應轉換

某些數據格式對應 (Parquet、JSON 和 Avro) 支援簡單的擷取時間轉換。 若要套用對應轉換,請在 [ 編輯 數據行] 視窗中建立或更新數據行。

對應轉換可以在字串或 datetime 類型的數據行上執行,而來源具有數據類型 int 或 long。 支援的對應轉換如下:

  • DateTimeFromUnixSeconds
  • DateTimeFromUnixMilliseconds
  • DateTimeFromUnixMicroseconds
  • DateTimeFromUnixNanoseconds

事件中樞擷取 Avro 檔案的架構對應

取用事件中樞數據的其中一種方法是透過 Azure Blob 儲存體 或 Azure Data Lake 儲存體 中的 Azure 事件中樞 來擷取事件。 接著,您可以使用事件方格數據 連線 來取擷取檔案。

擷取檔案的架構與傳送至事件中樞的原始事件架構不同。 您應該將這個差異設計為目的資料表架構。 具體而言,事件承載會在擷取檔案中表示為位元組陣列,而且此數位不會由事件方格 Azure 數據總管數據連線自動譯碼。 如需事件中樞 Avro 擷取數據檔案架構的詳細資訊,請參閱探索 Azure 事件中樞 中擷取的 Avro 檔案。

若要正確譯碼事件承載:

  1. Body 擷取事件的欄位對應至目的地數據表中類型的 dynamic 數據行。
  2. 套用更新原則,以使用 unicode_codepoints_to_string() 函式,將位元組陣列轉換成可讀取的字串。

以數據類型為基礎的進階選項

表格式 (CSV、TSV、PSV)

  • 如果您要內嵌現有資料表中的表格式格式,您可以選取 [進階>保留數據表架構]。 表格式數據不一定包含用來將源數據對應至現有數據行的數據行名稱。 核取此選項時,對應會依序完成,而且數據表架構會維持不變。 如果未核取此選項,不論數據結構為何,都會為傳入數據建立新的數據行。

  • 若要使用第一個數據列作為數據行名稱,請選取 [進階>第一列是數據行標頭]。

    進階 CSV 選項的螢幕快照。

JSON:

  • 若要判斷 JSON 數據的數據行除法,請選取 [進階>巢狀層級],從 1 到 100。

  • 如果您選取 [進階>略過有錯誤的 JSON 行],則會以 JSON 格式擷取數據。 如果您將此複選框保留為未選取,數據會以 multijson 格式內嵌。

    進階 JSON 選項的螢幕快照。

摘要

在 [ 數據準備 ] 視窗中,當數據擷取成功完成時,所有三個步驟都會標示為綠色複選標記。 您可以選取要查詢的卡片、卸除內嵌的數據,或查看擷取摘要的儀錶板。

已完成擷取的摘要頁面螢幕快照。