共用方式為


數據無從驗證擷取引擎

本文說明如何使用 PowerApps、Azure Logic Apps 和 Azure Data Factory 中由元數據驅動的複製任務組合,實現資料不可知的擷取引擎情境。

與數據無關的擷取引擎案例通常著重於讓非技術性(非數據工程師)用戶將數據資產發佈至 Data Lake,以便進一步處理。 若要實作此案例,您必須具備能支援以下功能的導入能力:

  • 數據資產註冊
  • 工作流程布建和元數據擷取
  • 數據匯入排程

您可以看到這些功能如何互動:

數據註冊功能和互動的圖表

圖 1:數據註冊功能互動。

下圖顯示如何使用 Azure 服務的組合來實作此程式:

與數據無關的引擎資料擷取過程的圖表

圖 2:自動化資料匯入流程。

數據資產註冊

若要提供用來驅動自動化擷取的元數據,您需要數據資產註冊。 您擷取的資訊包含:

  • 技術資訊: 數據資產名稱、來源系統、類型、格式和頻率。
  • 治理資訊: 擁有者、管家、可見度(用於探索目的)和敏感度。

PowerApps 可用來擷取描述每個數據資產的元數據。 使用模型驅動應用程式來輸入保存至自定義 Dataverse 資料表的資訊。 在 Dataverse 內建立或更新元數據時,它會觸發自動雲端流程,以叫用進一步的處理步驟。

數據資產註冊的圖表。

圖 3:數據資產註冊。

布建工作流程/元數據擷取

在布建工作流程階段中,您會驗證並保存註冊階段中收集的數據至中繼存放區。 技術和商務驗證步驟都會執行,包括:

  • 輸入數據流驗證
  • 核准工作流程觸發
  • 觸發元數據持續性至元數據存放區的邏輯處理
  • 活動稽核

註冊工作流程圖表

圖 4:註冊工作流程。

擷取要求獲得核准後,工作流程會使用 Microsoft Purview REST API 將來源插入 Microsoft Purview。

上線數據產品的詳細工作流程

圖表顯示新數據集的內嵌方式(自動化)

圖 5:新數據集的擷取方式(自動化)。

圖 5 顯示自動化新資料來源擷取的詳細註冊程式:

  • 來源詳細數據會註冊,包括生產與數據處理站環境。
  • 捕捉數據形狀、格式和品質限制。
  • 資料應用團隊應該指示資料是否 敏感性(個人資料) 此分類將推動建立資料湖資料夾的過程,以內嵌原始、豐富及策劃的資料。 來源命名原始數據和豐富數據,數據產品稱為精選數據。
  • 系統會建立服務主體和安全群組以匯入數據集並提供存取權限。
  • 資料導入作業會在資料著陸區 Data Factory 中繼資料儲存庫中建立。
  • 一個 API 會將資料定義插入 Microsoft Purview。
  • 根據作業小組的數據源驗證和核准,詳細數據會發佈至 Data Factory 中繼存放區。

資料導入排程

在 Azure Data Factory 中,元數據驅動複製工作 提供功能,讓協調流程管線可由儲存在 Azure SQL Database 中控制數據表中的數據列所驅動。 您可以使用複製資料工具預先建立元資料驅動管線。

建立資料管道之後,您的供應工作流程會將記錄新增至控制數據表,以支援從由數據資產註冊元數據識別的來源進行擷取。 Azure Data Factory 管線和包含控制數據表中繼存放區的 Azure SQL Database 可以存在於每個數據登陸區域內,以建立新的數據源,並將其內嵌至數據登陸區域。

數據資產擷取排程圖表

圖 6:數據資產擷取的排程。

內嵌新數據源的詳細工作流程

下圖顯示如何在 Data Factory SQL Database 中繼存放區中提取已註冊的數據源,以及如何先擷取數據:

匯入新數據源的圖表

Data Factory 匯入主管線會從 Data Factory SQL Database 中樞資料存放庫讀取設定,然後以正確的參數依序執行。 數據會從來源移至 Azure Data Lake 中的原始層,幾乎沒有變更。 數據圖形會根據您的 Data Factory 中繼存放區進行驗證。 檔格式會轉換成 Apache Parquet 或 Avro 格式,然後複製到擴充層。

正在匯入的數據會連線到 Azure Databricks 數據科學和工程工作區,並在數據登陸區域的 Apache Hive Metastore 中建立數據定義。

