工作负荷清单(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— 指示工作负荷托管;useFERemote.
-
-
Versionnode - 工作负荷包的语义版本。 -
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 管理门户上传清单包。 请参阅 “发布工作负荷”。