您可以将 Datastream 连接到 Salesforce 实例,以复制历史数据和更改事件,从而进行分析和数据集成。Salesforce 是一个基于云的客户关系管理平台,其中每个实例通常称为 Salesforce 组织或 Salesforce 组织。
在 Datastream 中设置 Salesforce 来源时,请查看关键术语、复制行为、支持的版本和 API 版本、最佳实践以及已知限制。
关键词
Salesforce 使用对象、记录和字段进行操作:
- 对象是一个类实体,类似于关系型数据库命名法中的表。对象可以是标准对象,也可以是自定义对象。Salesforce 默认包含标准对象,而自定义对象由用户创建,用于存储特定于其用例的数据。
- “记录”是对象的特定实例,类似于关系型数据库中的行。
- 字段是对象的特定属性,类似于关系型数据库中的列。
行为
Datastream 中的 Salesforce 来源支持依赖于 REST 和 Bulk 2.0 API。Salesforce 会根据您设置的间隔时间轮询来源更改,以便控制 API 使用情况。
从 Salesforce 来源复制数据时,会观察到以下行为:
- 具有
SystemModstamp字段或LastModifiedDate字段的可复制和可查询标准对象可以复制。对象需要支持getUpdated()和getDeleted()API 调用,才能进行复制。如需了解详情,请参阅 Salesforce 文档中的用于数据复制的 API 调用。 - 自定义对象可以复制。
- 如果已配置,系统会为包含的对象复制所有历史数据。
- 系统会复制指定对象的所有更改,例如插入、更新和删除。
- Datastream 会根据配置的轮询间隔轮询更改。这会反映在数据流的数据新鲜度指标中。该指标可以增长到配置的轮询间隔值,并反映自最近一次轮询以来经过的时间。
版本
Datastream 支持以下 Salesforce 版本:
- Pro Suite
- 开发者
- 专业
- 企业
- 无限制
Datastream 使用 Salesforce API 61.0 版。
如需详细了解可用的 Salesforce 版本,请参阅 Salesforce 文档。
最佳做法
本部分介绍了配置 Salesforce 来源以与 Datastream 搭配使用的推荐最佳实践。
管理 API 配额用量
Salesforce 对 24 小时滚动窗口内可发出的 API 请求数量施加了限制。从 Salesforce 复制数据时,此配额耗尽是一个常见问题。
您可以在 Datastream 中配置轮询间隔,以减少向 Salesforce 发出的 API 请求数量。虽然较短的轮询间隔可提高数据新鲜度,但也会增加 API 配额用量。我们建议您设置一个轮询间隔,在所选数据新鲜度与 API 配额限制之间取得平衡,以确保可持续的数据复制。如有需要,您可以在 Salesforce 中提高全局 API 请求配额。
已知限制
将 Salesforce 用作来源时的已知限制包括:
- 仅支持可查询和可复制的对象。
- 复合字段会复制为扁平化字段。
- 每分钟最多支持 600,000 次删除操作(Salesforce 限制)。
- 数据流最多只能包含 3,000 个对象。
仅部分支持计算字段(也称为公式)。计算字段的复制受以下限制:
- 不支持跨表引用。
- 不支持非确定性函数(例如
NOW()或TODAY()),因为 Datastream 无法确定这些字段的值何时发生变化。 - 仅支持一组特定的允许函数。如果计算字段使用此列表之外的任何函数,则不会复制该字段。
下表列出了支持的函数:
- 逻辑:
AND、OR、NOT、IF、CASE、ISNULL、ISBLANK、BLANKVALUE、ISPICKVAL - 数学:
ABS、CEILING、MCEILING、FLOOR、MFLOOR、ROUND、MOD、SQRT、EXP、LN、LOG、MAX、MIN - 文本:
BEGINS、BR、CONTAINS、FIND、HYPERLINK、INCLUDES、LEFT、LEN、LOWER、LPAD、MID、RPAD、RIGHT、SUBSTITUTE、TEXT、TRIM、UPPER、VALUE - 日期和时间:
DATE、DATEVALUE、DATETIMEVALUE、DAY、MONTH、YEAR、HOUR、MINUTE、SECOND、MILLISECOND、WEEKDAY、TIMEVALUE、ADDMONTHS - 其他:
REGEX
不支持数据流恢复。
后续步骤
- 了解如何配置 Salesforce 来源以与 Datastream 搭配使用。