工作负载清单
概述
Fabric 中的工作负载定义需要 WorkloadManifest.xml
和 Item.xml
文件。 其包含用于设置的基本工作负载和工作负载项配置设置,并作为工作负载设置和管理指南,帮助定义、共享和记录基本工作负载详细信息,以便顺利集成到 Fabric。
在我们的示例存储库中,生成过程中将从位于 .nupkg
文件夹中的 XML 文件生成 src/Packages/manifest
文件。 该打包文件包含有关工作负载的所有必要信息。 在 workload-dev-mode.json
文件中,应当有一个名为 ManifestPackageFilePath
的字段指向这个新创建的 .nupkg
文件。
上传和注册过程
- 用户身份验证:在开发过程中,执行示例后,身份验证就会启动上传和注册过程。 这可确保工作负载与你的标识正确关联。
- 清单分析:对上传的清单进行分析,以验证其结构和内容。 此步骤可确保清单格式正确,并可供进一步处理。
- 工作负载注册:如果分析成功,会在 Fabric 中注册工作负载。 Workload ID 等基本配置详细信息存储在 Fabric 数据库中,可实现有效的工作负载管理。
工作负载清单 – 关键清单组件
清单的结构由 WorkloadDefinition.xsd 定义,概述了工作负载的核心属性,例如名称、应用程序和终结点。
SchemaVersion 属性
表示 Fabric 的 WorkloadDefinition.xsd 已发布版本。
WorkloadName 属性
工作负载的唯一标识符。 请注意,WorkloadName 必须带有“Org.”前缀, 即名称应由两个单词组成,且带有分隔符“.”,例如“Org.MyWorkload”。 其他前缀无效,将导致上传失败。 这将在以下应用场景 – 开发连接、测试上传中强制执行。
Version 元素
清单版本应符合 SemVer。
CloudServiceConfiguration 元素
工作负载的服务配置,目前仅支持一个配置。
Microsoft Entra ID [Azure Active Directory (AAD)] 应用程序配置
<AADApp>
部分设置 Microsoft Entra ID [Azure Active Directory (AAD)] 应用程序以进行身份验证和授权过程。 AppId
表示应用程序的唯一标识符,RedirectUri
指定 Microsoft Entra ID 将向其发送身份验证响应的 URI,ResourceId
则指向应用程序正在访问的资源的唯一标识符。 有关 ResourceId
、AppId
和 RedirectUri
代表的更多上下文,请参阅身份验证文档。
<AADApp>
<AppId>YourApplicationId</AppId>
<RedirectUri>YourRedirectUri</RedirectUri>
<ResourceId>YourResourceId</ResourceId>
</AADApp>
查阅身份验证文档,以便更深入地了解 AppId
、ResourceId
和 RedirectUri
及其在身份验证过程中的上下文意义。
ServiceEndpoint 元素
表示特定逻辑终结点的配置,例如包括项目 CRUD 和作业 API 的实现的后端终结点。
- 工作负载后端终结点的配置说明了工作负载的后端 URL。
<ServiceEndpoint>
<Name>Workload</Name>
<Url>YourWorkloadBackendUrl</Url>
<IsEndpointResolutionService>...
<EndpointResolutionContext>...
</ServiceEndpoint>
<IsEndpointResolutionService>
和EndpointResolutionContext
根据终结点是否实现工作负载 API 还是仅实现终结点解析进行设置。 有关解析上下文和响应的详细信息,请参阅终结点解析。
注意
不支持前端的终结点解析。
项清单 – 关键清单组件
清单的结构由 ItemDefinition.xsd 定义,概述了工作负载项的核心属性,例如名称和作业定义。
SchemaVersion 属性
表示 Fabric 的 ItemDefinition.xsd 已发布版本。
TypeName 属性
项目的唯一标识符。
作业计划程序配置
<JobScheduler>
部分包含用于定义作业计划、跟踪和管理的行为和设置的各种元素。
<OnDemandJobDeduplicateOptions>
和<ScheduledJobDeduplicateOptions>
:分别定义按需和计划项目作业的重复数据删除选项。 选项包括None
(不进行重复数据删除)、PerItem
(针对同一项和作业类型运行一次作业),以及PerUser
(针对同一用户和项运行一次作业)。<ItemJobTypes>
:包含不同项作业类型的配置。<ItemJobType>
:描述特定的作业类型。<Name>
:作业类型的名称。 必须使用项的名称作为前缀。
例如,考虑一下示例工作负载,其中包括 <ItemJobTypes>
部分中定义的三种特定作业:
<JobScheduler>
<OnDemandJobDeduplicateOptions>PerItem</OnDemandJobDeduplicateOptions>
<ScheduledJobDeduplicateOptions>PerItem</ScheduledJobDeduplicateOptions>
<ItemJobTypes>
<ItemJobType Name="Org.WorkloadSample.SampleWorkloadItem.ScheduledJob" />
<ItemJobType Name="Org.WorkloadSample.SampleWorkloadItem.CalculateAsText" />
<ItemJobType Name="Org.WorkloadSample.SampleWorkloadItem.CalculateAsParquet" />
</ItemJobTypes>
</JobScheduler>
- CalculateAsText 作业:此作业类型用于处理基于文本的计算、获取
Operand1
和Operand2
、执行所选操作,并将结果保存在 Lakehouse 中。 - CalculateAsParquet 作业:此作业类型为处理 Parquet 数据而量身打造,还可获取
Operand1
和Operand2
、执行所选操作,并按照 Parquet 数据格式将结果存储在 Lakehouse 中。 有关作业和相关配置的详细信息,请参阅监视中心指南。
总之,工作负载和项清单可用作将自定义工作负载添加到 Fabric 的基础文档。 身份验证过程会触发一系列简单操作:上传、分析和注册,从而保证 Azure 生态系统中的正确配置以及高效的工作负载管理。