使用 Azure 数据工厂或 Synapse Analytics 从 Salesforce Marketing Cloud 复制数据
适用于:Azure 数据工厂 Azure Synapse Analytics
重要
此连接器将于 2024 年 12 月 31 日弃用。 建议在该日期之前,通过安装一个驱动程序迁移到 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 的链接服务。
浏览到 Azure 数据工厂或 Synapse 工作区中的“管理”选项卡并选择“链接服务”,然后单击“新建”:
搜索“Salesforce”并选择“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.0 或 OAuth_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 活动。
相关内容
有关复制活动支持作为源和接收器的数据存储的列表,请参阅支持的数据存储。