共用方式為


工作負載資訊清單

概觀

Fabric 中的工作負載定義需要 WorkloadManifest.xmlItem.xml 檔案。 它們會保存基本工作負載和工作負載項目組態設定以進行設定,並可作為工作負載設定和管理指南,協助定義、共用和記錄基礎工作負載詳細資訊,以順利整合至 Fabric。

在我們的範例存放庫中,會在建置過程中從位於 .nupkg 資料夾的 XML 檔案中產生 src/Packages/manifest 檔案。 此封裝檔案會保存工作負載的所有必要資訊。 在 workload-dev-mode.json 檔案中,有一個稱為 ManifestPackageFilePath 的欄位應該指向這個新建立的 .nupkg 檔案。

上傳和註冊程序

  1. 用戶驗證:在開發期間,一旦執行範例,您的驗證就會起始上傳和註冊程式。 這可確保工作負載與身分識別的正確關聯。
  2. 指令清單剖析:上傳的指令清單會經過剖析來驗證其結構和內容。 此步驟可確保已正確格式化資訊清單,並準備好進一步處理。
  3. 工作負載註冊:如果剖析成功,工作負載會在 Fabric 中註冊。 基本設定詳細資訊,例如工作負載 ID,會儲存在 Fabric 資料庫中,以啟用有效的工作負載管理。

工作負載資訊清單 - 主要資訊清單元件

資訊清單的結構由 WorkloadDefinition.xsd 所定義,概述了工作負載的核心屬性,例如名稱、應用程式和端點。

SchemaVersion 屬性

代表 Fabric 的 WorkloadDefinition.xsd 已發佈版本。

WorkloadName 屬性

工作負載的唯一識別碼。 請注意,必須有 'Org'。 workloadName 的前置詞,其名稱由具有 '.' 分隔符號的兩個詞語所組成,例如 'Org.MyWorkload'。 其他前置詞無效,而且會導致上傳失敗。 這會在下列案例中強制執行 - 開發連線、測試上傳。

版本元素

您的指令清單版本應符合 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>
  • 根據您的端點是實作工作負載 API,還是僅實作端點解析來設定 <IsEndpointResolutionService><EndpointResolutionContext>
  • 從服務傳回的已解析端點必須符合下列需求:
    • 已解析端點的網域必須與在 WorkloadManifest.xml中找到的資源 ID的網域相符。
    • 解析的端點 URL 在主要網域之前最多可以有六個額外的子域。
    • 第一個區段之後的任何子域都必須屬於發行者租戶的 已驗證網域 清單。

範例

資源標識碼 URL:https://contoso.com/fe/be/Org.WorkloadSample (其中網域為 contoso.com

租用戶中已驗證的網域:contoso.combe.contoso.comeastus.be.contoso.com

有效的已解析端點:

  • api.eastus.be.contoso.com
  • be.contoso.com
  • api.be.contoso.com

無效的已解析端點:

  • api.eastus.fe.contoso.com (無效,因為 eastus.fe.contoso.com 不是已驗證的網域)
  • contoso-dev.com (無效,因為 contoso-dev.com 不是已驗證的網域,也不符合資源 ID 的主要網域)
  • 如需使用工作負載用戶端 API 進行端點解析的詳細資訊,請參閱 端點解析

注意

不支援前端的端點解析。

項目資訊清單 - 主要資訊清單元件

資訊清單的結構由 ItemDefinition.xsd 所定義,會概述工作負載項目的核心屬性,例如名稱和工作定義。

SchemaVersion 屬性

代表 Fabric 的 ItemDefinition.xsd 已發佈版本。

TypeName 屬性

項目的唯一識別碼。

Job Scheduler 組態

<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 生態系統內的正確設定和高效工作負載管理。