分享方式:


使用 Azure Data Factory 或 Synapse Analytics 從 Salesforce 行銷雲端複製資料

適用於:Azure Data Factory Azure Synapse Analytics

提示

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

本文概述如何使用 Azure Data Factory 或 Synapse Analytics 管線中的複製活動,藉以從 Salesforce 行銷雲端複製資料。 本文是根據複製活動概觀一文,該文提供複製活動的一般概觀。

支援的功能

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

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

① Azure 整合執行階段 ② 自我裝載整合執行階段

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

該 Salesforce 行銷雲端連接器支援 OAuth 2 驗證,並支援舊版和增強套件類型。 連接器建置於 Salesforce Marketing Cloud REST API 之上。

注意

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

開始使用

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

使用 UI 建立 Salesforce 行銷雲端的連結服務

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

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

  2. 搜尋 Salesforce,然後選取 Salesforce 行銷雲端連接器。

    選取 Salesforce Marketing Cloud 連接器。

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

    設定連至 Salesforce Marketing Cloud 的連結服務。

注意

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

連接器設定詳細資料

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

連結服務屬性

以下是針對 Salesforce Marketing Cloud 已連結服務支援的屬性:

屬性 描述 必要
type 類型屬性必須設為:SalesforceMarketingCloud Yes
connectionProperties 定義如何連線至 Salesforce 行銷雲端的屬性群組。 Yes
connectionProperties 之下:
authenticationType 指定要使用的驗證方法。 允許值為Enhanced sts OAuth 2.0OAuth_2.0

Salesforce 行銷雲端舊版套件僅支援OAuth_2.0,增強套件則需要Enhanced sts OAuth 2.0
自 2019 年 8 月 1 日起,Salesforce 行銷雲端已移除建立舊版套件的能力。 所有新的套件皆為增強套件。
Yes
host 針對增強套件,主機應為您的子網域,其以字母「mc」(例如 mc563885gzs27c5t9-63k636ttgm) 開頭的 28 個字元字串來表示。
針對舊版套件,則指定www.exacttargetapis.com
Yes
clientId 與 Salesforce Marketing Cloud 應用程式相關聯的用戶端識別碼。 Yes
clientSecret 與 Salesforce Marketing Cloud 應用程式相關聯的用戶端密碼。 您可以選擇將此欄位標記為 SecureString 以將其安全儲存於該服務中,或將密碼儲存於 Azure Key Vault,然後在執行資料複製時,讓服務複製活動並從該處提取;如需深入了解,請參閱 在 Key Vault 中儲存的認證 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 行銷雲端連結服務,其仍然如同現狀為已支援,不過建議您使用新版本來進行,如此能新增增強套件的支援。

{
    "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。 複製活動的 source 區段支援下列屬性:

屬性 描述 必要
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>"
            }
        }
    }
]

注意

不支援連絡人資料表。

查閱活動屬性

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

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