本页介绍了如何使用 Cloud Data Fusion 将数据从 Salesforce sObject 加载到 Google Cloud。Salesforce Batch Source 插件会从 Salesforce 读取 sObject。sObject 是您计划从中提取数据的 Salesforce 表。sObject 示例包括商机、联系人、账号、潜在客户和自定义对象。
Salesforce Batch Source 插件支持使用 Salesforce 对象查询语言 (SOQL) 查询和增量日期过滤器或范围日期过滤器读取数据。
准备工作
- Cloud Data Fusion Salesforce 批量来源使用 Salesforce Bulk API V1。
- 请先设置 Salesforce,然后再部署和使用 Cloud Data Fusion Salesforce 插件。如需了解详情,请参阅为 Cloud Data Fusion 创建 Salesforce 关联应用。
配置插件
- 前往 Cloud Data Fusion 网页界面,然后点击 Studio。
- 检查是否已选择 Data Pipeline - Batch(而不是 Realtime)。
- 在来源菜单中,点击 Salesforce。Salesforce 节点会显示在您的流水线中。如果您在 Studio 页面上没有看到 Salesforce 来源,请从 Cloud Data Fusion Hub 部署 Salesforce 插件。
- 如需配置该来源,请前往 Salesforce 节点,然后点击属性。
输入以下属性。如需查看完整列表,请参阅属性。
- 为 Salesforce 节点输入标签,例如
Salesforce tables
。 - 为 Salesforce 来源输入参考名称(例如
Salesforce tables
),以便建立谱系。 输入连接详情。您可以设置新的一次性连接,也可以设置现有的可重复使用连接。
新增关联项
如需向 Salesforce 添加一次性连接,请按以下步骤操作:
- 让使用连接保持关闭状态。
在连接部分,在以下字段中输入 Salesforce 账号中的以下信息:
- 用户名
- 密码
- 安全令牌
- 使用方密钥
- 使用方密钥
如需从 Salesforce 获取凭据,请参阅从 Salesforce 获取媒体资源。
可重复使用的连接
如需重复使用现有连接,请按以下步骤操作:
- 开启使用连接。
- 点击浏览连接。
点击连接名称。
可选:如果不存在关联,并且您想创建新的可重复使用关联,请点击添加关联,然后参阅新关联标签页中的步骤。
输入 SObject 名称以加载对象中的所有列。
可选:如果您选择 sObject 名称,则可以使用以下字段过滤数据:
- 上次修改时间晚于:仅包含上次修改时间晚于指定时间的记录。
- 上次修改日期早于:仅包含上次修改日期早于指定时间的记录。
- 时长:仅包含上次修改时间在指定大小的时间范围内的记录。
- 偏移量:仅包含“上次修改日期”小于流水线逻辑开始时间(减去给定偏移量)的记录。
可选:对于受支持的 sObject,如需提升流水线的性能,请开启启用主键分块。如需了解详情,请参阅利用 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 查询,该查询仅会检索日后用于通过 SOAP API 检索数据的 ID 的批量信息。 |
上次修改日期晚于 | 是 | 否 | 过滤数据,仅包含系统字段 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) 分块会根据所查询记录的记录 ID(即主键)将对大型表的查询拆分为多个部分(即分块)。 Salesforce 建议您在查询包含超过 1, 000 万条记录的表时,或批量查询不断超时时,启用主键分块。 如需了解详情,请参阅 主键分块。主键分块仅适用于不包含 SELECT 子句或 WHERE 以外条件的查询。
自定义对象以及支持标准对象的任何“分享和历史记录”表都支持分块。 |
分块大小 | 是 | 否 | 指定分块大小。大小上限为 25 万。默认大小为 10 万。 |
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 插件教程。