管理 Azure Data Factory 解決方案的原始檔控制

已完成

根據預設,Azure Data Factory 使用者介面體驗 (UX) 會直接根據資料處理站製作。 此體驗有下列限制:

  • Data Factory 服務不包含儲存您的修改的 JSON 實體存放庫。 儲存變更的唯一方法是透過全部發佈按鈕,所有變更都會直接發佈到資料處理站服務。
  • Data Factory 服務並未針對共同作業和版本控制進行優化。

為了提供更好的製作體驗,Azure Data Factory 可讓您使用 Azure Repos 或 GitHub 來設定 Git 存放庫。 Git 是一種版本控制系統,可讓您更輕鬆地追蹤變更和共同作業。 本文章將概述如何在 git 存放庫中進行設定和工作,以及重點提示最佳做法和疑難排解指南。

注意

當 Git 存放庫設定完成後,Azure Data Factory UX 會停用直接使用 Data Factory 服務製作的功能。 透過 PowerShell 或 SDK 所做的變更會直接發佈至 Data Factory 服務,且不會進入 Git 中。

Git 整合的優點

以下列出 git 整合為製作體驗提供的一些優點:

  • 原始檔控制:當您的資料處理站工作負載變得至關重要時,您會想要將處理站與 Git 整合,以運用下列幾種原始檔控制優勢:
    • 追蹤/稽核變更的能力。
    • 還原引入錯誤 (bug) 的變更的能力。
  • 部分儲存: 根據資料處理站製作時,您無法將變更儲存為草稿,而且所有發佈都必須通過資料處理站驗證。 不論您是管線尚未完成,還是只是不想在電腦當機時遺失變更的設定,git 整合都能讓您以累加的方式變更資料處理站資源,而不論其處於什麼狀態。 設定 git 存放庫讓您可儲存變更,讓您在測試變更滿意後再發佈。
  • 共同作業與控制: 如果您有多個小組成員為同一個中心貢獻,您可能會想要讓小組成員透過程式碼檢閱程序彼此協作。 您也可以設定您的中心,讓每位參與者都有不同的權限。 部分小組成員可能只能透過 Git 進行變更,而且只允許小組中的特定人員將變更發佈到中心。
  • 更好的 CI/CD:如果您要使用持續傳遞程序來部署到多個環境,git 整合可以讓某些動作變得更容易。 其中一些動作包括:
    • 將您的發行管線設定為當任何變更發生在您的「開發人員」中心時,則自動觸發。
    • 在中心內自訂可做為 Resource Manager 範本中參數的屬性。 只將必要屬性集合保留為參數,並強制編碼其他所有內容,會很有用。
  • 更好的效能: 使用 git 整合的一個一般中心與根據資料處理站服務製作的中心相較之下,載入速度快 10 倍。 效能的改善是因為資源是透過 Git 下載。

連線至 Git 存放庫

使用 Azure Repos 和 GitHub 時,有四種不同的方式可將 Git 存放庫連線至您的資料處理站。 連線到 Git 存放庫之後,您可以在 [原始檔控制] 區段中的 [Git 設定] 下,於管理中樞內檢視及管理您的設定。

設定方法 1:首頁

在 Azure Data Factory 的首頁中,選取 [設定程式碼存放庫]

Configure a code repository from home page

設定方法 2:製作畫布

在 Azure Data Factory UX 製作畫布中,選取Data Factory下拉式功能表,然後選取設定程式碼存放庫

Configure the code repository settings from authoring

設定方法 3:管理中樞

前往 Azure Data Factory UX 中的管理中樞。 在 [原始檔控制] 區段中,選取 [Git 設定]。 如果您沒有任何已連線的存放庫,請按一下 [設定程式碼存放庫]

Configure the code repository settings from management hub

版本控制

版本控制系統 (也稱為原始程式碼控制) 讓開發人員對程式碼以及程式碼基底的追蹤變更進行共同作業。 原始程式碼控制是多重開發人員專案不可或缺的工具。

