查询和分析增量更新
Microsoft Dataverse 数据(包括来自 Dynamics 365 应用、财务和运营的数据)可以通过创建、更新和删除事务不断变化。 使用增量更新选项,您可以构建增量数据管道,将这些更改应用于下游系统和数据库。 Dataverse 的 Synapse Link 导出时间戳文件夹中的增量数据,这些文件夹包含用户指定时间间隔内的数据更改。
您可以将增量更新功能用于以下几种情况:
更新下游数据存储或数据仓库。 您可能需要将 Power Apps 和 Dynamics 365 数据中的更改应用到下游数据存储中。 增量更新是大多数数据转换工具(如 Azure 数据工厂)中的标准功能。 但是,要使增量更新功能正常工作,您必须标识源表中已更改的记录。 增量更新功能以一组文件的形式提供更改的数据,因此您无需通过比较表的前后图像来检测更改。
分析大型数据集中的变化。 如果您需要分析大型数据集中的更改,增量更新功能可以小批量提供连续的数据流,因此您无需存储所有数据。 使用此选项,您可以丢弃陈旧和停滞的数据,以节省数据存储成本,并跟踪用户指定时间段内的相关数据更改。
Azure Synapse Link for Dataverse 还提供在 Azure Data Lake (Gen 2) 存储中导出和维护表副本的选项。 除了导出表的副本之外,您还可以配置 Azure Synapse Link 来导出增量数据。 每个配置(称为“Synapse 链接配置文件”)都可以导出表或增量数据。 虽然您可以创建多个配置文件,但不能在同一配置文件中同时配置表和增量更新。
重要提示
当您使用数据副本启用此功能时,会创建一个带有初始时间戳的文件夹。 只有在用户指定的时间间隔内有数据更新时,才会创建后续的时间戳和表文件夹。
使用增量更新功能创建 Synapse Link 配置文件后,该配置将应用于 Synapse Link 配置文件中所有选定的表。
该功能无法通过以下选项启用:连接到您的 Azure Synapse workspace。 对于需要访问 Azure Synapse analytics 的客户,请按照以下说明设置链接:使用 Azure Synapse Workspace 创建 Azure Synapse Link for Dataverse
此功能相当于 Dynamics 365 财务和运营应用程序中内置的导出到数据湖中的更改源功能。 使用 更改源 功能的客户可以选择使用更改数据启用 Synapse 链接配置文件,而无需导出表数据。
先决条件
本指南假定您已经满足创建 Azure Synapse Link 的先决条件。 详细信息:使用 Azure Data Lake 创建 Azure Synapse Link for Dataverse
创建 Synapse Link 配置文件以导出增量数据
登录 Power Apps,然后选择您的环境。
在左侧导航窗格中,选择 Azure Synapse Link。 如果项目不在侧面板窗格中,请选择 …更多,然后选择所需项目。
在命令栏上选择 + 新建链接。
选择订阅、资源组和存储帐户。 选择下一步。
不要选择选项连接到您的 Azure Synapse workspace。 如果选择此选项,则禁用增量更新功能。
添加要导出的表。 Dataverse 如果您的环境链接到财务和运营应用,您还可以从财务和运营应用选择表。
选择高级。
打开显示高级配置设置和启用增量更新文件夹结构。
输入捕获增量更新的频率间隔(以分钟为单位),然后选择保存。
备注
最小时间间隔为 5 分钟。 这意味着增量更新文件夹每五分钟创建一次,并且包含在该时间间隔内发生的更改。 此设置也可在链接创建后通过管理表格进行配置。 最大时间间隔是 1140 分钟(或 24 小时)。
确保未在设置的第一页中选中连接到您的 Azure Synapse workspace Azure Synapse workspace。
时间戳文件夹中的增量数据存储为逗号分隔值文本文件(CSV 文件)。 您不能对增量数据使用增量转换功能,也不能以增量 Parquet 格式获取增量文件。
查看 Microsoft Azure 存储中的增量文件夹
使用增量数据创建 Synapse 链接配置文件时,系统会创建所有表的初始副本,并将其存储在第一个增量更新文件夹中。 创建初始副本后,系统会使用更改的数据创建后续更新文件夹。 如果选定的任何表中没有更改,您将看不到增量数据文件夹。
若要查看存储帐户中的增量数据文件夹,请执行以下操作:
选择所需的 Azure Synapse Link,然后在命令栏上选择转到 Azure Data Lake。
选择数据存储下的容器。
选择 dataverse-environmentName-organizationUniqueName。 增量更新文件夹以 UTC 时区的创建时间戳 ("yyyy-MM-dd'T'HH:mm:ss.SSSz") 命名。 请注意,时间戳文件夹之间的时间差是您在高级设置中指定的时间间隔。
在每个带时间戳的文件夹中,每个表都有文件夹。 并非所有选择的表都在该时间间隔内发生了更改,您只能看到与数据发生更改的表相对应的文件夹。
备注
由于重试机制特性的缘故,可能会在用户指定的时间间隔内创建一个额外的空时间戳文件夹。
消费增量数据
可以使用数据集成工具(如 Azure 数据工厂或 Azure Synapse Analytics 管道)将增量数据复制到 Azure SQL 数据库或数据仓库中。 我们提供了一个可用于此目的的示例数据管道。 有关详细信息:将 Dataverse 数据复制到 Azure SQL。
如果您是 Dynamics 365 财务和运营应用程序的客户,正在从变更馈送功能过渡,您可以使用 GitHub 中提供的数据集成示例工具来更新与变更馈送功能一起使用的现有数据管道。
您还可以构建自己的数据管道来使用增量数据。 但是,在设计自己的管道时,您需要考虑以下最佳实践:
- 仅使用以前带有时间戳的文件夹中的数据:这样,您可以避免与 Synapse Link 服务发生读写冲突,因为 Synapse Link 服务可能会持续更新当前文件夹中的数据。 您可以通过查看 Changelog/changelog.info 文件来查找当前文件夹。 该文件是一个只读文件,其中包含一行当前更新的文件夹名称。 您不应该更新这个文件,因为它会导致系统不稳定。
- 您可以查看位于每个时间戳文件夹中的 model.json文 件,以读取元数据,例如表文件夹中包含的数据的列名。 请注意,位于时间戳文件夹中的文件夹中的每个 model.json 文件都包含所有表的元数据,而不仅仅是时间戳文件夹中包含的表。
- 避免使用其他日志文件,例如 Synapse.log 文件。 此文件供内部使用,可能不会反映准确的数据。
- 完成处理后,考虑从 Azure 数据湖中删除过时的增量文件夹。 目前,Synapse Link 在 Azure 存储中维护这些文件的租约,以从任何故障中恢复。 系统可能会在一段时间后释放租约。