Extensibility Toolkit 中的工作负荷清单

工作负荷清单(WorkloadManifest.xml)是工作负荷的级别配置。 它告诉 Fabric 您的工作负载是什么,以及如何访问前端,以便主机可以安全地引导它。 它补充了产品和项定义,但不替换:

  • 产品元数据(用于发现和发布)位于 Product.json中。
  • 项类型和行为位于项清单和 JSON 文件中。

工作负荷清单定义的内容

  • 工作负荷标识: WorkloadName ([组织].[WorkloadId])和 Version (语义版本)
  • 宿主模型: HostingType (使用 FERemote
  • 前端的 Microsoft Entra 应用:AADFEApp>AppId
  • 前端终结点:ServiceEndpoint 入口,其中包括 Name(例如 Frontend、dev 环境中的 localhost,生产环境中的域必须是您已验证的 Entra 域的子域)和 UrlIsEndpointResolutionService。 请参阅 常规发布要求 ,了解域限制。
  • 可选沙盒放宽: EnableSandboxRelaxation 仅当需要特殊 iFrame 功能时(例如,启动文件下载)

最佳做法

  • 在应用程序及其清单文件中保持版本一致性
  • 声明所需的最低权限(最低权限原则)
  • 验证清单作为 CI 的一部分

结构

Manifest中的关键元素及其含义:

  • 具有架构版本的根元素(例如 SchemaVersion="2.0.0")。
  • Workload 具有属性的节点,例如:
    • WorkloadName — 窗体 [Organization].[WorkloadId] 中的唯一标识符(例如 Org.MyWorkload)。 如果不打算发布到其他租户,可以使用 Org.[WorkloadId]。 若要跨租户发布,请使用 Fabric 注册完整的 WorkloadName。
    • HostingType — 指示工作负荷托管;use FERemote.
  • Version node - 工作负荷包的语义版本。
  • RemoteServiceConfiguration > CloudServiceConfiguration 含:
    • Cloud (例如, Public)。
    • AADFEApp > AppId — 包含前端Microsoft Entra 应用程序 ID。
    • EnableSandboxRelaxation - 如果需要特殊的 iFrame 功能(例如启动文件下载),请将其设置为 true。 默认情况下,为了安全起见,请保留 false
    • Endpoints > ServiceEndpoint 条目包含:
      • Name (例如, Frontend)。
      • Url — 前端托管位置。 使用 https://localhost:port 进行开发。 在生产环境中,域必须是已验证的 Entra 域的子域。 有关完整的域限制,请参阅 常规发布要求
      • IsEndpointResolutionService

生成输出和占位符

在 Starter-Kit 中,每次根据环境文件中的配置创建清单时,都会填充占位符。 最终完成的清单在 build/Manifest 目录中创建。 使用占位符并从环境中填充这些占位符可以生成不同的环境,而无需更改文件或脚本。 生成输出由:

  • DevGateway:向 Fabric 注册本地开发实例,以便在开发过程中应用可以在 Fabric 门户中加载。
  • DevServer:向 Fabric 提供信息
  • 管理门户:用于测试和生产,在发布过程中,通过 Fabric 管理门户上传清单包。 请参阅 “发布工作负荷”。

了解详细信息