Azure Data Factory 和 Azure Synapse Analytics 中的連結服務

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

本文說明什麼是連結服務、如何以 JSON 格式定義連結服務,以及如何在 Azure Data Factory 和 Azure Synapse Analytics 中使用連結服務。

若要深入了解,請閱讀 Azure Data FactoryAzure Synapse 的介紹文章。

概觀

Azure Data Factory 和 Azure Synapse Analytics 可以有一個以上的管線。 「管線」是一起執行某個工作的「活動」所組成的邏輯群組。 管線中活動會定義要對資料執行的動作。 例如,您可能會使用複製活動,將資料從 SQL Server 複製到 Azure Blob 儲存體。 接著,您可以使用在 Azure HDInsight 叢集上執行 Hive 指令碼的 Hive 活動,來處理來自 Blob 儲存體的資料以產生輸出資料。 最後,您可能會使用第二個複製活動,將輸出資料複製到 Azure Synapse Analytics,以在該處建置商業智慧 (BI) 報表解決方案。 如需有關管線和活動的詳細資訊,請參閱管線和活動

現在,「資料集」是一個具名的資料檢視,指向或參考您想要在「活動」中用來作為輸入或輸出的資料。

在您建立資料集之前,您必須建立一個「連結服務」,將資料存放區連結至 Data Factory 或 Synapse 工作區。 連結服務非常類似連接字串,定義該服務連接至外部資源所需的連接資訊。 這麼說吧:資料集代表已連結之資料存放區內的資料結構,而連結服務則定義與資料來源的連線。 例如,Azure 儲存體連結服務會將儲存體帳戶連結至服務。 Azure Blob 資料集代表該 Azure 儲存體帳戶內包含要處理之輸入 Blob 的 Blob 容器和資料夾。

以下是一個範例案例。 若要將資料從 Blob 儲存體複製到 SQL 資料庫,您需建立兩個連結服務:「Azure 儲存體」和 Azure SQL Database。 接著,建立兩個資料集:Azure Blob 資料集 (此資料集參考「Azure 儲存體」已連結服務) 和「Azure SQL 資料表」資料集 (此資料集參考 Azure SQL Database 已連結服務)。 Azure 儲存體和 Azure SQL Database 連結服務包含服務在執行階段分別用來連接至 Azure 儲存體和 Azure SQL Database 的連接字串。 Azure Blob 資料集會指定包含 Blob 儲存體中輸入 Blob 的 Blob 容器和 Blob 資料夾。 「Azure SQL 資料表」資料集會指定做為資料複製目的地的 SQL Database 中 SQL 資料表。

下圖顯示服務中的管線、活動、資料集及連結服務之間的關聯性:

Relationship between pipeline, activity, dataset, linked services

連結服務及使用者介面

若要在 Azure Data Factory Studio 中建立新的連結服務,請選取 [管理] 索引標籤,再選取 [連結服務],您會在此看見您已定義的任何現有連結服務。 選取 [新增],建立新的連結服務。

Shows the Azure Data Factory studio Manage tab with linked services and the New button highlighted.

選取 [新增] 以建立新連結服務之後,您將能夠選擇任何支援的連接器並據以設定其詳細資料。 此後,您可以在您所建立的任何管線中使用該連結服務。

Shows the new linked service window.

連結服務 JSON

連結服務以 JSON 格式定義,如下所示:

{
    "name": "<Name of the linked service>",
    "properties": {
        "type": "<Type of the linked service>",
        "typeProperties": {
              "<data store or compute-specific type properties>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

下表會描述上述 JSON 的屬性:

屬性 描述 必要
NAME 連結服務的名稱。 請參閱命名規則 Yes
type 連結服務的類型。 例如:AzureBlobStorage (資料存放區) 或 AzureBatch (計算)。 請參閱 typeProperties 的描述。 Yes
typeProperties 每個資料存放區或計算的類型屬性都不同。

如需支援的資料存放區類型及其類型屬性,請參閱連接器概觀一文。 請瀏覽資料存放區連接器的文章,以了解資料存放區特有的類型屬性。

如需支援的計算類型與其類型屬性,請參閱計算連結服務
Yes
connectVia 用於連線到資料存放區的 Integration Runtime。 您可以使用 Azure Integration Runtime 或自我裝載整合執行階段 (如果您的資料存放區位於私人網路中)。 如果未指定,就會使用預設的 Azure Integration Runtime。 No

已連結的服務範例

以下連結服務是 Azure 儲存體連結服務。 請注意,類型已設為 Azure Blob 儲存體。 Azure Blob 儲存體連結服務的類型屬性包含連接字串。 服務會在執行階段使用連接字串來連接至資料存放區。

{
    "name": "AzureBlobStorageLinkedService",
    "properties": {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;AccountKey=<accountkey>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

建立連結服務

您可以透過管理中樞以及任何參考連結服務的活動、資料集或資料流程,在 Azure Data Factory UX 中建立連結服務。

您可以使用下列其中一個工具或 SDK 建立連結服務:.NET APIPowerShellREST APIAzure Resource Manager 範本Azure 入口網站

建立連結服務時,使用者需要指定服務的適當授權。 如果未授與足夠的存取權,使用者將無法看到可用的資源,而且必須使用手動輸入選項。

資料存放區連結服務

您可以在連接器概觀一文中找到支援的資料存放區清單。 按一下資料存放區,以了解支援的連線屬性。

計算已連結的服務

請參考支援的計算環境,取得您可以從服務連接至的不同計算環境詳細資訊以及不同的設定詳細資訊。

如需使用上述其中一項工具或 SDK 來建立管線和資料集的逐步指示,請參閱下列教學課程。