事件
3月31日 下午11時 - 4月2日 下午11時
最大的網狀架構、Power BI 和 SQL 學習事件。 3 月 31 日 - 4 月 2 日。 使用程式代碼 FABINSIDER 來節省 $400 美元。
立即註冊
適用於:Azure Data Factory
Azure Synapse Analytics
提示
試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用!
根據預設,Azure Data Factory 使用者介面體驗 (UX) 會直接根據資料處理站製作。 此體驗有下列限制:
為了提供更好的製作體驗,Azure Data Factory 可讓您使用 Azure Repos 或 GitHub 來設定 Git 存放庫。 Git 是一種版本控制系統,可讓您更輕鬆地追蹤變更和共同作業。 本文將概述如何在 Git 存放庫中進行設定和工作,以及重點提示最佳做法和疑難排解指南。
您也可以參考 Azure Data Factory 中的持續整合與持續傳遞 (CI/CD),以深入了解較大的 CI/CD 模式,其中原始檔控制是重要的層面。
注意
我們已在 Azure Gov 和由 21Vianet 營運的 Microsoft Azure 上新增 GitHub 公用支援。 請參閱公告部落格。
若要深入了解 Azure Data Factory 如何與 Git 整合,請觀看下列 15 分鐘教學課程影片:
以下列出 git 整合為製作體驗提供的一些優點:
注意
當 Git 存放庫設定完成後,Azure Data Factory UX 會停用直接使用 Data Factory 服務製作的功能。 透過 PowerShell 或 SDK 所做的變更將直接發佈至 Data Factory 服務,且無法在 Git 中進行輸入。
使用 Azure Repos 和 GitHub 時,有四種不同的方式可將 Git 存放庫連線至您的資料處理站。 連線至 Git 存放庫之後,您可以在 [原始檔控制] 區段中的 [Git 設定] 下,透過管理中樞檢視及管理您的設定。
在 Azure Data Factory 首頁中,選取頂端的 [設定程式碼存放庫]。
在 Azure Data Factory UX 的撰寫畫布中選取 [Data Factory] 下拉式功能表,然後選取 [設定程式碼存放庫]。
移至 Azure Data Factory Studio 中的管理中樞。 在 [原始檔控制] 區段中,選取 [Git 設定]。 如果您沒有任何已連線的存放庫,請選取 [設定]。
在 Azure 入口網站中建立新的資料處理站時,您可以在 [Git 設定] 索引標籤中設定 Git 存放庫資訊。
注意
在 Azure 入口網站中設定 git 時,必須手動輸入專案名稱和存放庫名稱這類的設定,而不是成為下拉式清單的一部分。
使用 Azure Repos Git 整合來進行視覺化撰寫時,可針對您資料處理站管線上的工作支援原始檔控制和共同作業。 您可以將資料處理站與 Azure Repos Git 組織存放庫建立關聯,以進行原始檔控制、共同作業及版本設定等。 一個 Azure Repos Git 組織可以有多個存放庫,但一個 Azure Repos Git 存放庫只能與一個資料處理站建立關聯。 如果您沒有 Azure Repos 組織或存放庫,請依照這些指示來建立您的資源。
注意
您可以將指令碼和資料檔案儲存在 Azure Repos Git 存放庫中。 不過,您必須手動將檔案上載至 Azure 儲存體。 資料處理站管線不會自動將儲存在 Azure Repos Git 存放庫中的指令碼或資料檔案上傳至 Azure 儲存體。 其他檔案 (例如 ARM 範本或設定檔) 可儲存在對應資料夾以外的存放庫中。 如果您如此操作,請注意,您需要額外的工作,才能建置/部署並與儲存在對應 Azure DevOps 資料夾以外的檔案互動。
設定窗格會逐步引導您設定下列各項程式碼存放庫設定:
設定 | 描述 | 值 |
---|---|---|
存放庫類型 | Azure Repos 程式碼存放庫的類型。 |
Azure DevOps Git 或 GitHub |
Microsoft Entra ID | 您的 Microsoft Entra 租用戶名稱。 | <your tenant name> |
Azure Repos 組織 | 您的 Azure Repos 組織名稱。 您可以在 https://{organization name}.visualstudio.com 找到您的 Azure Repos 組織名稱。 您可以登入您的 Azure Repos 組織,以存取 Visual Studio 設定檔和查看您的存放庫與專案。 |
<your organization name> |
ProjectName | 您的 Azure Repos 專案名稱。 您可以在 https://{organization name}.visualstudio.com/{project name} 找到您的 Azure Repos 專案名稱。 |
<your Azure Repos project name> |
RepositoryName | 您的 Azure Repos 程式碼存放庫名稱。 Azure Repos 專案包含 Git 存放庫,可隨著您的專案成長管理原始程式碼。 您可以建立新的存放庫,或使用專案中既有的存放庫。 | <your Azure Repos code repository name> |
共同作業分支 | 用於進行發佈的 Azure Repos 共同作業分支。 預設為main 。 如果您想要從其他分支發行資源,請變更此設定。 |
<your collaboration branch name> |
發布分支 | 發佈分支是存放庫中的分支,系統會在其中儲存和更新發佈相關 ARM 範本。 預設為adf_publish 。 |
<your publish branch name> |
根資料夾 | 在您 Azure Repos 共同作業分支中的根資料夾。 | <your root folder name> |
將現有的 Data Factory 資源匯入存放庫 | 指定是否要從 UX 撰寫畫布將現有的資料處理站資源匯入到 Azure Repos Git 存放庫。 選取此方塊可將您的資料處理站資源以 JSON 格式匯入到相關聯的 Git 存放庫。 此動作會將每個資源個別匯出 (亦即,已連結的服務和資料集會匯出至個別的 JSON)。 若未選取此方塊,則不會匯入現有資源。 | 已選取 (預設值) |
要匯入資源的分支 | 指定要匯入資料處理站資源 (管線、資料集、連結服務等等) 的分支。 您可以將資源匯入下列其中一個分支:a. 共同作業 b. 新建 c. 使用現有的 |
注意
如果您使用 Microsoft Edge,但未在 [Azure DevOps 帳戶] 下拉式清單中看到任何值,請將 https://*.visualstudio.com 新增至信任的網站清單。
如果需要對設定的 Azure Repos Git 存放庫進行調整,您可選擇 [編輯]。
您可更新發佈分支並決定是否要從 ADF Studio 停用發佈按鈕。 如果您選擇從 Studio 停用發佈按鈕,則 ADF Studio 中的 [發佈] 按鈕會呈現灰色。 這有助於避免覆寫最後一次自動發佈部署。
Azure Repos Git 存放庫可位於不同的 Microsoft Entra 租用戶。 若要指定不同的 Microsoft Entra 租用戶,您必須擁有所用 Azure 訂用帳戶的系統管理員權限。 如需詳細資訊,請參閱變更訂用帳戶管理員。
重要
若要連線到其他 Microsoft Entra ID,登入的使用者必須屬於該 Active Directory。
若要使用個人 Microsoft 帳戶進行 Git 整合,您可以將個人的 Azure Repos 連結至貴組織的 Active Directory。
以來賓身分將您的個人 Microsoft 帳戶新增到貴組織的 Active Directory。 如需詳細資訊,請參閱在 Azure 入口網站中新增 Microsoft Entra B2B 共同作業使用者。
使用您的個人 Microsoft 帳戶登入 Azure 入口網站。 然後切換到貴組織的 Active Directory。
移至 [Azure DevOps] 區段,您現在會在其中看到您的個人存放庫。 選取存放庫並與 Active Directory 連線。
在這些設定步驟之後,當您在 Data Factory UI 中設定 Git 整合時,可以使用您的個人存放庫。
如需將 Azure Repos 連線至貴組織 Active Directory 的詳細資訊,請參閱將您的 Azure DevOps 組織連線至 Microsoft Entra ID。
使用 GitHub 整合所進行的視覺化撰寫,會對資料處理站管線上的工作支援原始檔控制和共同作業功能。 您可以將資料處理站與 GitHub 帳戶存放庫建立關聯,以進行原始檔控制、共同作業及版本設定。 一個 GitHub 帳戶可以裝載多個存放庫,且每個存放庫可以與多個資料處理站相關聯。 藉由將每個資料處理站設定為使用相同存放庫中的不同分支,您可以維護不同的環境 (例如開發、預備和生產環境),同時個別管理其設定。 如果您沒有 GitHub 帳戶或存放庫,請遵循這些指示來建立您的資源。
GitHub 與 Data Factory 的整合支援公用 GitHub (即 https://github.com)、GitHub Enterprise Cloud 與 GitHub Enterprise Server。 只要您具備 GitHub 中存放庫的讀取和寫入權限,就能搭配 Data Factory 使用公用和私人 GitHub 存放庫。 若要與公用存放庫連線,請選取 [使用連結存放庫選項],因為 [存放庫名稱] 下拉功能表中不會顯示公用存放庫。 ADF 的 GitHub 企業伺服器整合僅適用於正式支援的 GitHub 企業伺服器版本。
針對 GitHub 組織帳戶所擁有的存放庫,系統管理員必須授權 ADF 應用程式。 針對 GitHub 使用者帳戶所擁有的存放庫,具有至少共同作業權限的使用者可授權 ADF 應用程式。 此權限不會讓 ADF 應用程式直接存取帳戶/組織所擁有的存放庫,而僅允許 ADF 應用程式代表使用者根據使用者存取權限來存取存放庫。
注意
如果您是使用 Microsoft Edge,則少於 2.1.4 的 GitHub Enterprise 版本無法與其搭配運作。 GitHub 正式支援 > =3.0,而且這些全都應該適用於 ADF。 GitHub 變更其最低版本時,ADF 支援的版本也會變更。
注意
如果您遇到錯誤 無法列出 GitHub 存放庫。請確定帳戶名稱正確,而且您有執行動作的許可權。請確定您使用的是正確的擁有者名稱,而不是 GitHub 存放庫 URL。
此設定窗格會顯示下列 GitHub 存放庫設定:
設定 | 說明 | 值 |
---|---|---|
存放庫類型 | Azure Repos 程式碼存放庫的類型。 | GitHub |
使用 GitHub Enterprise Server | 選取 GitHub Enterprise Server 的核取方塊。 | 未選取 (預設值) |
GitHub Enterprise Server URL | GitHub Enterprise 根 URL (若為本機 GitHub Enterprise 伺服器,則必須是 HTTPS)。 例如: https://github.mydomain.com 。 僅在已選取 [使用 GitHub Enterprise Server] 時才必要 |
<your GitHub Enterprise Server URL> |
GitHub 存放庫擁有者 | 擁有存放庫的 GitHub 組織或帳戶。 此名稱可從 https://github.com/{owner}/{repository name} 中找到。 瀏覽至此頁面時,系統會提示您輸入 GitHub 組織或帳戶的 GitHub OAuth 認證。 如果您選取 [使用 GitHub Enterprise Server],系統就會顯示對話方塊,讓您輸入存取權杖。 | <your GitHub repository owner name> |
存放庫名稱 | 您的 GitHub 程式碼存放庫名稱。 GitHub 帳戶包含 Git 存放庫,可用來管理原始程式碼。 您可以建立新的存放庫,或使用帳戶中既有的存放庫。 當您選取 [選取存放庫] 時,請指定 GitHub 程式碼存放庫名稱。 | <your repository name> |
Git 存放庫連結 | 您的 GitHub 程式碼存放庫連結。 當您選取 [使用存放庫連結] 時,請指定 GitHub 程式碼存放庫連結。 | <your repository link> |
共同作業分支 | 用於發行的 GitHub 共同作業分支。 根據預設,其是主要。 如果您想要從其他分支發行資源,請變更此設定。 您也可以在這裡建立新的協作分支。 | <your collaboration branch> |
發布分支 | 存放庫中的分支,系統會在其中儲存和更新發佈相關 ARM 範本。 | <your publish branch name> |
根資料夾 | 在您 GitHub 共同作業分支中的根資料夾。 | <your root folder name> |
將現有資源匯入存放庫 | 指定是否要從 UX 製作畫布將現有的資料處理站資源匯入到 GitHub 存放庫。 選取此方塊可將您的資料處理站資源以 JSON 格式匯入到相關聯的 Git 存放庫。 此動作會將每個資源個別匯出 (亦即,已連結的服務和資料集會匯出至個別的 JSON)。 若未選取此方塊,則不會匯入現有資源。 | 已選取 (預設值) |
將資源匯入此分支 | 指定要匯入資料處理站資源 (管線、資料集、連結服務等等) 的分支。 |
如果需要對設定的 GitHub 存放庫進行調整,您可選擇 [編輯]。
您可更新發佈分支並決定是否要從 ADF Studio 停用發佈按鈕。 如果您選擇從 Studio 停用發佈按鈕,則 ADF Studio 中的 [發佈] 按鈕會呈現灰色。 這有助於避免覆寫最後一次自動發佈部署。
連線到 GitHub 組織需要組織將權限授與 Azure Data Factory。 對組織具有 ADMIN 權限的使用者必須執行下列步驟,以允許資料處理站進行連線。
如果您是第一次從 Azure Data Factory 連線至公用 GitHub 或 GitHub Enterprise Cloud,請遵循下列步驟來連線到 GitHub 組織。
遵循這些步驟後,您的處理站便可連線至組織內的公用和私人存放庫。 如果您無法連線,請嘗試清除瀏覽器快取,然後再試一次。
如果您已連線至公用 GitHub 或 GitHub Enterprise Cloud,且僅授與存取個人帳戶的權限,請依照下列步驟將權限授與組織。
移至 GitHub 並開啟 [設定]。
選取應用程式。 在 [授權的 OAuth 應用程式] 索引標籤中,您應該會看到 AzureDataFactory。
選取應用程式,並將應用程式存取權授與貴組織。
遵循這些步驟後,您的處理站便可連線至組織內的公用和私人存放庫。
如果您連線至 GitHub Enterprise Server,則必須使用個人存取權杖進行驗證。 了解如何在建立個人存取權杖中建立個人存取權杖。
注意
GitHub Enterprise Server 位於自我裝載的私人環境中,因此當您使用此驗證時,您需要能夠完全控制防火牆、網路原則和 VPN。 如需詳細資訊,請參閱關於 GitHub Enterprise Server。
您可以將指令碼和資料檔案儲存在 GitHub 存放庫。 不過,您必須手動將檔案上載至 Azure 儲存體。 Data Factory 管線不會自動將 GitHub 存放庫中儲存的指令碼或資料檔案上傳至 Azure 儲存體。
早於 2.14.0 的 GitHub Enterprise 版本不適用於 Microsoft Edge 瀏覽器。
僅可以在正式推出的 Data Factory 版本中,使用 GitHub 與 Data Factory 視覺化撰寫工具的整合。
如果您連線至 Azure DevOps Server 2022,則必須使用個人存取權杖進行驗證。 了解如何在這裡建立個人存取權杖。
提供 Azure DevOps Server URL
和 Azure DevOps Project Collection
以連線至內部部署 Azure DevOps
針對權杖提供存取範圍作為程式碼的讀取/寫入。
版本控制系統 (也稱為原始程式碼控制) 讓開發人員對程式碼以及程式碼基底的追蹤變更進行共同作業。 原始程式碼控制是多重開發人員專案不可或缺的工具。
每個與資料處理站相關的 Azure Repos Git 存放庫都有共同作業分支。 (main
是預設的共同作業分支)。 使用者也可以按一下分支下拉式功能表中的+ 新分支來建立功能分支。
出現新的分支窗格之後,請輸入功能分支的名稱,然後選取要作為工作基礎的分支。
當您準備好要將功能分支的變更合併到共同作業分支時,請按一下分支下拉式功能表,然後選取建立提取要求。 這個動作會帶您前往 Azure Repos Git,您可以在其中提出提取要求、執行程式碼檢閱,以及合併變更到您的共同作業分支。 (main
是預設值)。 您只能從共同作業分支發佈到 Data Factory 服務。
根據預設,資料處理站會產生已發佈中心的 Resource Manager 範本,並將它們儲存到名為adf_publish
的分支。 若要設定自訂發佈分支,請將publish_config.json
檔案新增至共同作業分支中的根資料夾。 發佈時,ADF 會讀取此檔案、尋找 publishBranch
欄位,並將所有 Resource Manager 範本儲存到指定的位置。 如果該分支不存在,資料處理站會自動加以建立。 此檔案的範例如下所示:
{
"publishBranch": "factory/adf_publish"
}
Azure Data Factory 一次只能有一個發佈分支。 當您指定新的發佈分支時,Data Factory 不會刪除先前的發佈分支。 如果您想要移除先前的發佈分支,請手動刪除該分支。
注意
Data Factory 只會在載入中心時讀取publish_config.json
檔案。 如果您已在入口網站中載入中心,請重新整理瀏覽器,使變更生效。
將變更合併到共同作業分支之後 (main
是預設值),請按一下 [發佈] 來手動將主要分支中的程式碼變更發佈到 Data Factory 服務。
側邊窗格會在您確認發佈分支和擱置中變更正確後開啟。 驗證變更後,按一下 OK 確認發佈。
重要
主要分支不代表在 Data Factory 服務中部署的內容。 「必須」將主要分支手動發佈至 Data Factory 服務。
一般來說,您不會希望每個小組成員都擁有更新 Data Factory 的權限。 建議使用下列權限設定:
建議您不要允許直接在共同作業分支裡簽入。 此限制可協助避免錯誤 (bug),因為每個簽入都會經歷建立功能分支所述的提取要求檢閱程序。
建議您使用 Azure Key Vault 來儲存 Data Factory Linked Services 的任何連線字串或密碼,或受控識別驗證。 基於安全性考量,資料處理站不會在 Git 中儲存祕密。 在 Linked Services 上任何內含密碼等秘密變更,都會立即發佈至 Azure Data Factory 服務。
使用 Key Vault 或 MSI 驗證也可讓您更輕鬆地持續整合和部署,因為您不需要在 Resource Manager 範本部署期間提供這些祕密。
以下是一些可能會導致過時發佈分支的情況範例:
如果發佈分支與主要分支不同步,但儘管最近發佈,卻包含過期的資源,您可以使用下列任一個解決方案:
其會從您的協作分支將程式碼發佈或覆寫到即時模式。 也會將存放庫中的程式碼視為事實來源。
程式碼流程:協作分支 - >即時模式
其會將程式碼從即時模式匯入至協作分支。 也會將即時模式中的程式碼視為真實來源。
程式碼流程:即時模式 -> 協作分支
注意
如果您在不允許直接認可的存放庫中工作,則只需要建立和合併提取要求。 在多數組織中,提交至存放庫時將需要檢閱才能合併,因此最佳做法通常是使用這種方法。 但在某些情況下不需要檢閱,在此情況下,不需要建立和合併提取要求,但變更可以直接認可至協作分支。
視需要適當地選擇任一方法。
發佈時,即使先前已發佈所有資源,這些資源仍會顯示為新的資源。 如果 lastCommitId 屬性透過下列方式在處理站的 repoConfiguration 屬性上重設,就會發生這種情況:重新部署處理站 ARM 範本,或透過 PowerShell 或 REST API 更新處理站 repoConfiguration 屬性。 繼續發佈資源會解決此問題,但為了防止再次發生,請避免更新處理站 repoConfiguration 屬性。
若要切換至不同的 Git 存放庫,請移至 [原始檔控制] 下管理中樞中的 [Git 設定] 分頁。 選取 [中斷連線]。
輸入您的資料處理站名稱,然後按一下確認以移除與您資料處理站相關聯的 Git 存放庫。
移除與目前存放庫的關聯之後,您可以設定 Git 設定以使用不同的存放庫,然後將現有的 Data Factory 資源匯入到新的存放庫。
重要
從資料處理站移除 Git 設定並不會刪除存放庫中的任何資料。 處理站會包含所有已發佈的資源。 您可以直接針對服務繼續編輯處理站。
事件
3月31日 下午11時 - 4月2日 下午11時
最大的網狀架構、Power BI 和 SQL 學習事件。 3 月 31 日 - 4 月 2 日。 使用程式代碼 FABINSIDER 來節省 $400 美元。
立即註冊訓練
模組
讓您的 Azure Data Factory 或 Azure Synapse Pipeline 能夠運作 - Training
讓您的 Azure Data Factory 或 Azure Synapse Pipeline 能夠運作
文件
連線至 GitHub - Azure Data Factory & Azure Synapse
使用 GitHub 來指定 Common Data Model 實體參考
了解如何使用持續整合和傳遞將一個環境 (開發、測試、生產) 中的 Azure Data Factory 管線移至另一個環境。
反覆式開發法與偵錯 - Azure Data Factory & Azure Synapse
瞭解如何使用服務 UI 反覆開發和偵錯 Data Factory 和 Synapse Analytics 管線。