本页面介绍如何使用 Cloud Data Fusion 将数据从 Salesforce sObject 加载到 Google Cloud。Salesforce 批量来源插件会从 Salesforce 读取 sObject。sObject 是您计划从中拉取的 Salesforce 表。 sObject 的一些示例包括商机、联系人、账号、潜在客户和自定义对象。
Salesforce 批量来源插件支持使用 Salesforce 对象查询语言 (SOQL) 查询以及增量或范围日期过滤条件读取数据。
准备工作
- Cloud Data Fusion Salesforce 批处理来源使用 Salesforce Bulk API V1。
- 在部署和使用 Cloud Data Fusion Salesforce 插件之前设置 Salesforce。如需了解详情,请参阅为 Cloud Data Fusion 创建与 Salesforce 关联的应用。
配置插件
- 转到 Cloud Data Fusion 网页界面,然后点击 Studio。
- 检查是否已选择 Data Pipeline - Batch(而非实时)。
- 在来源菜单中,点击 Salesforce。Salesforce 节点会显示在流水线中。如果您在 Studio 页面上没有看到 Salesforce 来源,请从 Cloud Data Fusion Hub 部署 Salesforce 插件。
- 若要配置来源,请前往 Salesforce 节点,然后点击属性。
输入以下属性。如需查看完整列表,请参阅属性。
- 输入 Salesforce 节点的标签,例如
Salesforce tables
。 - 为沿袭输入 Salesforce 来源的引用名称,例如
Salesforce tables
。 输入连接详情。您可以设置新的一次性连接,也可以设置可重复使用的现有连接。
新增关联项
要添加与 Salesforce 的一次性连接,请按以下步骤操作:
- 使使用连接保持关闭状态。
在连接部分的以下字段中输入来自 Salesforce 帐号的以下信息:
- 用户名
- 密码
- 安全令牌
- 使用方密钥
- 使用方密钥
如需从 Salesforce 获取凭据,请参阅从 Salesforce 获取属性。
可重复使用的连接
要重复使用现有连接,请按以下步骤操作:
- 开启使用网络连接。
- 点击浏览连接。
点击连接名称。
可选:如果连接不存在,并且您想要创建新的可重复使用的连接,请点击添加连接,然后参阅新建连接标签页中的步骤。
输入 SObject 名称以加载对象中的所有列。
可选:如果选择 sObject 名称,则可以使用以下字段过滤数据:
- 最后修改日期晚于:仅包含最后修改日期在给定时间之后的记录。
- 上次修改时间早于:仅包含上次修改时间早于给定时间的记录。
- Duration:仅包含上次修改在指定大小的时间范围内的记录。
- 偏移:仅包含上次修改日期小于流水线逻辑开始时间减去指定偏移量的记录。
可选:对于受支持的 sObject,如需提高流水线的性能,请开启启用 PK 分块。如需了解详情,请参阅利用 PK 分块提升性能。
可选:您可以输入 SOQL 查询(例如
SELECT LastName from Contact
),而不指定 sObject 名称。如需了解详情,请参阅针对 Salesforce 来源的 SOQL 查询。如需测试连接,请点击获取架构。Cloud Data Fusion 连接到 Salesforce 并拉取所列表(从技术上说是 sObject)的架构。
- 输入 Salesforce 节点的标签,例如
属性
属性 | 已启用宏 | 必需属性 | 说明 |
---|---|---|---|
参考名称 | 否 | 是 | 用于唯一标识任务(例如沿袭、注释元数据)的此来源。 |
使用连接 | 否 | 否 | 使用现有连接。如果使用连接,您无需提供凭据。 |
浏览连接 | 是 | 否 | 要使用的连接的名称。 |
用户名 | 是 | 是 | Salesforce 用户名。 |
密码 | 是 | 是 | Salesforce 密码。 |
安全令牌 | 是 | 否 | Salesforce 安全令牌。如果密码不包含安全令牌,Cloud Data Fusion 会在向 Salesforce 进行身份验证之前附加该令牌。 |
使用方密钥 | 是 | 是 | 应用使用方密钥。也称为 OAuth 客户端 ID。如需获取使用方密钥,请创建与 Salesforce 关联的应用。 |
使用方密钥 | 是 | 是 | 应用使用方密钥。也称为 OAuth 客户端密钥。如需获取客户端密钥,请创建与 Salesforce 关联的应用。 |
登录网址 | 是 | 是 | Salesforce OAuth2 登录网址。 ,默认值为 https://login.salesforce.com/services/oauth2/token 。 |
连接超时 | 是 | 否 | 在超时之前等待连接初始化的最大时间(以毫秒为单位)。 默认值为 30,000 毫秒。 |
代理网址 | 是 | 否 | 代理网址,其中包含协议、地址和端口。 |
SOQL | 是 | 否 | 用于将数据提取到来源中的 SOQL 查询。 示例:
|
SObject 名称 | 是 | 否 | 要读取的 Salesforce 对象名称。如果提供值,则连接器会从 Salesforce 获取该对象的所有字段,并生成 SOQL 查询,例如 select FIELD_1, FIELD_2 from
${sObjectName} 。如果提供了 SOQL 查询,则忽略。Salesforce Bulk API 也不支持 sObject。使用不受支持的对象创建作业会导致以下错误: Entity is not supported by the Bulk
API 。Einstein Analytics 也不支持这些对象,后者使用 Bulk API 查询数据。不使用 BULK API 的情况:当查询长度向 Salesforce 发送查询以接收批量信息数组时,不会有 Bulk API 。如果查询在限制范围内,则它会执行原始查询。否则,会切换到宽对象逻辑。 例如,它会生成一个 ID 查询,该查询仅检索以下 ID 的批处理信息,以便稍后通过 SOAP API 检索数据。 |
上次修改日期晚于 | 是 | 否 | 过滤数据,以仅包含系统字段 LastModifiedDate 大于或等于指定日期的记录。使用 Salesforce 日期格式(请参阅示例)。如果未提供任何值,则不应用下限日期。 |
上次修改时间早于 | 是 | 否 | 过滤数据,以仅包含系统字段 LastModifiedDate 小于指定日期的记录。使用 Salesforce 日期格式(请参阅示例)。使用上次修改时间属性指定此值,可让您读取在特定时间范围内修改的数据。如果未提供任何值,则不会应用上限日期。 |
时长 | 是 | 否 | 过滤数据以仅读取上次修改在指定大小的时间范围内的记录。例如,如果时长为 6 hours 且流水线在上午 9 点运行,它将读取上次更新于凌晨 3 点(含)到上午 9 点(不含)的数据。
使用数字和以下时间单位指定时长:
2 days, 1 hours, 30 minutes 。如果已经为上次修改时间晚于或上次修改时间早于指定值,则系统会忽略时长。 |
偏移值 | 是 | 否 | 过滤数据,以便仅读取系统字段 LastModifiedDate 小于流水线的逻辑开始时间减去指定偏移量的记录。例如,如果时长为 6 hours ,偏移量为 1 hours ,并且流水线在上午 9 点运行,那么系统会读取上次修改时间为上午 2 点(含)到上午 8 点(不含)的数据。请使用数字和以下时间单位指定时长:
2 days, 1 hours, 30 minutes 。如果已经为最后修改时间或上次修改时间早于指定值,则会忽略偏移。 |
SOQL 运算类型 | 否 | 否 | 指定要对表运行的查询操作。如果选择查询,则仅返回当前记录。选择 queryAll 会返回所有当前和已删除的记录。默认操作为 query 。 |
启用 PK 分块 | 是 | 否 | 主键 (PK) 分块会根据所查询记录的记录 ID 或主键,将大型表中的查询拆分为多个片段(即块)。 Salesforce 建议您在查询包含 1, 000 万条以上记录的表时或者批量查询不断超时时启用 PK 分块。 如需了解详情,请参阅 PK 分块。PK 分块仅适用于不包含 SELECT 子句或 WHERE 以外的条件的查询。自定义对象以及支持标准对象的任何共享表和历史记录表均支持分块。 |
分块大小 | 是 | 否 | 指定分块的大小。大小上限为 250,000。默认大小为 100000。 |
SObject 父级名称 | 是 | 否 | Salesforce 对象的父级。这用于为历史记录表或共享对象启用分块。 |
Salesforce 日期格式示例
格式语法 | 示例 |
---|---|
YYYY-MM-DDThh:mm:ss+hh:mm |
1999-01-01T23:01:01+01:00 |
YYYY-MM-DDThh:mm:ss-hh:mm |
1999-01-01T23:01:01-08:00 |
YYYY-MM-DDThh:mm:ssZ |
1999-01-01T23:01:01Z |
数据类型映射
下表列出了 Salesforce 数据类型以及相应的 CDAP 类型。
Salesforce 数据类型 | CDAP 架构数据类型 |
---|---|
_bool |
boolean |
_int |
int |
_long |
long |
_double 、currency 、percent 、geolocation (纬度)、geolocation (经度) |
double |
date |
date |
datetime |
timestamp (微秒) |
time |
time (微秒) |
picklist |
string |
multipicklist |
string |
combobox |
string |
reference |
string |
base64 |
string |
textarea |
string |
phone |
string |
id |
string |
url |
string |
email |
string |
encryptedstring |
string |
datacategorygroupreference |
string |
location |
string |
address |
string |
anyType |
string |
json |
string |
complexvalue |
string |
使用场景
请参阅下列 Salesforce 批处理来源用例:
最佳实践
如需详细了解如何提高 Salesforce 批处理来源中的性能,请参阅最佳实践。
版本说明
后续步骤
- 完成 Salesforce 插件教程。