從 Azure 事件中樞取得資料

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

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

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

若要使用 Eventstream 從事件中樞取得資料,請參閱將 Azure 事件中樞來源新增至 Eventstream

必要條件

警告

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

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

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

  1. Azure 入口網站中,瀏覽至您想要連線的事件中樞執行個體。

  2. 設定底下,選取共用存取原則

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

    在 Azure 入口網站中建立 SAS 原則的螢幕擷取畫面。

  4. 輸入原則名稱

  5. 選取管理,然後選取建立

收集雲端連線的資訊

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

顯示如何填入來自 Azure 入口網站資料的連線的螢幕擷取畫面。

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

來源

  1. 在 KQL 資料庫的下方功能區上,選取取得資料

    取得資料視窗中,已選取來源索引標籤。

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

    取得資料視窗的螢幕擷取畫面,其中已選取來源索引標籤。

設定

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

    注意

    資料表名稱最多可以有 1024 個字元,包括空格、英數字元、連字號和底線。 但不支援特殊字元。

  2. 選取建立新連線,或選取現有連線,然後跳至下一步

建立新連線

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

    選取來源索引標籤的螢幕擷取畫面。

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

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

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

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

    建立資料庫連線的螢幕擷取畫面。

    設定 說明 範例值
    取用者群組 事件中樞中定義的相關取用者群組。 如需詳細資訊,請參閱取用者群組。 新增新的取用者群組之後,必須從下拉式清單中選取此群組。 NewConsumer
    更多參數
    壓縮 來自事件中樞的事件資料壓縮。 選項為「無」(預設值),或「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) 支援簡單的擷取時間轉換。 若要套用對應轉換,請在編輯資料行視窗中建立或更新資料行。

對應變換可以在 string 或 datetime 類型的資料行上執行,而來源具有資料類型 int 或 long。 支援的對應轉換如下:

  • DateTimeFromUnixSeconds
  • DateTimeFromUnixMilliseconds
  • DateTimeFromUnixMicroseconds
  • DateTimeFromUnixNanoseconds

事件中樞擷取 Avro 檔案的結構描述對應

取用事件中樞資料的一個方法是透過 Azure Blob 儲存體或 Azure Data Lake Storage 中的 Azure 事件中樞擷取事件。 然後,您可以使用事件方格資料連線來內嵌擷取檔案。

擷取檔案的結構描述與傳送至事件中樞的原始事件的結構描述不同。 在設計目的地資料表結構描述時應考慮此差異。 具體而言,事件裝載會在擷取檔案中表示為位元組陣列,而且 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 選項的螢幕擷取畫面。

摘要

資料準備視窗中,當資料擷取成功完成時,會以綠色核取記號標記所有三個步驟。 您可以選取要查詢的卡片、卸除擷取的資料,或查看擷取摘要的儀表板。

成功完成擷取的摘要頁面的螢幕擷取畫面。