扩展性工具包体系结构

本文介绍 Microsoft Fabric 扩展性工具包的体系结构,以及自定义工作负载如何与 Fabric 平台集成。 它解释了运行时组件,Fabric 前端、您的工作负荷和 Fabric 服务之间的流程,以及清单文件和项模型如何使工作负载在 Fabric 中感觉原生。

扩展性工具包的高级体系结构关系图。

体系结构组件

构造前端 (主机)

Fabric 前端是主机环境。 它将工作负荷呈现为 iFrame,并向 iFrame 公开安全主机 API,以便工作负载可以在保持隔离状态的同时与 Fabric 交互。 主机负责根据工作负荷清单(入口点、路由和功能)启动工作负荷,通过Microsoft Entra ID 管理身份验证令牌,以及将工作负荷中的调用调解到 Fabric 公共 API 和平台服务。

工作负荷网页应用程序

工作负荷是云中托管的 Web 应用程序(例如 React 或 Angular)。 Fabric 在 iFrame 中加载它,并提供主机 API 以与平台集成。 应用实现在其清单中声明的路由和 UI 图面,使用Microsoft Entra ID 令牌(由主机提供)来调用 Fabric 公共 API,并根据需要使用自己的后端服务,并遵循 Fabric UX 指南,使其外观和行为类似于本机体验。

Fabric 服务和公共 API

Fabric 服务公开公共 API,用于读取和写入元数据和内容、管理项以及与平台功能集成。 工作负荷使用通过 Microsoft Entra ID 颁发的作用域令牌调用这些 API,例如,执行项的 CRUD 操作和生命周期操作、访问存储在 OneLake 中的数据与内容,以及参与工作区功能,例如搜索和发现。 要了解端点、范围和标识指南,请参阅Fabric公共REST API

Microsoft Entra (身份验证)

身份验证和授权由 Microsoft Entra ID 进行处理。 工作负荷的清单声明它所需的权限;Fabric 主机获取相应的令牌,并根据这些声明强制执行同意和访问。

工作负荷模型和清单

工作负荷由描述其标识、功能、路由、UI 入口点和所需权限的清单定义。 清单是你的 Web 应用和 Fabric 之间的协议。 有关架构、示例和验证指南,请参阅 清单概述

项目和本土参与

工作负荷通常贡献一个或多个项类型。 工作负荷创建的项显示在工作区中,其行为类似于本地 Fabric 项目。 他们参与协作和共享,可在搜索中发现、遵循生命周期作和治理,并通过 OneLake 存储数据,同时使用适用于 CRUD 的 Fabric 公共 API。

端到端流程

  1. 用户打开工作区并导航到工作负荷提供的项或入口点。
  2. Fabric 前端根据 manifest 文件在 iFrame 中加载 Web 应用程序。
  3. 主机获取带有工作负载所需范围的 Microsoft Entra 令牌,并向 iFrame 暴露主机 API。
  4. 工作负荷使用这些令牌调用 Fabric 公共 API(以及,如果适用,还调用您自己的服务)。
  5. 项数据存储在 OneLake 中,项元数据通过 Fabric API 进行管理,因此它的行为与其他任何 Fabric 项一样。

后续步骤

若要在本地开发并发布工作负荷,请参阅 “发布工作负荷”。 有关清单架构和本地开发指南,请参阅 清单概述DevServerDevGateway。 有关 API 终结点、范围和标识指南,请参阅 构造公共 REST API