将 Microsoft Dataverse 用作画布应用程序的数据源是一个不错的选择,因为它支持复杂的数据和安全模型,并能让您构建更加自定义的用户体验。 画布应用程序可以将 Dataverse 作为数据源与其他 Power Platform 连接器一起使用,以集成多个数据源,例如 SharePoint 列表、Microsoft Access 数据库或其他业务应用程序中的数据。 Power Apps 与 Dataverse 之间不使用连接器。 它直接连接到连接器框架之外的 Dataverse。
小费
本文提供了一个示例场景和一个通用示例架构,以说明如何在画布应用程序中将 Dataverse 用作数据源。 可以针对许多不同的场景和行业修改体系结构示例。
体系结构示意图
Workflow
以下步骤描述了示例体系结构图中显示的工作流:
画布应用程序:画布应用程序可让用户管理会议详情,如会议地点、会议开始和结束时间。 画布应用程序可直接访问 Dataverse 中的数据。 用户使用 Microsoft Entra ID 对 Power Platform 进行身份验证,并使用同一 ID 访问数据。 对 Dataverse 中用户 Entra ID 的任何限制都会无缝执行。
Dataverse 数据源:画布应用程序使用 Dataverse 作为数据源。 它允许您访问关系数据模型,其中表及其关系随时可用。 内置选项集功能意味着您不必构建复杂的查找和联接。 由于 Power Apps 直接连接到 Dataverse,因此性能通常也很好。
Dataverse 表:在本示例中,Dataverse 表存储的是某个会场举办的会议的相关数据。 这些表使用一对多和多对多关系进行关联。 Dataverse 安全角色与应用程序用户的角色一致。 可在 Dataverse 层实施逻辑,以计算和滚动值、执行域值并自动执行数据操作。
组件
Power Platform 环境:包含实现用户体验的 Power Platform 资源。
Power Apps:实现解决方案的用户体验。 制作者可以通过添加 Dataverse 表作为应用程序数据源,使用 Dataverse 构建画布应用程序。
Power Apps 使组织能够为存储在其中的数据创建自定义用户体验 Microsoft Dataverse。
- 模型驱动 Power Apps:非常适合专注于表单而不是数据的应用程序方案。
- 画布: Power Apps最适合需要更灵活地进行视觉布局自定义的场景。 当需要同时为用户提供对来自其他数据源的数据 Dataverse 的访问权限时,也很有用。 在这种情况下, Power Apps 应用程序充当集成器,为用户提供来自多个来源的数据的单一视图。
Dataverse 连接器:可让您访问分层数据模型,其中的表及其关系一目了然,无需构建复杂的查找和连接来检索相关表。 连接器还绕过传统的连接器基础架构,直接调用 Dataverse 后端,从而提高性能。
方案详细信息
Power Apps 可以轻松地为存储在 Microsoft Dataverse 中的数据创建自定义用户体验。 模型驱动应用非常适合关注窗体而不是数据的方案。 画布应用程序最适用于需要更灵活定制布局的场景。
当您需要同时访问来自 Dataverse 和其他来源的数据时,本示例中的架构非常有用。 在这些情况下,应用充当集成商,为用户提供来自多个来源的数据的单一视图。
注意事项
这些注意事项实现了架构良好的 Power Platform 支柱,这是一组可提高工作负荷质量的指导原则。 在架构良好的 Microsoft Power Platform 中了解详细信息。
可靠性
设计工作负载,避免不必要的复杂性:Dataverse 的内置抽象和功能可以帮助您避免传统数据库解决方案可能需要的不必要的复杂性。 例如,Dataverse 支持内置关系、智能数据类型、选项集和安全模型。
安全性
创建有意的分段和边界:为应用程序生命周期的各个阶段使用独立的 Power Platform 环境,并确保只有正确的用户才能访问每个阶段,以支持分段策略。
卓越运营
采用安全的部署实践:使用自动部署流程(如管道)对画布应用程序的任何更改进行标准化部署。 仅在测试更改后将应用程序部署到生产环境。
性能效率
设计满足性能要求:评估解决方案的性能和数据量要求,确保您的 Dataverse 表设计适当。 评估应包括如何访问数据,以及评估应用程序如何将操作委托给 Dataverse。 在搜索和过滤数据时,请注意委托的限制 。这些限制已在了解画布应用中的委派中阐述,在为您的应用程序选择合适的数据源时应将其考虑在内。
设计满足性能要求:评估解决方案的性能和数据量要求,确保您的 Dataverse 表设计适当。 评估应包括如何访问数据,以及评估应用程序如何将操作委托给 Dataverse。 搜索和筛选数据 时请注意委派限制。 了解画布应用 中的委派中 记录了这些限制,在为应用选择正确的数据源或后端时应考虑这些限制。
优化逻辑:默认情况下,使用实现逻辑 Dataverse 的 Power Fx画布应用程序,这可能会导致与多个应用程序中的多次交互 Dataverse 或重复逻辑。 每个操作都是独立的,不会作为原子事务处理。 例如,如果应用程序创建了 Venue 行,但无法创建会话,则 Venue 行将保留。 Dataverse 支持 实现可在表事件上 调用的逻辑 Dataverse ,例如创建行。 Dataverse 还支持使用自定义 API Dataverse 或 功能中的 函数按 Dataverse 需调用逻辑的概念。 使用这两种方法,逻辑执行的工作都在事务中。 在 Dataverse 数据中完成的所有工作都会提交或回滚。 在前面的示例中,发生错误后,Venue 行不会保留。 集成这些方法可确保作为组合工作单元成功完成并集中可重用逻辑,从而优化这些方案中的逻辑。
体验优化
高效设计:画布应用程序可让用户在访问 Dataverse 表格的同时访问其他数据源,而无需与多个单独的应用程序交互,从而提高效率并提供更好的体验。 但是,避免生成应用来生成应用 - 应用应为用户提供一定的效率,或者与使用模型驱动应用体验相比,其他体系结构优势。
参与者
Microsoft 维护这篇文章。 以下贡献者撰写了本文。
主要作者:
- Mehdi Slaoui Andaloussi,首席工程经理