工作负载清单

概述

Fabric 中的工作负载定义需要 WorkloadManifest.xmlItem.xml 文件。 其包含用于设置的基本工作负载和工作负载项配置设置,并作为工作负载设置和管理指南,帮助定义、共享和记录基本工作负载详细信息,以便顺利集成到 Fabric。

在我们的示例存储库中,生成过程中将从位于 .nupkg 文件夹中的 XML 文件生成 src/Packages/manifest 文件。 该打包文件包含有关工作负载的所有必要信息。 在 workload-dev-mode.json 文件中,应当有一个名为 ManifestPackageFilePath 的字段指向这个新创建的 .nupkg 文件。

上传和注册过程

  1. 用户身份验证:在开发过程中,执行示例后,身份验证就会启动上传和注册过程。 这可确保工作负载与你的标识正确关联。
  2. 清单分析:对上传的清单进行分析,以验证其结构和内容。 此步骤可确保清单格式正确,并可供进一步处理。
  3. 工作负载注册:如果分析成功,会在 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 则指向应用程序正在访问的资源的唯一标识符。 有关 ResourceIdAppIdRedirectUri 代表的更多上下文,请参阅身份验证文档

<AADApp>
    <AppId>YourApplicationId</AppId>
    <RedirectUri>YourRedirectUri</RedirectUri>
    <ResourceId>YourResourceId</ResourceId>
</AADApp>

查阅身份验证文档,以便更深入地了解 AppIdResourceIdRedirectUri 及其在身份验证过程中的上下文意义。

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 作业:此作业类型用于处理基于文本的计算、获取 Operand1Operand2、执行所选操作,并将结果保存在 Lakehouse 中。
  • CalculateAsParquet 作业:此作业类型为处理 Parquet 数据而量身打造,还可获取 Operand1Operand2、执行所选操作,并按照 Parquet 数据格式将结果存储在 Lakehouse 中。 有关作业和相关配置的详细信息,请参阅监视中心指南

总之,工作负载和项清单可用作将自定义工作负载添加到 Fabric 的基础文档。 身份验证过程会触发一系列简单操作:上传、分析和注册,从而保证 Azure 生态系统中的正确配置以及高效的工作负载管理。