使用 Azure Data Factory 或 Synapse Analytics 從 Salesforce Marketing Cloud 複製資料

適用于: Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用于企業的單一分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告等所有專案。 瞭解如何 免費啟動新的試用版

本文概述如何使用 Azure Data Factory 或 Synapse Analytics 管線中的複製活動,從 Salesforce Marketing Cloud 複製資料。 它會以 複製活動概觀 一文為基礎,提供複製活動的一般概觀。

支援的功能

下列功能支援此 Salesforce Marketing Cloud 連接器:

支援的功能 IR
複製活動 (source/-) ① ②
查閱活動 ① ②

(1) Azure 整合執行時間 (2) 自我裝載整合執行時間

如需支援作為來源/接收的資料存放區清單,請參閱 支援的資料存放區 資料表。

Salesforce Marketing Cloud 連接器支援 OAuth 2 驗證,並支援舊版和增強的套件類型。 連接器建置在 Salesforce Marketing Cloud REST API 之上

注意

此連接器不支援擷取檢視、自訂物件或自訂資料延伸模組。

開始使用

您可以使用 .NET SDK、Python SDK、Azure PowerShell、REST API 或 Azure Resource Manager 範本來建立具有複製活動的管線。 如需使用複製活動建立管線的逐步指示,請參閱 複製活動 教學課程。

使用 UI 建立 Salesforce Marketing Cloud 的連結服務

使用下列步驟,在 Azure 入口網站 UI 中建立 Salesforce Marketing Cloud 的連結服務。

  1. 流覽至 Azure Data Factory 或 Synapse 工作區中的 [管理] 索引標籤,然後選取 [連結服務],然後按一下 [新增]:

  2. 搜尋 Salesforce,然後選取 Salesforce Marketing Cloud 連接器。

    Select the Salesforce Marketing Cloud connector.

  3. 設定服務詳細資料、測試連線,並建立新的連結服務。

    Configure a linked service to Salesforce Marketing Cloud.

注意

Salesforce Marketing Cloud 上的 API 整合範圍必須設定為 Hub |行銷活動 |讀取以讓連接器成功。

連線or 組態詳細資料

下列各節提供屬性的相關詳細資料,這些屬性是用來定義 Salesforce Marketing Cloud 連接器專屬的 Data Factory 實體。

連結的服務屬性

Salesforce Marketing Cloud 連結服務支援下列屬性:

屬性 描述 必要
type type 屬性必須設定為: SalesforceMarketingCloud Yes
connectionProperties 定義如何連線到 Salesforce Marketing Cloud 的屬性群組。 Yes
在 下 connectionProperties
authenticationType 指定要使用的驗證方法。 允許的值為 Enhanced sts OAuth 2.0OAuth_2.0

Salesforce Marketing Cloud 舊版套件僅支援 OAuth_2.0 ,而增強的套件需要 Enhanced sts OAuth 2.0
自 2019 年 8 月 1 日起,Salesforce Marketing Cloud 已移除建立舊版套件的能力。 所有新的套件都是增強的套件。
Yes
host 針對增強套件,主機應該是您的 子域 ,其以字母 「mc」 開頭的 28 個字元字串表示,例如 。 mc563885gzs27c5t9-63k636ttgm
針對舊版套件,指定 www.exacttargetapis.com
Yes
clientId 與 Salesforce Marketing Cloud 應用程式相關聯的用戶端識別碼。 Yes
clientSecret 與 Salesforce Marketing Cloud 應用程式相關聯的用戶端密碼。 您可以選擇將此欄位標示為 SecureString,以安全地將它儲存在服務中,或將秘密儲存在 Azure 金鑰保存庫中,並讓服務複製活動在執行資料複製時從該處提取 - 深入瞭解在 金鑰保存庫 中的市集認證。 Yes
useEncryptedEndpoints 指定資料來源端點是否使用 HTTPS 加密。 預設值為 True。 No
useHostVerification 指定在透過 TLS 連線時,是否要求伺服器憑證中的主機名稱符合伺服器的主機名稱。 預設值為 True。 No
usePeerVerification 指定是否要在透過 TLS 連線時驗證服務器的身分識別。 預設值為 True。 No

