ワークロード マニフェスト
概要
Fabric のワークロード定義には、 WorkloadManifest.xml
ファイルと Item.xml
ファイルが必要です。 これは、セットアップ用の基本的なワークロードとワークロード項目の構成設定を保持し、ワークロードのセットアップと管理のガイドとして機能し、Fabric へのスムーズな統合のために重要なワークロードの詳細を定義、共有、記録するのに役立ちます。
このサンプル リポジトリでは、ビルド プロセス中にsrc/Packages/manifest
フォルダーにある XML ファイルから.nupkg
ファイルが生成されます。 このパッケージ 化されたファイルには、ワークロードに関する必要なすべての情報が保持されます。 workload-dev-mode.json
ファイルには、この新しく作成された.nupkg
ファイルを指すManifestPackageFilePath
というフィールドがあります。
アップロードと登録プロセス
- ユーザー認証: 開発中に、サンプルを実行すると、認証によってアップロードと登録のプロセスが開始されます。 これにより、ワークロードと ID の正しい関連付けが保証されます。
- マニフェストの解析: アップロードされたマニフェストは、その構造と内容を検証するために解析を行います。 この手順により、マニフェストが正しく書式設定され、さらに処理する準備が整います。
- ワークロードの登録: 解析が成功した場合、ワークロードは Fabric に登録されます。 ワークロード ID などの重要な構成の詳細は Fabric データベースに格納されるため、効果的なワークロード管理が可能になります。
ワークロード マニフェスト - 主要なマニフェスト コンポーネント
WorkloadDefinition.xsd によって構造が定義されているマニフェストでは、名前、アプリケーション、エンドポイントなど、ワークロードの主要な属性の概要が示されます。
SchemaVersion 属性
Fabric の WorkloadDefinition.xsd 公開バージョンを表します。
WorkloadName 属性
ワークロードの一意識別子です。 「Org」 が必要であることに注意してください。 workloadName のプレフィックス 。その名前は、「.」 区切り記号を持つ 2 つの単語 (例: 「Org.MyWorkload」) で構成されます。 その他のプレフィックスは無効であり、アップロードエラーが発生します。 これは、開発接続、テスト アップロードのシナリオで適用されます。
Version 要素
マニフェストのバージョンは、 SemVer 準拠している必要があります
CloudServiceConfiguration 要素
ワークロードのサービス構成。現在サポートされている構成は 1 つだけです。
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 を実装しているか、エンドポイント解決のみを実装しているかに基づいて設定されます。 解決コンテキストと応答の詳細については、「エンドポイント解決」を参照してください。
Note
フロントエンドのエンドポイント解決はサポートされていません。
アイテム マニフェスト - 主要なマニフェスト コンポーネント
アイテムDefinition.xsd によって定義される構造を持つマニフェストは、名前やジョブ定義など、ワークロードの項目の主要な属性の概要を示します。
SchemaVersion 属性
Fabric の アイテムDefinition.xsd 公開バージョンを表します。
TypeName 属性
項目の一意の識別子
ジョブ スケジューラの構成
<JobScheduler>
セクションには、ジョブのスケジュール、追跡、管理の動作と設定を定義するさまざまな要素が含まれています。
<OnDemandJobDeduplicateOptions>
および<ScheduledJobDeduplicateOptions>
: オンデマンドおよびスケジュールされた成果物ジョブの重複除去オプションをそれぞれ定義します。 オプションには、None
(重複除去なし)、PerItem
(同じアイテムとジョブの種類に対して 1 つのジョブ実行)、PerUser
(同じユーザーとアイテムに対して 1 つのジョブ実行) が含まれます。<ItemJobTypes>
: さまざまなアイテム ジョブの種類の構成が含まれています。<ItemJobType>
: 特定のジョブの種類について説明します。<Name>
: ジョブタイプの名前。 プレフィックスとしてアイテムの名前を使用する必要があります。
たとえば、 <ItemJobTypes>
セクションで定義されている 3 つの特定のジョブを含むサンプル ワークロードについて考えてみましょう。
<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 エコシステム内での適切な構成と効率的なワークロード管理を保証します。