如果您需要使用 Azure Synapse 無伺服器 SQL 集區來公開數據,您的自定義解決方案應該會在 Lake 中的數據上建立檢視。

如果您需要數據列層級或數據行層級加密,您的自定義解決方案應該將數據登陸在 Data Lake 中,然後將數據直接內嵌到 SQL 集區中的內部數據表,並在 SQL 集區計算上設定適當的安全性。

擷取的元數據

使用自動化數據擷取時,您可以查詢相關聯的元數據,並建立儀錶板來:

  • 追蹤與其功能相關的數據產品的工作和最新的數據載入時間戳記。
  • 追蹤可用的數據產品。
  • 增加數據量
  • 取得有關作業失敗的即時更新。

工作元數據可用來追蹤:

  • 作業、作業步驟及其相依性。
  • 作業效能和效能歷程記錄。
  • 數據量成長。
  • 作業失敗。
  • 來源元數據變更。
  • 相依於數據產品的商務功能。

使用 Microsoft Purview REST API 來探索數據

Microsoft Purview REST API 應該用來在初始擷取期間註冊數據。 在數據導入後即刻,您可以使用 API 將數據提交至資料目錄。

如需詳細資訊,請參閱 如何使用 Microsoft Purview REST API

註冊數據源

使用下列 API 呼叫來註冊新的資料來源:

PUT https://{accountName}.scan.purview.azure.com/datasources/{dataSourceName}

數據源 URI 參數:

名字 必填 類型 描述
accountName 真的 字串 Microsoft Purview 帳戶的名稱
dataSourceName 字串 數據源的名稱

使用 Microsoft Purview REST API 進行註冊

下列範例示範如何使用 Microsoft Purview REST API 向承載註冊數據源:

註冊 Azure Data Lake Storage Gen2 數據源:

{
  "kind":"AdlsGen2",
  "name":"<source-name> (for example, My-AzureDataLakeStorage)",
  "properties":{
    "endpoint":"<endpoint> (for example, https://adls-account.dfs.core.windows.net/)",
    "subscriptionId":"<azure-subscription-guid>",
    "resourceGroup":"<resource-group>",
    "location":"<region>",
    "parentCollection":{
      "type":"DataSourceReference",
      "referenceName":"<collection-name>"
    }
  }
}

註冊 SQL Database 數據源:

{
  "kind":"<source-kind> (for example, AdlsGen2)",
  "name":"<source-name> (for example, My-AzureSQLDatabase)",
  "properties":{
    "serverEndpoint":"<server-endpoint> (for example, sqlservername.database.windows.net)",
    "subscriptionId":"<azure-subscription-guid>",
    "resourceGroup":"<resource-group>",
    "location":"<region>",
    "parentCollection":{
      "type":"DataSourceReference",
      "referenceName":"<collection-name>"
    }
  }
}

注意

<collection-name>是存在於Microsoft Purview 帳戶中的目前集合。

建立掃描

瞭解如何在設定和執行掃描之前,先建立認證,以在 Microsoft Purview 中驗證來源。

使用下列 API 呼叫來掃描資料來源:

PUT https://{accountName}.scan.purview.azure.com/datasources/{dataSourceName}/scans/{newScanName}/

掃描的 URI 參數:

名字 必填 類型 描述
accountName 字串 Microsoft Purview 帳戶的名稱
dataSourceName 字串 數據源的名稱
newScanName 字串 新掃描的名稱

使用 Microsoft Purview REST API 進行掃描

下列範例示範如何使用 Microsoft Purview REST API 來掃描具有承載的數據源:

掃描 Azure Data Lake Storage Gen2 數據源:

{
  "name":"<scan-name>",
  "kind":"AdlsGen2Msi",
  "properties":
  {
    "scanRulesetType":"System",
    "scanRulesetName":"AdlsGen2"
  }
}

掃描 SQL Database 數據源:

{
  "name":"<scan-name>",
  "kind":"AzureSqlDatabaseMsi",
  "properties":
  {
    "scanRulesetType":"System",
    "scanRulesetName":"AzureSqlDatabase",
    "databaseName": "<database-name>",
    "serverEndpoint": "<server-endpoint> (for example, sqlservername.database.windows.net)"
  }
}

使用下列 API 呼叫來掃描數據源:

POST https://{accountName}.scan.purview.azure.com/datasources/{dataSourceName}/scans/{newScanName}/run

後續步驟