Datastream 支持从 Microsoft Dataverse 实例复制更改事件。Dataverse 是一个基于云的数据平台,可让您安全地存储和管理业务应用所使用的数据。
本页包含以下方面的信息:
- 从 Dataverse 复制时需要了解的关键术语。
- Datastream 如何处理从来源 Dataverse 环境中拉取的数据的行为。
- Datastream 支持的 Dataverse 版本。
- 将 Dataverse 用作来源的已知限制。
关键术语
Dataverse 按照以下概念运行:
- 表(以前称为实体)类似于关系型 数据库中的表。Dataverse 默认包含标准表,但您也可以创建自定义表。
- 列(以前称为字段)是表的属性,类似于 关系型数据库中的列。
- 行 是表中的特定记录,类似于关系型数据库中的行。
行为
Datastream 中的 Dataverse 来源支持依赖于 Dataverse Web API,后者使用开放数据协议 (OData)。Datastream 会根据您设置的时间间隔轮询来源更改。
从 Dataverse 来源复制数据时,会观察到以下行为:
- API 交互:Datastream 使用 RESTful 请求与 Dataverse Web
API 进行交互。基本环境网址为
https://ORGANIZATION_ID.crm.dynamics.com/api/data/v9.1/. 系统会使用标准标头(Accept: application/json、OData-MaxVersion: 4.0、OData-Version: 4.0)。 - 身份验证:Datastream 使用 OAuth 2.0 和客户端凭据授权类型处理身份验证。Datastream 从 Microsoft Identity Platform 获取令牌。
架构发现:Dataverse 架构是动态的。Datastream 通过查询
/EntityDefinitions端点来发现对象名称和架构。- 对象名称:Datastream 通过向
/EntityDefinitions实体集路径发送GET请求来提取对象名称,其中包含$filter=TableType ne 'Virtual' and IsPrivate eq false过滤器和$select=EntitySetName参数。 - 对象架构:Datastream 通过向
/EntityDefinitions实体 集路径发送GET请求来提取每个实体的对象架构 ,其中包含$expand=Attributes($select=LogicalName,AttributeType,AttributeTypeName)参数和$filter=EntitySetName eq '[objectName]'过滤器。
- 对象名称:Datastream 通过向
数据复制:
- Datastream 会复制标准 Dataverse 表和自定义 Dataverse 表。它会排除虚拟表和私有表。
- 历史数据回填:如果为数据流配置了此功能,Datastream
会复制所包含表的所有历史数据。这是通过向实体集发送初始
GET请求,并使用 API 响应中提供的@odata.nextLink属性遍历所有页面来实现的。 系统会使用Prefer: odata.maxpagesize=5000标头。 - 增量同步:Datastream 会复制插入和更新
事件。这是通过使用基于时间戳的同步来实现的,
方法是过滤
modifiedon字段大于上次 同步时间 ($filter=modifiedon gt [last_sync_timestamp]) 的记录。 Datastream 不会捕获删除事件。
轮询间隔:Datastream 会根据您在创建数据流时设置的 轮询间隔轮询更改。该间隔会反映在数据流的数据新鲜度指标中。
所有复制的对象都支持使用 modifiedon 字段进行增量同步,以及完整回填。
版本
Datastream 使用 Dataverse Web API 版本 v9.1。
已知限制
将 Dataverse 用作来源的已知限制包括:
- 基于
modifiedon时间戳的增量同步方法不会捕获删除事件。 - Datastream 不支持 Dataverse 推荐的更改跟踪功能,该功能使用增量链接 (
@odata.deltaLink)。这是因为系统不支持存储后续增量拉取所需的增量链接网址。 - 复制仅限于标准表和自定义表。系统不支持虚拟表和私有表。
- 准确更新来源表中的
modifiedon字段对于确保增量同步按预期运行至关重要。 - 如需检索
Picklist字段的标签,数据请求必须包含Prefer: data.include-annotations="*"标头,而不仅仅是整数值。
后续步骤
- 了解如何 配置 Dataverse 来源以与 Datastream 搭配使用。