使用 Azure Synapse Link for Dataverse 查询和分析增量更新

Microsoft Dataverse 数据(包括来自 Dynamics 365 应用、财务和运营的数据)可以通过创建、更新和删除事务不断变化。 使用增量更新选项,可以构建将这些更改应用于下游系统和数据库的增量数据管道。 Azure Synapse Link for Dataverse 在有时间戳的文件夹中导出增量数据,其中包含用户指定时间间隔内的数据更改。

您可以在多种情况下利用增量更新功能:

  • 更新下游数据存储或数据仓库。 您可能需要将 Power Apps 和 Dynamics 365 数据中的更改应用到下游数据存储中。 增量更新是大多数数据转换工具(如 Azure 数据工厂)中的标准功能。 但是,要使增量更新功能正常工作,您必须标识源表中已更改的记录。 增量更新功能作为一组文件提供更改的数据,因此,无需通过比较表格的之前和之后的图像来检测更改。

  • 分析大型数据集中的更改。 如果您需要分析大型数据集中的更改,增量更新功能可以提供小批量的连续数据流,这样您就不需要存储所有数据。 使用此选项,您可以丢弃陈旧和停滞的数据,以节省数据存储成本,并跟踪用户指定时间段内的相关数据更改。

Azure Synapse Link for Dataverse 还提供了在 Azure Data Lake(第 2 代)存储中导出和维护表副本的选项。 除了导出表副本外,还可以配置 Azure Synapse Link 以导出增量数据。 每个配置(称为“Synapse Link 配置文件”)都可以导出表或增量数据。 虽然您可以创建多个配置文件,但不能在同一配置文件中同时配置表和增量更新。

重要提示

当您使用数据副本启用此功能时,会创建一个带有初始时间戳的文件夹。 只有在用户指定的时间间隔内有数据更新时,才会创建后续时间戳和表文件夹。

使用增量更新功能创建 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

  1. 登录 Power Apps,然后选择您的环境。

  2. 在左侧导航窗格中,选择 Azure Synapse Link。 如果项目不在侧面板窗格中,请选择 …更多,然后选择所需项目。

  3. 在命令栏上选择 + 新建链接

  4. 选择订阅资源组存储帐户。 选择下一步

  5. 不要选择选项连接到您的 Azure Synapse workspace。 如果选择此选项,增量更新功能将被禁用。

  6. 添加要导出的表。 如果您的 Dataverse 环境链接到了财务和操作应用程序,则还可以从财务和操作应用程序中选择表。

  7. 选择高级

  8. 打开显示高级配置设置启用增量更新文件夹结构

  9. 输入捕获增量更新的频率间隔(以分钟为单位),然后选择保存。 

    添加表设置

备注

最小时间间隔为 5 分钟。 这意味着增量更新文件夹每五分钟创建一次,并且包含在该时间间隔内发生的更改。 此设置也可在链接创建后通过管理表格进行配置。 最大时间间隔是 1140 分钟(或 24 小时)。

确保未在设置的第一页中选中连接到您的 Azure Synapse workspace Azure Synapse workspace

带有时间戳的文件夹中的增量数据存储为逗号分隔值文本文件(CSV 文件)。 您不能将增量转换功能用于增量数据并获取增量 parquet 格式的增量文件。

查看 Microsoft Azure 存储中的增量文件夹

当您使用增量数据创建 Synapse Link 配置文件时,系统会创建所有表的初始副本,并将其存储在第一个增量更新文件夹中。 创建初始副本后,系统将使用更改的数据创建后续更新文件夹。 如果所选的任何表均未发生更改,则不会看到增量数据文件夹。

若要查看存储帐户中的增量数据文件夹,请执行以下作:

  1. 选择所需的 Azure Synapse Link,然后在命令栏上选择 转到 Azure 数据湖

  2. 选择数据存储下的容器

  3. 选择 dataverse-environmentName-organizationUniqueName。 增量更新文件夹以 UTC 时区的创建时间戳 ("yyyy-MM-dd'T'HH:mm:ss.SSSz") 命名。 请注意,时间戳文件夹之间的时间差是您在高级设置中指定的时间间隔。

  4. 在每个带时间戳的文件夹中,每个表都有文件夹。 并非所有选择的表都在该时间间隔内发生了更改,您只能看到与数据发生更改的表相对应的文件夹。

    Synapse Link 创建的 Azure Data lake storage 中显示的增量文件夹

备注

由于重试机制特性的缘故,可能会在用户指定的时间间隔内创建一个额外的空时间戳文件夹。

消费增量数据

您可以使用数据集成工具(例如 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 存储中维护这些文件的租约,以从任何故障中恢复。 系统可能会在一段时间后释放租约。 您只应删除超过 24 小时的增量文件夹,以避免与系统操作发生冲突。
  • 您不应修改或删除“当前文件夹”,即 Changelog/changelog.info 文件中包含的文件夹。 如果更改此文件,系统将暂停处理数据。

Synapse Link 创建的 Azure Data lake storage 中的增量文件夹

另请参见

什么是 Azure Synapse Link for Dataverse?