你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure 数据工厂或 Synapse Analytics 从 Salesforce Marketing Cloud 复制数据

适用于: Azure 数据工厂 Azure Synapse Analytics

提示

试用 Microsoft Fabric 中的数据工厂,这是一种适用于企业的一站式分析解决方案。 Microsoft Fabric 涵盖从数据移动到数据科学、实时分析、商业智能和报告的所有内容。 了解如何免费开始新的试用

重要

此连接器处于终止支持阶段。 建议通过安装驱动程序迁移到 ODBC 连接器

本文概述如何使用 Azure 数据工厂或 Synapse Analytics 管道中的复制活动从 Salesforce Marketing Cloud 复制数据。 它是基于概述复制活动总体的复制活动概述一文。

支持的功能

此 Salesforce Marketing Cloud 连接器支持以下功能:

支持的功能 IR
复制活动(源/-) ① ②
Lookup 活动 ① ②

① Azure 集成运行时 ② 自承载集成运行时

如需可以用作源/接收器的数据存储的列表,请参阅支持的数据存储表。

Salesforce Marketing Cloud 连接器支持 OAuth 2 身份验证,并同时支持旧包类型和增强包类型。 该连接器在 Salesforce Marketing Cloud REST API 的基础上构建。

注意

此连接器不支持检索视图、自定义对象或自定义数据扩展插件。

入门

可以使用 .NET SDK、Python SDK、Azure PowerShell、REST API 或 Azure 资源管理器模板创建包含复制活动的管道。 有关创建包含复制活动的管道的分步说明,请参阅复制活动教程

使用 UI 创建到 Salesforce Marketing Cloud 的链接服务

使用以下步骤在 Azure 门户 UI 中创建到 Salesforce Marketing Cloud 的链接服务。

  1. 浏览到 Azure 数据工厂或 Synapse 工作区中的“管理”选项卡并选择“链接服务”,然后单击“新建”:

  2. 搜索“Salesforce”并选择“Salesforce Marketing Cloud 连接器”。

    选择“Salesforce Marketing Cloud 连接器”。

  3. 配置服务详细信息、测试连接并创建新的链接服务。

    配置到 Salesforce Marketing Cloud 的链接服务。

注意

Salesforce Marketing Cloud 上的 API 集成范围必须设置为“中心”|“市场活动”|“进行读取以便连接器成功”。

连接器配置详细信息

对于特定于 Salesforce Marketing Cloud 连接器的数据工厂实体,以下部分提供有关用于定义这些实体的属性的详细信息。

链接服务属性

Salesforce Marketing Cloud 链接的服务支持以下属性:

属性 描述 必需
type type 属性必须设置为:SalesforceMarketingCloud
connectionProperties 一组属性,定义如何连接到 Salesforce Marketing Cloud。
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 去除了创建旧包的功能。 所有新包都是增强包。
host 对于增强包,主机应为子域,由以字母“mc”开头的 28 个字符的字符串表示,例如 mc563885gzs27c5t9-63k636ttgm
对于旧包,指定 www.exacttargetapis.com
clientId 与 Salesforce Marketing Cloud 应用程序关联的客户端 ID。
clientSecret 与 Salesforce Marketing Cloud 应用程序关联的客户端密码。 可选择将此字段标记为 SecureString,将其安全地存储在服务中,或在 Azure 密钥保管库中存储机密,让服务复制活动在执行数据复制时从其中进行拉取(详见在 Key Vault 中存储凭据)。
useEncryptedEndpoints 指定是否使用 HTTPS 加密数据源终结点。 默认值为 true。
useHostVerification 指定通过 TLS 进行连接时是否要求服务器证书中的主机名与服务器的主机名匹配。 默认值为 true。
usePeerVerification 指定通过 TLS 进行连接时是否要验证服务器的标识。 默认值为 true。

示例:对增强包使用增强版 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 复制数据,请将数据集的 type 属性设置为 SalesforceMarketingCloudObject 。 支持以下属性:

属性 描述 必需
type 数据集的 type 属性必须设置为:SalesforceMarketingCloudObject
tableName 表的名称。 否(如果指定了活动源中的“query”)

示例

{
    "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 复制活动 source 的 type 属性必须设置为:SalesforceMarketingCloudSource
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>"
            }
        }
    }
]

注意

不支持 Contacts 表。

查找活动属性

若要了解有关属性的详细信息,请查看 Lookup 活动

有关复制活动支持作为源和接收器的数据存储的列表,请参阅支持的数据存储