建立 Azure 數據總管的事件方格數據連線

在本文中,您將瞭解如何使用事件方格數據連線,將記憶體帳戶中的 Blob 內嵌至 Azure 數據總管。 您將建立設定 Azure 事件方格 訂用帳戶的事件方格資料連線。 事件方格訂用帳戶會透過 Azure 事件中樞,將事件從記憶體帳戶路由傳送至 Azure 資料總管。

注意

擷取最多可支援 6GB 的檔案大小。 建議擷取介於 100 MB 到 1 GB 之間的檔案。

若要瞭解如何使用 Kusto SDK 建立連線,請參閱 使用 SDK 建立事件方格數據連線。

如需從事件方格擷取至 Azure 數據總管的一般資訊,請參閱 連線至事件方格

注意

若要使用事件方格聯機達到最佳效能,請透過 Blob 元數據設定 rawSizeBytes 擷取屬性。 如需詳細資訊,請參閱 擷取屬性

必要條件

建立事件方格資料連線

在本節中,您會建立事件方格與 Azure 數據總管數據表之間的連線。

  1. 流覽至 Azure 入口網站 中的 Azure 數據總管叢集。

  2. 在 [數據] 底下,選取 [資料庫>TestDatabase]。

    叢集資料庫區段的螢幕快照,其中顯示它所包含的資料庫清單。

  3. 在 [設定] 下,選取 [數據連線],然後選取 [新增數據連線>事件方格][Blob 記憶體]。

    數據連線頁面的螢幕快照。新增數據連線的選項會反白顯示。

  4. 使用下列資訊填寫事件方格資料連線表單:

    [事件方格] 窗格的螢幕快照,其中顯示數據連線的詳細數據。

    設定 建議的值 欄位描述
    資料連線名稱 test-grid-connection 您想要在 Azure 資料總管中建立的連接名稱。 數據連接名稱只能包含英數位元、虛線和點字元,長度最多為 40 個字元。
    儲存體帳戶訂用帳戶 您的訂用帳戶識別碼 儲存體帳戶所在的訂用帳戶識別碼。
    事件類型 blob 已建立blob 已重新命名 觸發擷取的事件類別。 只有 ADLSv2 儲存體支援 blob 已重新命名。 若要重新命名 Blob,請流覽至 Azure 入口網站 中的 Blob,以滑鼠右鍵按兩下 Blob,然後選取 [重新命名]。 支援的型別:Microsoft.Storage.BlobCreated 或 Microsoft.Storage.BlobRenamed。
    儲存體帳戶 gridteststorage1 您先前建立之儲存體帳戶的名稱。
    資源建立 自動 開啟自動資源建立表示 Azure 數據總管會為您建立事件方格訂用帳戶、事件中樞命名空間和事件中樞。 否則,您必須手動建立這些資源,以確保數據連線的建立。 請參閱 手動建立事件方格擷取的資源
    1. 您可以選擇性地追蹤特定的事件方格主體。 設定通知的篩選條件,如下所示:

      • 前置詞欄位是主題的常值前置詞。 隨著套用模式的 開頭,它可以跨越多個容器、資料夾或 Blob。 不允許使用萬用字元。
        • 若要在 blob 容器上定義篩選條件,欄位必須按照以下方式設定:/blobServices/default/containers/[container prefix]
        • 若要在 blob 前置詞 (或 Azure Data Lake Gen2) 上定義資料夾,欄位必須按照以下方式設定:/blobServices/default/containers/[container name]/blobs/[folder/blob prefix]
      • 後置詞欄位是 blob 的常值後置詞。 不允許使用萬用字元。
      • 區分大小寫欄位顯示前置詞和後置詞篩選條件是否區分大小寫

      如需篩選事件的詳細資訊,請參閱 Blob 記憶體事件

    2. 您可以選擇性地根據下列資訊指定 資料路由設定 。 您不需要指定所有資料 路由設定。 也會接受部分設定。

      設定 建議的值 欄位描述
      允許將資料路由傳送至其他資料庫(多資料庫資料連線) 不允許 如果您想要覆寫與數據連線相關聯的默認目標資料庫,請切換此選項。 如需資料庫路由的詳細資訊,請參閱 事件路由
      資料表名稱 TestTable 您在 TestDatabase 中建立的資料表。
      資料格式 JSON 支援的格式包括APACHEAVRO、Avro、CSV、JSON、ORC、PARQUET、PSV、RAW、SCSV、SOHSV、TSV、TSVE、TXT 和 W3CLOG。 支援的壓縮選項為 Zip 和 Gzip。
      對應名稱 TestTable_mapping 您在 TestDatabase建立的對應,會將傳入的數據對應至 TestTable 的數據行名稱和數據類型。 如果未指定, 則會自動產生衍生自數據表架構的識別數據對應
      忽略格式錯誤 忽略 如果您想要忽略 JSON 資料格式的格式錯誤,請切換此選項。

      注意

      數據表和對應名稱會區分大小寫。

    3. 或者,在 [進階設定] 下,您可以指定數據連線所使用的受控識別類型 默認會 選取 [系統指派 ]。

      如果您選取 [ 使用者指派],則必須手動指派受控識別。 如果您選取尚未指派給叢集的使用者,則會自動指派該使用者。 如需詳細資訊,請參閱 設定 Azure 數據總管叢集的受控識別。

      如果您選取 [],記憶體帳戶和事件中樞會透過 連接字串 進行驗證。 不建議使用此方法。

      [進階設定] 區段的螢幕快照,其中顯示可用於數據連線的受控識別類型。

  5. 選取 [建立]

