Datastream 支持从 ServiceNow 实例复制更改事件。 ServiceNow 是一个基于云的企业运营平台,您可以像从 Datastream 支持的其他来源复制数据一样,从该平台复制数据。
本页面包含以下方面的信息:
- 从 ServiceNow 复制数据时需要了解的关键术语。
- Datastream 如何处理从 ServiceNow 实例中拉取的数据。
- Datastream 支持的 ServiceNow 版本。
- 将 ServiceNow 用作来源的已知限制。
关键词
ServiceNow 通过表、记录和字段运行:
- ServiceNow 实例是一个专用且隔离的 ServiceNow 云环境,例如
company.service-now.com。 - 表是 ServiceNow 中的主要数据结构,相当于数据库表。
- 记录是表中的单个条目,相当于数据库中的一行。
- 字段是记录中的单个数据元素,相当于数据库列。
- 该连接器使用 Table API 作为主要的 RESTful 接口,直接从 ServiceNow 表中访问数据。
- 基于偏移量的分页是一种通过向 Table API 传递偏移量来浏览 ServiceNow 表中记录的方法。此方法对分页期间的记录删除操作很敏感,可能会导致连接器跳过数据。
- 基于键集的分页是一种方法,其中连接器通过跟踪唯一记录值(例如标识符或时间戳)及其顺序来管理分页。即使在分页期间有记录被删除,此方法也有效。
行为
Datastream 中的 ServiceNow 源支持依赖于 ServiceNow REST Table API。Datastream 支持两种主要复制方法,以确保数据完整性和性能。
历史数据回填
- 从 ServiceNow 实例复制变更数据时,Datastream 会对表中的所有现有记录执行完整的历史同步。
- 为确保数据一致性并防止在大量提取期间丢失记录,连接器使用基于键集的分页。连接器通过跟踪唯一记录值及其顺序来管理此流程,从而使提取过程能够应对记录删除,并防止连接器跳过或复制记录。
- Datastream 会按
sys_updated_on和sys_id记录属性对数据进行排序,以便为初始加载提供稳定的顺序。对于包含不可变记录且缺少sys_updated_on字段的sys_journal_field表,连接器会按sys_created_on和sys_id属性进行排序。
增量同步
- 从 ServiceNow 实例复制更改数据时,Datastream 会捕获初始回填后发生的更改,例如插入和更新。
- 服务器端增量同步:连接器使用
sys_updated_on和sys_id属性(或sys_journal_field表的sys_created_on和sys_id)上的过滤条件,通过 ServiceNow API 查询自上次成功同步以来修改的记录。 - 同步过程使用由
sys_updated_on(或sys_journal_field表的sys_created_on)和sys_id标记组成的复合光标。sys_updated_on和sys_created_on标记可确保在下一个周期中仅同步时间戳等于或晚于指定时间的记录,而sys_id标记可确保时间戳相同的记录保持一致。
版本
ServiceNow 连接器可与 ServiceNow REST Table API (V2) 搭配使用。Datastream 支持的功能已针对 Zurich 版本进行验证。
复制的对象
ServiceNow 连接器使用动态发现机制来识别实例中的整个表(对象)集。为确保您仅复制高价值的商家数据,该连接器会应用多层过滤流程来排除内部架构、技术日志和系统元数据表。
过滤逻辑
- Web 服务访问权限:您只能复制明确配置为启用 Web 服务访问权限 (
ws_access=true) 的表。如果缺少此配置,连接器将无法从表中检索记录数据。 - 排除的超类:连接器会排除继承自
sys_metadata系统配置表或属于轮换表层次结构的表,以防止复制技术元数据或不一致的快照。 - 内部系统前缀:连接器会过滤掉以特定技术前缀开头的表,这些前缀表示平台管道或旧版功能。
- 黄金名单(系统例外情况):虽然连接器会排除大多数
sys_表,但它会明确将关键业务实体(例如sys_user、sys_choice和sys_journal_field)列入许可名单。
默认过滤的系统前缀
| 类别 | 前缀 | 说明 |
|---|---|---|
| 核心内部 | v_、ts_、imp_、ecc_、wf_、sh$、bin_、var_、gs_ |
虚拟表、搜索索引、导入暂存区、ECC 队列和工作流上下文。 |
| 分析和 AI | pa_、ua_、ml_、ais_、promin_、di_ |
性能分析得分、供应商遥测数据、机器学习向量和 AI 搜索配置文件。 |
| 技术模块 | sa_、sla_、atf_、cxs_、automation_、ids_ |
服务映射模式、SLA 引擎日志和安全审核跟踪。 |
| 旧版和管理 | pf_、clone_、upgrade_、rollback_、expert_、dscy_ |
实例修补历史记录、升级日志和过时的旧版模块。 |
允许的系统表
- 用户和安全性:
sys_user、sys_user_group、sys_user_grmember、sys_user_role、sys_user_has_role。 - 核心参考:
sys_choice(下拉选项)、sys_company、sys_domain、sys_location。 - 审核轨迹:
sys_journal_field(工作笔记和评论历史记录)。
已知限制
将 ServiceNow 用作来源的已知限制包括:
- Datastream 不支持捕获已删除的记录。
- Datastream 默认排除许多内部平台表,例如以
ts_、v_或imp_开头的表。 - 您只能复制明确配置为启用 Web 服务访问权限 (
ws_access=true) 的表。大多数表默认启用此权限。 - 连接器会复制字段值,复制方式与这些值在底层 ServiceNow 数据库实例中的显示方式相同。这些值称为实际值。这意味着,Datastream 复制到目标位置的实际值可能与 ServiceNow 界面中显示的值(称为显示值)不同。如需了解详情,请参阅 ServiceNow 知识库。
后续步骤
- 了解如何配置 ServiceNow 源以用于 Datastream。