建立功能分支

每個與資料處理站相關的 Azure Repos Git 存放庫都有共同作業分支。 (main是預設的共同作業分支)。 使用者也可以按一下分支下拉式功能表中的+ 新分支來建立功能分支。 新分支窗格出現後,請輸入功能分支的名稱。

Create a new branch

當您準備好要將功能分支的變更合併到共同作業分支時,請按一下分支下拉式功能表,然後選取建立提取要求。 這個動作會帶您前往 Azure Repos Git,您可以在其中提出提取要求、執行程式碼檢閱,以及合併變更到您的共同作業分支。 您只能從共同作業分支發佈到 Data Factory 服務。

Create a new pull request

設定發佈設定

根據預設,資料處理站會產生已發佈中心的 Resource Manager 範本,並將它們儲存到名為adf_publish的分支。 若要設定自訂發佈分支,請將publish_config.json檔案新增至共同作業分支中的根資料夾。 發佈時,Azure Data Factory 會讀取此檔案、尋找 publishBranch 欄位,並將所有 Resource Manager 範本儲存到指定的位置。 如果該分支不存在,資料處理站會自動建立它。 此檔案的外觀範例如下:

{
    "publishBranch": "factory/adf_publish"
}

Azure Data Factory 一次只能有一個發佈分支。 當您指定新的發佈分支時,Data Factory 不會刪除先前的發佈分支。 如果您想要移除先前的發佈分支,請手動刪除該分支。

注意

Data Factory 只會在載入中心時讀取publish_config.json檔案。 如果您已在入口網站中載入中心,請重新整理瀏覽器,使變更生效。

發佈程式碼變更

將變更合併到協作分支之後,請按一下 [發佈] 以手動將協作分支中的程式碼變更發佈到 Data Factory 服務。

Publish changes to the Data Factory service

側邊窗格會在您確認發佈分支和擱置中變更正確後開啟。 驗證變更後,按一下 OK 確認發佈。

Confirm the correct publish branch

重要

協作分支不代表在 Data Factory 服務中部署的內容。 協作分支 [必須] 以手動方式發佈至 Data Factory 服務。

Git 整合的最佳做法

權限

一般來說,您不會希望每個小組成員都擁有更新 Data Factory 的權限。 建議使用下列權限設定:

  • 所有小組成員都應該有 Data Factory 的讀取權限。
  • 應只允許一組特定人員才能發佈至 Data Factory。 若要這樣做,他們必須在包含 Data Factory 的資源群組上擁有 Data Factory 參與者角色。

建議您不要允許直接在共同作業分支裡簽入。 此限制可協助避免錯誤 (bug),因為每個簽入都會經歷提取要求檢閱程序。

使用 Azure Key Vault 的密碼

建議您使用 Azure Key Vault 來儲存 Data Factory Linked Services 的任何連線字串或密碼,或受控識別驗證。 基於安全性考量,資料處理站不會在 Git 中儲存祕密。 在 Linked Services 上任何內含密碼等秘密變更,都會立即發佈至 Azure Data Factory 服務。

使用 Key Vault 或 MSI 驗證也可讓您更輕鬆地持續整合和部署,因為您不需要在 Resource Manager 範本部署期間提供這些祕密。

切換到不同的 Git 存放庫

若要切換至不同的 Git 存放庫,請移至 [原始檔控制] 下管理中樞中的 [Git 設定] 分頁。 選取 [中斷連線]。

Git icon

輸入您的資料處理站名稱,然後按一下確認以移除與您資料處理站相關聯的 Git 存放庫。

Remove the association with the current Git repo

移除與目前存放庫的關聯之後,您可以設定 Git 設定以使用不同的存放庫,然後將現有的 Data Factory 資源匯入到新的存放庫。

重要

從資料處理站移除 Git 設定並不會刪除存放庫中的任何資料。 處理站會包含所有已發佈的資源。 您可以直接針對服務繼續編輯處理站。