将 ServiceNow 实例连接到 Datastream 后,您可以复制历史数据和增量更改,以进行分析和数据集成。ServiceNow 是一个基于云的平台,可帮助组织管理和自动执行企业运营。
在 Datastream 中设置 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_journal_field表(包含不可变记录且缺少sys_updated_on字段),连接器会按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_ |
Performance Analytics 评分、供应商遥测、机器学习向量和 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 搭配使用。