使用事件方格數據連線

本節說明如何在 Blob 建立或 Blob 重新命名之後,從 Azure Blob 儲存體 或 Azure Data Lake Gen 2 觸發擷取至叢集。

根據用來上傳 Blob 的記憶體 SDK 類型,選取相關的索引標籤。

下列程式代碼範例會使用 Azure Blob 儲存體 SDK 將檔案上傳至 Azure Blob 儲存體。 上傳會觸發事件方格數據連線,以將數據內嵌至 Azure 數據總管。

var azureStorageAccountConnectionString = <storage_account_connection_string>;
var containerName = <container_name>;
var blobName = <blob_name>;
var localFileName = <file_to_upload>;
var uncompressedSizeInBytes = <uncompressed_size_in_bytes>;
var mapping = <mapping_reference>;
// Create a new container if it not already exists.
var azureStorageAccount = new BlobServiceClient(azureStorageAccountConnectionString);
var container = azureStorageAccount.GetBlobContainerClient(containerName);
container.CreateIfNotExists();
// Define blob metadata and uploading options.
IDictionary<String, String> metadata = new Dictionary<string, string>();
metadata.Add("rawSizeBytes", uncompressedSizeInBytes);
metadata.Add("kustoIngestionMappingReference", mapping);
var uploadOptions = new BlobUploadOptions
{
    Metadata = metadata,
};
// Upload the file.
var blob = container.GetBlobClient(blobName);
blob.Upload(localFileName, uploadOptions);

注意

Azure 數據總管不會刪除擷取後的 Blob。 使用 Azure Blob 記憶體生命週期 來管理 Blob 刪除,將 Blob 保留三到五天。

注意

在作業之後 CopyBlob 觸發擷取,不支援已啟用階層命名空間功能的記憶體帳戶。

重要

我們強烈建議您不要從自定義程式代碼產生記憶體事件,並將其傳送至事件中樞。 如果您選擇這樣做,請確定產生的事件嚴格遵守適當的記憶體事件架構和 JSON 格式規格。

拿掉事件方格數據連線

若要從 Azure 入口網站 移除事件方格連線,請執行下列步驟:

  1. 移至您的叢集。 從左側功能表中,選取 [ 資料庫]。 然後,選取包含目標數據表的資料庫。
  2. 從左側功能表中,選取 [數據連線]。 然後,選取相關事件方格數據連線旁的複選框。
  3. 從頂端功能表欄,選取 [ 刪除]。