範例:針對增強套件使用增強的 STS OAuth 2 驗證

{
    "name": "SalesforceMarketingCloudLinkedService",
    "properties": {
        "type": "SalesforceMarketingCloud",
        "typeProperties": {
            "connectionProperties": {
                "host": "<subdomain e.g. mc563885gzs27c5t9-63k636ttgm>",
                "authenticationType": "Enhanced sts OAuth 2.0",
                "clientId": "<clientId>",
                "clientSecret": {
                     "type": "SecureString",
                     "value": "<clientSecret>"
            	},
                "useEncryptedEndpoints": true,
                "useHostVerification": true,
                "usePeerVerification": true
            }
        }
    }
}

範例:針對舊版套件使用 OAuth 2 驗證

{
    "name": "SalesforceMarketingCloudLinkedService",
    "properties": {
        "type": "SalesforceMarketingCloud",
        "typeProperties": {
            "connectionProperties": {
                "host": "www.exacttargetapis.com",
                "authenticationType": "OAuth_2.0",
                "clientId": "<clientId>",
                "clientSecret": {
                     "type": "SecureString",
                     "value": "<clientSecret>"
            	},
                "useEncryptedEndpoints": true,
                "useHostVerification": true,
                "usePeerVerification": true
            }
        }
    }
}

如果您使用 Salesforce Marketing Cloud 連結服務搭配下列承載,則仍依目前支援,而建議您使用新的服務,以新增增強的套件支援。

{
    "name": "SalesforceMarketingCloudLinkedService",
    "properties": {
        "type": "SalesforceMarketingCloud",
        "typeProperties": {
            "clientId": "<clientId>",
            "clientSecret": {
                 "type": "SecureString",
                 "value": "<clientSecret>"
            },
            "useEncryptedEndpoints": true,
            "useHostVerification": true,
            "usePeerVerification": true
        }
    }
}

資料集屬性

如需可用來定義資料集的完整區段和屬性清單,請參閱 資料集 一文。 本節提供 Salesforce Marketing Cloud 資料集所支援的屬性清單。

若要從 Salesforce Marketing Cloud 複製資料,請將資料集的類型屬性設定為 SalesforceMarketingCloudObject 。 支援下列屬性:

屬性 描述 必要
type 資料集的類型屬性必須設定為: SalesforceMarketingCloudObject Yes
tableName 資料表的名稱。 否(如果已指定活動來源中的「查詢」)

範例

{
    "name": "SalesforceMarketingCloudDataset",
    "properties": {
        "type": "SalesforceMarketingCloudObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<SalesforceMarketingCloud linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

複製活動屬性

如需可用來定義活動的區段和屬性的完整清單,請參閱 管線 一文。 本節提供 Salesforce Marketing Cloud 來源所支援的屬性清單。

Salesforce Marketing Cloud 作為來源

若要從 Salesforce Marketing Cloud 複製資料,請將複製活動中的來源類型設定為 SalesforceMarketingCloudSource 。 複製活動 來源 區段中支援下列屬性:

屬性 描述 必要
type 複製活動來源的類型屬性必須設定為: SalesforceMarketingCloudSource Yes
query 使用自訂 SQL 查詢來讀取資料。 例如: "SELECT * FROM MyTable" 否(如果已指定資料集中的 「tableName」 )

範例:

"activities":[
    {
        "name": "CopyFromSalesforceMarketingCloud",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<SalesforceMarketingCloud input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SalesforceMarketingCloudSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

注意

不支援連絡人資料表。

查閱活動屬性

若要瞭解屬性的詳細資料,請檢查 查閱活動

如需複製活動支援做為來源和接收的資料存放區清單,請參閱 支援的資料存放區