利用私有端點安全地將資料從 Azure Blob 儲存複製到 SQL 資料庫

適用於: Azure Data Factory Azure Synapse Analytics

秘訣

Data Factory in Microsoft Fabric 是下一代的 Azure Data Factory,擁有更簡單的架構、內建 AI 及新功能。 如果你是資料整合新手,建議先從 Fabric Data Factory 開始。 現有的 ADF 工作負載可升級至 Fabric,以存取資料科學、即時分析與報告等新能力。

在這個教學中,你會使用 Azure Data Factory 使用者介面(UI)建立資料工廠。 此資料工廠中的管線透過 Azure Data Factory 管理的虛擬網路內的私有端點,安全地將資料從 Azure Blob 儲存體複製到 Azure SQL 資料庫(兩者皆僅允許存取特定網路)。 本教學課程中的設定模式從以檔案為基礎的資料存放區複製到關聯式資料存放區。 如需支援作為來源和接收的資料存放區清單,請參閱支援的資料存放區和格式資料表。 私有端點功能在 Azure Data Factory 的所有層級皆可用,因此使用時不需特定層級。 關於價格與分級的更多細節,請參閱 Azure Data Factory 價格頁面

注意

如果你是 Data Factory 新手,請參考 Azure Data Factory

在本教學課程中,您會執行下列步驟:

  • 建立資料處理站。
  • 建立含有複製活動的管線。

必要條件

  • Azure訂閱。 如果你沒有Azure訂閱,請在開始前建立一個free Azure帳號
  • Azure 儲存帳號。 您會使用 Blob 儲存體作為來源資料存放區。 如果你沒有儲存帳號,請參考 建立Azure儲存帳號,了解建立的步驟。 請確定儲存體帳戶只允許從選取的網路存取。
  • Azure SQL Database。 您會使用資料庫作為資料匯集資料存放區。 如果你沒有Azure SQL資料庫,請參考 建立 SQL 資料庫 步驟。 請確定 SQL Database 帳戶只允許從選取的網路進行存取。

建立 Blob 和 SQL 資料表

現在,請執行下列步驟,準備本教學課程中的 Blob 儲存體和 SQL 資料庫。

建立來源 Blob

  1. 開啟記事本。 複製下列文字,並在磁碟上將其儲存為 emp.txt 檔案:

    FirstName,LastName
    John,Doe
    Jane,Doe
    
  2. 在 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 使用者介面,在資料處理站中建立管線。

  1. 打開 Microsoft Edge 或 Google Chrome。 目前,只有 Microsoft Edge 和 Google Chrome 瀏覽器支援 Data Factory 介面。

  2. 在左側功能表上,選取 [建立資源]>[分析]>[資料處理站]

  3. 在 [新增資料處理站] 頁面的 [名稱] 下,輸入 ADFTutorialDataFactory

    Azure資料工廠的名稱必須為全球唯一。 如果您收到有關名稱值的錯誤訊息,請輸入不同的資料處理站名稱 (例如 yournameADFTutorialDataFactory)。 如需 Data Factory 成品的命名規則,請參閱 Data Factory 命名規則

  4. 選擇您要在其中建立資料工廠的 Azure 訂閱。

  5. 針對 [資源群組],採取下列其中一個步驟︰

    • 選取 [使用現有的] ,然後從下拉式清單選取現有的資源群組。
    • 選取 [建立新的] ,然後輸入資源群組的名稱。

    想了解資源群組,請參見 Use resource groups to manage your Azure resources

  6. 在 [版本] 下,選取 [V2]

  7. 在 [位置] 下,選取資料處理站的位置。 只有受到支援的位置會出現在下拉式清單中。 資料工廠使用的資料儲存(例如 Azure 儲存體 和 SQL Database)和運算工具(例如 Azure HDInsight)可以位於其他區域。

  8. 選擇 建立

  9. 建立完成後,您會在通知中心看到通知。 選取 [移至資源],以移至 Data Factory 頁面。

  10. Open Azure Data Factory Studio 圖塊上選擇 Open,在另一個分頁啟動 Data Factory 使用者介面。

在資料工廠管理的虛擬網路中建立 Azure 整合執行時間

在此步驟中,你建立一個 Azure 整合執行環境並啟用 Data Factory Managed 虛擬網路。

  1. 在 Data Factory 入口網站中,前往 Manage,選擇 New以建立新的 Azure 整合執行時。

    截圖顯示建立新的 Azure 集成執行階段。

  2. 在 [整合執行階段設定] 頁面上,選擇要根據必要功能建立的整合執行階段。 在此教學中,選擇 Azure、Self-Hosted,然後點擊 Continue

  3. 選擇 Azure,然後點選 Continue 以建立 Azure 整合執行時。

    截圖顯示新的 Azure 集成執行階段。

  4. 在 [虛擬網路設定 (預覽)] 中,選取 [啟用]

    顯示正在啟用新 Azure 集成執行階段的截圖。

  5. 選擇 建立

建立新管線

