项目生命周期

在 Fabric UI 中创建项目的建议流程为

  1. 提示用户输入项目名称。
  2. 创建一个空项目。
  3. 编辑并保存新项目。

Microsoft Fabric 中项目生命周期管理的第一部分的示意图。

此过程可以分为以下几个阶段:

  1. 创建一个空项目
  2. 加载项目
  3. 编辑项目

Microsoft Fabric 中项目生命周期管理的第二部分的示意图。

当用户选择一个按钮来创建任何类型的项目时,Fabric FE(门户)代码需要加载相应的项目编辑器。 Fabric FE 对 Fabric BE 进行 API 调用,以获取所需的信息,包括来源 URL、Microsoft Entra ID 应用程序详细信息和工作负载 BE URL,这些信息都对应于当前上下文。 一旦这些信息可用,就会创建一个项目。 通常,项目会从 CDN 加载其静态资源,例如 HTML、JavaScript、CSS 和图像。 建议使用多区域 CDN 部署并配置名称解析,以便来源 URL 将解析为物理上最靠近浏览器当前位置的 CDN 服务器。

注意

通常,项目编辑器需要调用工作负载 BE,这可能是在编辑阶段。 这需要根据当前上下文来解析工作负载 BE URL。 目前,该代码可以使用硬编码的 BE URL。

创建一个空项目

Fabric 中的一种常见做法是允许创建没有用户输入的项目,但项目名称除外。 预计此类项目不会执行任何有意义的操作(因此为“空”),但它们会显示在工作区中,并且可以参与基本流程和操作。 此外,在某些情况下,它们甚至可以基于工作负载设置的合理默认值正常运行。

此流程首先提示用户提供新项目的名称。 拥有名称后,iframe 将调用主机 JS API 以启动项目创建流程,将可选的 JSON 对象作为“创建有效负载”进行传递,然后主机将调用 Fabric BE。 身份验证由主机处理。 Fabric BE 根据上下文解析工作负载 BE URL,并调用 CreateItem 工作负载 API,传递 iframe 发送的“创建有效负载”。 工作负载 BE 预计会存储新的项目元数据,可能还会分配一些资源(尽管此步骤可以推迟到以后执行),并执行任何其他相关工作。 从工作负载 BE 的角度完成项目创建后,需要通知 Fabric BE 有关项目元数据的更改。 相同的过程需要在项目元数据的任何更新时发生,因此需要为 Fabric BE 受众交换主题令牌。

注意

用于通知项目元数据更新的 API 当前不可用。

加载项目

若要编辑项目,iframe 需要加载其元数据。 此过程与加载“空”项目和“初始化”项目的过程相同。 iframe 会调用主机 JS API(它会调用 Fabric BE),它反过来又会调用 GetItemPayload 工作负载 API。 工作负载 BE 可以返回一个 JSON 对象,然后将其传回给 iframe。 身份验证由主机处理。

编辑项目

加载项目元数据后,可以启动编辑会话。 在开始或在此会话期间,iframe 可能需要调用工作负载 BE(例如提取配置、填充 UI 控件、执行验证等)。 为此,它需要从主机 JS API 中请求令牌。