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 Factory 或 Azure 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 資料集代表 blob 容器和該Azure 儲存體帳戶內的資料夾,其中包含要處理的輸入 Blob。

以下是範例案例。 若要將資料從 Blob 儲存體複製到SQL 資料庫,您可以建立兩個連結服務:Azure 儲存體和 Azure SQL 資料庫。 然後,建立兩個資料集:Azure Blob 資料集(也就是Azure 儲存體連結服務)和 Azure SQL 資料表資料集(也就是 Azure SQL 資料庫連結服務)。 Azure 儲存體和 Azure SQL 資料庫連結服務分別包含服務在執行時間用來連線到Azure 儲存體和 Azure SQL 資料庫的連接字串。 Azure Blob 資料集會指定 Blob 容器和 Blob 資料夾,其中包含 Blob 儲存體中的輸入 Blob。 Azure SQL 資料表資料集會指定要複製資料SQL 資料庫中的 SQL 資料表。

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

Relationship between pipeline, activity, dataset, linked services

連結服務與 UI

若要在 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 連結服務的類型。 例如:AzureBlob儲存體 (資料存放區) 或 AzureBatch (compute)。 請參閱 typeProperties 的描述。 Yes
typeProperties 每個資料存放區或計算的類型屬性都不同。

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

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

連結服務範例

下列連結服務是 Azure Blob 儲存體連結服務。 請注意,此類型會設定為 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 API、PowerShell REST API 、 Azure Resource Manager 範本 Azure 入口網站

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

資料存放區連結服務

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

計算已連結的服務

參考 支援的 計算環境,以取得您可以從服務連線到之不同計算環境的詳細資料,以及不同的組態。

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