在此步驟中,您會在資料處理站中建立含有複製活動的管線。 複製活動會將資料從 Blob 儲存體複製到 SQL Database。 在快速入門教學課程中,您已依照下列步驟建立管線:

  1. 建立連結服務。
  2. 建立輸入和輸出資料集。
  3. 建立管線。

在本教學課程中,您首先會建立管線。 然後,當您需要配置管線時,您會建立連結服務和資料集。

  1. 在首頁上,選取 [協調]

    此螢幕擷取畫面顯示資料工廠首頁,其中 [協調] 按鈕已被醒目提示。

  2. 在管線的屬性窗格中,輸入 CopyPipeline 作為管線名稱。

  3. 活動 工具箱中展開移動和轉換類別,並將複製資料活動從工具箱中拖曳至管線設計工具介面。 輸入 CopyFromBlobToSql 作為名稱。

    顯示複製活動的螢幕擷取畫面。

設定來源

秘訣

在本教學課程中,您會使用帳戶金鑰作為來源資料存放區的驗證類型。 如有需要,您也可以選擇其他支援的驗證方法,例如 SAS URI服務主體受控識別。 更多資訊,請參閱 使用 Azure Data Factory 複製和轉換 Azure Blob 儲存體中的資料的相應章節。

為了安全儲存資料儲存的秘密,我們也建議使用 Azure Key Vault。 更多資訊與插圖,請參閱在 Azure Key Vault 中儲存憑證

建立來源資料集和已連結的服務

  1. 移至 [來源] 索引標籤。選取 [+ 新增] 以建立來源資料集。

  2. New Dataset對話框中,選擇 Azure Blob 儲存體,然後選擇 Continue。 來源資料在 Blob 儲存中,所以你選擇 Azure Blob 儲存體作為來源資料集。

  3. 在 [選取格式] 對話方塊中,選取您資料的格式類型,然後選取 [繼續]

  4. 在 [設定屬性] 對話方塊中,輸入 SourceBlobDataset 作為名稱。 選取第一個資料列作為標頭的核取方塊。 在 [已連結的服務] 文字方塊下,選取 [+ 新增]

  5. New linked service (Azure Blob 儲存體)對話框中,輸入 AzureStorageLinkedService 作為 Name,並從 Storage 帳號名稱列表中選擇您的儲存帳號。

  6. 請務必啟用互動式製作。 可能需要約一分鐘的時間才能啟用。

    顯示互動式製作的螢幕擷取畫面。

  7. 選取測試連線。 當儲存體帳戶只允許來自選取的網路的存取,且需要 Data Factory 為其建立私人端點,並在使用前先核准該端點時,這應該會失敗。 在錯誤訊息中,您應該會看到一個連結,該連結可用來建立私人端點,然後您可以進一步建立受控私人端點。 另一個替代方式是直接前往管理索引標籤,並遵循下一節中的指示建立受控私人端點。

    注意

    管理索引標籤可能不適用於所有資料處理站執行個體。 如果您沒有看到該索引標籤,可以選取 [作者]>[連線]>[私人端點] 來存取私人端點。

  8. 請讓對話方塊保持開啟,然後移至儲存帳戶。

  9. 遵循本節的指示來核准私人連結。

  10. 返回對話方塊。 選取 [測試連線],然後選取 [建立] 以部署已連結的服務。

  11. 建立已連結的服務之後,您會回到設定屬性頁面。 在 [檔案路徑] 旁,選取 [瀏覽]

  12. 移至 adftutorial/input 資料夾,選取 emp.txt 檔案,然後選取 [確定]

  13. 選擇 [確定]。 系統會自動前往管線頁面。 在來源 索引標籤中,確認已選取 [SourceBlobDataset]。 若要預覽此頁面上的資料,請選取 [預覽資料]

    顯示來源資料集的螢幕擷取畫面。

建立受控私人端點

如果您未在測試連線時選取超連結,請遵循路徑。 現在您需要建立受控私人端點,以連線至所建立的已連結服務。

  1. 移至管理索引標籤。

    注意

    並非所有的 Data Factory 執行個體都可使用管理索引標籤。 如果您沒有看到該索引標籤,可以選取 [作者]>[連線]>[私人端點] 來存取私人端點。

  2. 移至受控私人端點區段。

  3. 受管理的私人端點之下選取+新增

    顯示 [受控私人端點新增] 按鈕的螢幕擷取畫面。

  4. 從列表中選擇 Azure Blob 儲存體 圖塊,並選擇 Continue

  5. 輸入建立之儲存體帳戶的名稱。

  6. 選擇 建立

  7. 在等候幾秒鐘之後,您應該會看到建立的私人連結需要核准。

  8. 選取之前建立的私人端點。 您可以看到一個超連結,該連結將引導您在儲存帳戶層級核准私人端點。

    顯示受控私人端點窗格的螢幕擷取畫面。

  1. 在儲存體帳戶中,移至設定區段下的私人端點連線

  2. 選取您建立的私人端點核取方塊,然後選取 [核准]

    顯示私人端點之核准按鈕的螢幕擷取畫面。

  3. 新增描述,然後選取 [是]

  4. 回到 Data Factory 中管理索引標籤的受控私人端點區段。

  5. 大約一或兩分鐘後,您應該會看到 Data Factory UI 中出現私人端點的核准狀態。

