使用私人端點將資料從 Azure Blob 儲存體安全地複製到 SQL 資料庫
適用於:Azure Data Factory Azure Synapse Analytics
提示
試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用!
在本教學課程中,您會使用 Azure Data Factory 使用者介面 (UI) 建立資料處理站。 此資料處理站中的管線會將資料從 Azure Blob 儲存體安全地複製到 Azure SQL 資料庫 (兩者都只允許存取選取的網路),方法是使用 Azure Data Factory 受控虛擬網路中的私人端點。 本教學課程中的設定模式從以檔案為基礎的資料存放區複製到關聯式資料存放區。 如需支援作為來源和接收的資料存放區清單,請參閱支援的資料存放區和格式資料表。 私人端點功能可在 Azure Data Factory 的所有層級使用,因此不需要特定層才能使用它們。 如需定價層的詳細資訊,請參閱 Azure Data Factory 定價頁面。
注意
如果您不熟悉 Data Factory,請參閱 Data Factory 簡介。
在本教學課程中,您會執行下列步驟:
- 建立資料處理站。
- 建立具有複製活動的管線。
必要條件
- Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費 Azure 帳戶。
- Azure 儲存體帳戶。 您會使用 Blob 儲存體作為來源資料存放區。 如果您沒有儲存體帳戶,請參閱建立 Azure 儲存體帳戶,按照步驟建立此帳戶。 請確定儲存體帳戶只允許從選取的網路存取。
- Azure SQL Database。 您會使用資料庫作為接收資料存放區。 如果您沒有 Azure SQL 資料庫,請參閱建立 SQL 資料庫,按照步驟來建立 SQL 資料庫。 請確定 SQL Database 帳戶只允許從選取的網路進行存取。
建立 Blob 和 SQL 資料表
現在,請執行下列步驟,準備本教學課程中的 Blob 儲存體和 SQL 資料庫。
建立來源 Blob
開啟記事本。 複製下列文字,並在磁碟上將其儲存為 emp.txt 檔案:
FirstName,LastName John,Doe Jane,Doe
在 Blob 儲存體中,建立名為 adftutorial 的容器。 在此容器中建立名為 input 的資料夾。 然後,將 emp.txt 檔案上傳至 input 資料夾。 請使用 Azure 入口網站或 Azure 儲存體總管之類的工具執行這些工作。
建立接收 SQL 資料表
使用下列 SQL 指令碼,在您的 SQL 資料庫中建立 dbo.emp 資料表:
CREATE TABLE dbo.emp
(
ID int IDENTITY(1,1) NOT NULL,
FirstName varchar(50),
LastName varchar(50)
)
GO
CREATE CLUSTERED INDEX IX_emp_ID ON dbo.emp (ID);
建立資料處理站
在此步驟中,您可以建立資料處理站,並啟動 Data Factory 使用者介面,在資料處理站中建立管線。
開啟 Microsoft Edge 或 Google Chrome。 目前,只有 Microsoft Edge 和 Google Chrome 網頁瀏覽器支援 Data Factory UI。
在左側功能表上,選取 [建立資源]>[分析]>[資料處理站]。
在 [新增資料處理站] 頁面的 [名稱] 下,輸入 ADFTutorialDataFactory。
Azure Data Factory 的名稱必須是 全域唯一的。 如果您收到有關名稱值的錯誤訊息,請輸入不同的資料處理站名稱 (例如 yournameADFTutorialDataFactory)。 如需 Data Factory 成品的命名規則,請參閱 Data Factory 命名規則。
選取您要在其中建立資料處理站的 Azure 訂用帳戶。
針對 [資源群組],採取下列其中一個步驟︰
- 選取 [使用現有的] ,然後從下拉式清單選取現有的資源群組。
- 選取 [建立新的] ,然後輸入資源群組的名稱。
若要了解資源群組,請參閱使用資源群組管理您的 Azure 資源。
在 [版本] 下,選取 [V2]。
在 [位置] 下,選取資料處理站的位置。 只有受到支援的位置會出現在下拉式清單中。 資料處理站所使用的資料存放區 (例如 Azure 儲存體和 SQL Database) 和計算 (例如 Azure HDInsight) 可位於其他區域。
選取 建立。
建立完成後,您會在通知中心看到通知。 選取 [移至資源],以移至 Data Factory 頁面。
在 [開啟 Azure Data Factory Studio] 圖格上選取 [開啟],以在個別的索引標籤中啟動 Data Factory UI。
在 Data Factory 受控虛擬網路中建立 Azure 整合執行階段
在此步驟中,您會在 Data Factory 受控虛擬網路中建立 Azure Integration Runtime。
在 Data Factory 入口網站中,移至管理,然後選取 [新增] 以建立新的 Azure Integration Runtime。
在 [整合執行階段設定] 頁面上,選擇要根據必要功能建立的整合執行階段。 在本教學課程中,選取 [Azure]、[自我裝載],然後按一下 [繼續]。
選取 [Azure],然後按一下 [繼續] 以建立 Azure 整合執行階段。
在 [虛擬網路設定 (預覽)] 中,選取 [啟用]。
選取 建立。
建立新管線
在此步驟中,您會在資料處理站中建立具有「複製」活動的管線。 複製活動會將資料從 Blob 儲存體複製到 SQL Database。 在快速入門教學課程中,您已依照下列步驟建立管線:
- 建立連結服務。
- 建立輸入和輸出資料集。
- 建立管線。
在本教學課程中,您首先會建立管線。 然後,您會在需要連結服務和資料集以設定管線時,建立這些項目。
在首頁上,選取 [協調]。
在管線的屬性窗格中,輸入 CopyPipeline 作為管線名稱。
在活動 工具箱中展開移動和轉換類別,並將複製資料活動從工具箱中拖曳至管線設計工具介面。 輸入 CopyFromBlobToSql 作為名稱。
設定來源
提示
在本教學課程中,您會使用帳戶金鑰作為來源資料存放區的驗證類型。 如有需要,您也可以選擇其他支援的驗證方法,例如 SAS URI、服務主體和受控識別。 如需詳細資訊,請參閱使用 Azure Data Factory 複製和轉換 Azure Blob 儲存體中的資料中對應的章節。
若要安全地儲存資料存放區的祕密,也建議您使用 Azure Key Vault。 如需詳細資訊和圖例,請參閱在 Azure Key Vault 中儲存認證。
建立來源資料集和已連結的服務
移至 [來源] 索引標籤。選取 [+ 新增] 以建立來源資料集。
在 [新增資料集] 對話方塊中,選取 [Azure Blob 儲存體],然後選取 [繼續]。 來源資料位於 Blob 儲存體中,因此您選取 [Azure Blob 儲存體] 作為來源資料集。
在 [選取格式] 對話方塊中,選取您資料的格式類型,然後選取 [繼續]。
在 [設定屬性] 對話方塊中,輸入 SourceBlobDataset 作為名稱。 選取第一個資料列作為標頭的核取方塊。 在 [已連結的服務] 文字方塊下,選取 [+ 新增]。
在 [新增已連結的服務 (Azure Blob 儲存體)] 對話方塊中輸入 AzureStorageLinkedService 作為名稱,然後從 [儲存體帳戶名稱] 清單中選取您的儲存體帳戶。
請務必啟用互動式製作。 可能需要約一分鐘的時間才能啟用。
選取測試連線。 當儲存體帳戶只允許從選取的網路存取,而且需要 Data Factory 來建立應該在使用其之前核准的私人端點時,就會發生失敗。 在錯誤訊息中,您應該會看到一個連結,可讓您建立私人端點,以供您建立受控私人端點。 另一個替代方式是直接前往管理索引標籤,並遵循下一節中的指示建立受控私人端點。
注意
並非所有資料處理站執行個體圴可使用管理索引標籤。 如果您沒有看到該索引標籤,可以選取 [作者]>[連線]>[私人端點] 來存取私人端點。
讓對話方塊保持開啟,然後移至儲存體帳戶。
遵循本節的指示來核准私人連結。
返回對話方塊。 選取 [測試連線],然後選取 [建立] 以部署已連結的服務。
建立已連結的服務之後,您會回到設定屬性頁面。 在 [檔案路徑] 旁,選取 [瀏覽]。
移至 adftutorial/input 資料夾,選取 emp.txt 檔案,然後選取 [確定]。
選取 [確定]。 系統會自動前往管線頁面。 在來源 索引標籤中,確認已選取 [SourceBlobDataset]。 若要預覽此頁面上的資料,請選取 [預覽資料]。
建立受控私人端點
如果您未在測試連線時選取超連結,請遵循路徑。 現在您需要建立受控私人端點,以連線至所建立的已連結服務。
移至管理索引標籤。
注意
並非所有 Data Factory 執行個體圴可使用管理索引標籤。 如果您沒有看到該索引標籤,可以選取 [作者]>[連線]>[私人端點] 來存取私人端點。
移至受控私人端點區段。
在受控私人端點之下選取 [+新增]。
從清單中選取 Azure Blob 儲存體圖格,然後選取 [繼續]。
輸入建立之儲存體帳戶的名稱。
選取 建立。
在等候幾秒鐘之後,您應該會看到建立的私人連結需要核准。
選取之前建立的私人端點。 您會看到超連結,引導您在儲存體帳戶層級核准私人端點。
在儲存體帳戶中核准私人連結
在儲存體帳戶中,移至設定區段下的私人端點連線。
選取您建立的私人端點核取方塊,然後選取 [核准]。
新增描述,然後選取 [是]。
回到 Data Factory 中管理索引標籤的受控私人端點區段。
大約一或兩分鐘後,您應該會看到 Data Factory UI 中出現私人端點的核准狀態。
設定接收
提示
在本教學課程中,您會使用 SQL 驗證作為接收資料存放區的驗證類型。 如有需要,您也可以選擇其他支援的驗證方法,例如 服務主體和受控識別。 如需詳細資訊,請參閱使用 Azure Data Factory 複製和轉換 Azure SQL Database 中的資料中對應的章節。
若要安全地儲存資料存放區的祕密,也建議您使用 Azure Key Vault。 如需詳細資訊和圖例,請參閱在 Azure Key Vault 中儲存認證。
建立接收資料集和已連結的服務
移至 [接收] 索引標籤,然後選取 [+ 新增] 以建立接收資料集。
在新增資料集對話方塊的搜尋方塊中,輸入 SQL 以篩選連接器。 選取 [Azure SQL Database],然後選取 [繼續]。 在本教學課程中,您會將資料複製到 SQL 資料庫。
在 [設定屬性] 對話方塊中,輸入 OutputSqlDataset 作為名稱。 從 [已連結的服務] 下拉式清單中,選取 [+ 新增]。 資料集必須與連結的服務相關聯。 連結服務具有連接字串,可供 Data Factory 在執行階段中用來連線到 SQL 資料庫。 資料集會指定要作為資料複製目的地的容器、資料夾和檔案 (選擇性)。
在 [新增已連結的服務 (Azure SQL Database)] 對話方塊中,執行下列步驟:
- 在 [名稱] 下,輸入 AzureSqlDatabaseLinkedService。
- 在 [伺服器名稱] 下,選取您的 SQL Server 執行個體。
- 請務必啟用互動式製作。
- 在 [資料庫名稱] 下,選取您的 SQL 資料庫。
- 在 [使用者名稱] 下,輸入使用者名稱。
- 在 [密碼] 下,輸入使用者的密碼。
- 選取測試連線。 由於 SQL 伺服器只允許從選取的網路存取,而且需要 Data Factory 來建立應該在使用其之前核准的私人端點,因此應該會發生失敗的情況。 在錯誤訊息中,您應該會看到一個連結,可讓您建立私人端點,以供您建立受控私人端點。 另一個替代方式是直接前往管理索引標籤,並遵循下一節中的指示建立受控私人端點。
- 讓對話方塊保持開啟,然後移至您選取的 SQL 伺服器。
- 遵循本節的指示來核准私人連結。
- 返回對話方塊。 選取 [測試連線],然後選取 [建立] 以部署已連結的服務。
如此會自動前往設定屬性對話方塊。 在 [資料表] 中,選取 [dbo].[emp]。 然後選取確定。
移至含有管線的索引標籤,然後在接收資料集中確認已選取 OutputSqlDataset。
您可以藉由遵循複製活動中的結構描述對應,選擇性地將來源的結構描述對應至目的地的相對應結構描述。
建立受控私人端點
如果您未在測試連線時選取超連結,請遵循路徑。 現在您需要建立受控私人端點,以連線至所建立的已連結服務。
移至管理索引標籤。
移至受控私人端點區段。
在受控私人端點之下選取 [+新增]。
從清單中選取 Azure SQL Database 圖格,然後選取 [繼續]。
輸入您選取的 SQL 伺服器名稱。
選取 建立。
在等候幾秒鐘之後,您應該會看到建立的私人連結需要核准。
選取之前建立的私人端點。 您會看到超連結,引導您在 SQL 伺服器層級核准私人端點。
在 SQL Server 中核准私人連結
- 在 SQL 伺服器中,移至設定區段下的私人端點連線。
- 選取您建立的私人端點核取方塊,然後選取 [核准]。
- 新增描述,然後選取 [是]。
- 回到 Data Factory 中管理索引標籤的受控私人端點區段。
- 系統應該需要一或兩分鐘的時間,才會核准您的私人端點。
偵錯和發佈管線
您可以先對管線執行偵錯,再將成品 (連結服務、資料集和管線) 發佈至 Data Factory 或您自己的 Azure Repos Git 存放庫。
- 若要偵錯管線,請選取工具列上的 [偵錯]。 您會在視窗底部的 [輸出] 索引標籤中看到管線執行狀態。
- 管線成功執行之後,在頂端工具列中選取 [全部發行]。 此動作會將您已建立的實體 (資料集和管線) 發佈至 Data Factory。
- 請靜待 [發佈成功] 訊息顯示。 若要查看通知訊息,請選取右上角的 [顯示通知] (鐘形按鈕)。
摘要
此範例中的管線會使用 Data Factory 受控虛擬網路中的私人端點,將資料從 Blob 儲存體複製到 SQL Database。 您已了解如何︰
- 建立資料處理站。
- 建立具有複製活動的管線。