概觀
Fabric 中的工作負載定義需要 WorkloadManifest.xml 和 Item.xml 檔案。 它們會保存基本工作負載和工作負載項目組態設定以進行設定,並可作為工作負載設定和管理指南,協助定義、共用和記錄基礎工作負載詳細資訊,以順利整合至 Fabric。
在我們的範例存放庫中,會在建置過程中從位於 .nupkg 資料夾的 XML 檔案中產生 src/Packages/manifest 檔案。 此封裝檔案會保存工作負載的所有必要資訊。 在 workload-dev-mode.json 檔案中,有一個稱為 ManifestPackageFilePath 的欄位應該指向這個新建立的 .nupkg 檔案。
上傳和註冊程序
- 用戶驗證:在開發期間,一旦執行範例,您的驗證就會起始上傳和註冊程式。 這可確保工作負載與身分識別的正確關聯。
- 指令清單剖析:上傳的指令清單會經過剖析來驗證其結構和內容。 此步驟可確保已正確格式化資訊清單,並準備好進一步處理。
- 工作負載註冊:如果剖析成功,工作負載會在 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 指向應用程式所存取之資源的唯一識別碼。 如需了解 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>
- 根據您的端點是實作工作負載 API,還是僅實作端點解析來設定
<IsEndpointResolutionService>和<EndpointResolutionContext>。 - 從服務傳回的已解析端點必須符合下列需求:
範例
資源標識碼 URL:https://contoso.com/fe/be/Org.WorkloadSample (其中網域為 contoso.com)
租用戶中已驗證的網域:contoso.com、be.contoso.com、eastus.be.contoso.com
有效的已解析端點:
api.eastus.be.contoso.combe.contoso.comapi.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 作業 :此作業類型會處理以文字為基礎的計算、擷取
Operand1和Operand2,執行選取的作業,並將結果儲存在 Lakehouse 中。 -
CalculateAsParquet 作業 :專為使用 Parquet 數據量身打造,此作業類型也會採用
Operand1和Operand2,執行選取的作業,並遵循 Parquet 數據格式,將結果儲存於 Lakehouse 中。 如需作業和相關設定的詳細資訊,請參閱 監視中樞指南 。
總而言之,工作負載和項目資訊清單可作為將自訂工作負載新增至 Fabric 的基礎文件。 驗證過程會觸發一連串直接的動作:上傳、剖析和註冊,保證 Azure 生態系統內的正確設定和高效工作負載管理。