設定接收器

秘訣

在本教學課程中,您會使用 SQL 驗證作為接收資料存放區的驗證類型。 如有需要,您也可以選擇其他支援的驗證方法,例如 服務主體受控識別。 欲了解更多資訊,請參閱使用 Azure Data Factory 複製並轉換資料於 Azure SQL Database 中的相應章節。

為了安全儲存資料儲存的秘密,我們也建議使用 Azure Key Vault。 更多資訊與插圖,請參閱在 Azure Key Vault 中儲存憑證

建立接收資料集和連結服務

  1. 移至 接收端 索引標籤,然後選取 + 新增 以建立接收端資料集。

  2. 新增資料集對話方塊的搜尋方塊中,輸入 SQL 以篩選連接器。 選擇Azure SQL Database,然後選擇繼續。 在本教學課程中,您會將資料複製到 SQL 資料庫。

  3. 在 [設定屬性] 對話方塊中,輸入 OutputSqlDataset 作為名稱。 從 [已連結的服務] 下拉式清單中,選取 [+ 新增]。 資料集必須與連結的服務相關聯。 連結服務包含 Data Factory 在執行階段用來連線至 SQL 資料庫的連接字串。 資料集會指定要將資料複製到的容器、資料夾和檔案 (選擇性)。

  4. New linked service (Azure SQL Database)對話框中,請採取以下步驟:

    1. 在 [名稱] 下,輸入 AzureSqlDatabaseLinkedService
    2. Server 名稱 下,選擇你的 SQL Server 實例。
    3. 請務必啟用互動式製作
    4. 在 [資料庫名稱] 下,選取您的 SQL 資料庫。
    5. 在 [使用者名稱] 下,輸入使用者名稱。
    6. 在 [密碼] 下,輸入使用者的密碼。
    7. 選取測試連線。 由於 SQL 伺服器只允許從選取的網路存取,且需要建立的私人端點在使用之前必須經過 Data Factory 核准,因此應該會失敗。 在錯誤訊息中,您應該會看到一個用於創建私人端點的連結,您可以藉此建立受控的私人端點。 另一個替代方式是直接前往管理索引標籤,並遵循下一節中的指示建立受控私人端點。
    8. 讓對話方塊保持開啟,然後移至您選取的 SQL 伺服器。
    9. 遵循本節的指示來核准私人連結。
    10. 返回對話方塊。 選取 [測試連線],然後選取 [建立] 以部署已連結的服務。
  5. 如此會自動前往設定屬性對話方塊。 在 [資料表] 中,選取 [dbo].[emp]。 然後選取確定

  6. 移至含有管線的索引標籤,然後在接收器資料集中確認已選取 OutputSqlDataset

    顯示管線索引標籤的螢幕擷取畫面。

您可以藉由遵循複製活動中的結構描述對應,選擇性地將來源的結構描述對應至目的地的相對應結構描述。

建立受控私人端點

如果您未在測試連線時選取超連結,請遵循路徑。 現在您需要建立受控私人端點,以連線至所建立的已連結服務。

  1. 移至管理索引標籤。

  2. 移至受控私人端點區段。

  3. 受管理的私人端點下選取+ 新增

    顯示 [受控私人端點新增] 按鈕的螢幕擷取畫面。

  4. 從列表中選擇 Azure SQL Database 圖塊,並選擇 繼續

  5. 輸入您選取的 SQL 伺服器名稱。

  6. 選擇 建立

  7. 在等候幾秒鐘之後,您應該會看到建立的私人連結需要核准。

  8. 選取之前建立的私人端點。 您會看到超連結,引導您在 SQL 伺服器層級核准私人端點。

  1. 在 SQL 伺服器中,移至設定區段下的私人端點連線
  2. 選取您建立的私人端點核取方塊,然後選取 [核准]
  3. 新增描述,然後選取 [是]
  4. 回到 Data Factory 中管理索引標籤的受控私人端點區段。
  5. 系統應該需要一或兩分鐘的時間,才會核准您的私人端點。

偵錯和發佈管線

您可以先偵錯管線,再將成品 (連結服務、資料集和管線) 發佈到 Data Factory 或您自己的 Azure Repos Git 存放庫。

  1. 若要偵錯管線,請選取工具列上的 [偵錯]。 您會在視窗底部的 [輸出] 索引標籤中看到管線執行狀態。
  2. 當管線可成功執行後,請在頂端工具列中選取全部發佈。 此動作會將您已建立的實體 (資料集和管線) 發佈至 Data Factory。
  3. 請靜待 [發佈成功] 訊息顯示。 若要查看通知訊息,請選取右上角的 [顯示通知] (鐘形按鈕)。

摘要

本範例中的管線是透過在 Data Factory Managed 虛擬網路 中的私有端點,將資料從 Blob 儲存複製到 SQL 資料庫。 您已了解如何︰

  • 建立資料處理站。
  • 建立含有複製活動的管線。