共用方式為


數據無從驗證擷取引擎

本文說明如何使用 PowerApps、Azure Logic Apps 和 Azure Data Factory 內元數據驅動複製工作的組合,實作與數據無關的擷取引擎案例。

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

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

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

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

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

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

與數據無關引擎擷取程式的圖表

圖 2:自動化擷取程式。

數據資產註冊

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

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

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

數據資產註冊的圖表。

圖 3:數據資產註冊。

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

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

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

註冊工作流程的圖表

圖 4:註冊工作流程。

一旦核准擷取要求,工作流程會使用 Azure Purview REST API 將來源插入 Azure Purview。

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

顯示新資料集擷取方式的圖表(自動化)

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

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

  • 來源詳細數據會註冊,包括生產與數據處理站環境。
  • 擷取數據圖形、格式和品質條件約束。
  • 數據應用程式小組應該指出數據是否敏感 (個人資料) 此分類會驅動數據湖資料夾建立以內嵌未經處理、擴充和策劃數據的程式。 來源會命名未經處理和擴充的數據,以及數據產品名稱策劃的數據。
  • 系統會建立服務主體和安全組來擷取和授與數據集的存取權。
  • 擷取作業會在數據登陸區域 Data Factory 中繼存放區中建立。
  • API 會將數據定義插入 Azure Purview。
  • 根據作業小組的數據源驗證和核准,詳細數據會發佈至 Data Factory 中繼存放區。

擷取排程

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

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

數據資產擷取排程的圖表

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

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

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

擷取新數據源的圖表

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

正在擷取的數據會連線到 Azure Databricks 數據科學和工程工作區,並在數據登陸區域 Apache Hive 中繼存放區內建立數據定義。

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

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

擷取的元數據

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

  • 追蹤作業和最新數據載入時間戳,以取得與其功能相關的數據產品。
  • 追蹤可用的數據產品。
  • 擴大數據磁碟區。
  • 取得有關作業失敗的即時更新。

工作元數據可用來追蹤:

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

使用 Azure Purview REST API 來探索數據

Azure Purview REST API 應該用來在初始擷取期間註冊數據。 您可以在擷取數據后不久,使用 API 將數據提交至資料目錄。

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

註冊資料來源

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

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

資料來源的 URI 參數:

名稱 必要 類型​ 描述
accountName True String Azure Purview 帳戶的名稱
dataSourceName True String 數據源的名稱

使用 Azure Purview REST API 進行註冊

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

註冊 Azure Data Lake 儲存體 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 資料庫 數據源:

{
  "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>是存在於 Azure Purview 帳戶中的目前集合。

建立掃描

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

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

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

掃描的 URI 參數:

名稱 必要 類型​ 描述
accountName True String Azure Purview 帳戶的名稱
dataSourceName True String 數據源的名稱
newScanName True String 新掃描的名稱

使用 Azure Purview REST API 掃描

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

掃描 Azure Data Lake 儲存體 Gen2 數據源:

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

掃描 SQL 資料庫 資料來源:

{
  "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

下一步