次の方法で共有


ワークロード マニフェスト

概要

Fabric のワークロード定義には、 WorkloadManifest.xml ファイルと Item.xml ファイルが必要です。 これは、セットアップ用の基本的なワークロードとワークロード項目の構成設定を保持し、ワークロードのセットアップと管理のガイドとして機能し、Fabric へのスムーズな統合のために重要なワークロードの詳細を定義、共有、記録するのに役立ちます。

このサンプル リポジトリでは、ビルド プロセス中にsrc/Packages/manifest フォルダーにある XML ファイルから.nupkg ファイルが生成されます。 このパッケージ 化されたファイルには、ワークロードに関する必要なすべての情報が保持されます。 workload-dev-mode.json ファイルには、この新しく作成された.nupkg ファイルを指すManifestPackageFilePathというフィールドがあります。

アップロードと登録プロセス

  1. ユーザー認証: 開発中に、サンプルを実行すると、認証によってアップロードと登録のプロセスが開始されます。 これにより、ワークロードと ID の正しい関連付けが保証されます。
  2. マニフェストの解析: アップロードされたマニフェストは、その構造と内容を検証するために解析を行います。 この手順により、マニフェストが正しく書式設定され、さらに処理する準備が整います。
  3. ワークロードの登録: 解析が成功した場合、ワークロードは 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はアプリケーションがアクセスしているリソースの一意識別子を指します。 ResourceIdAppId、およびRedirectUriの詳細については、認証のドキュメントを参照してください

<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 を実装しているか、エンドポイント解決のみを実装しているかに基づいて設定されます。 解決コンテキストと応答の詳細については、「エンドポイント解決」を参照してください。

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 ジョブ : このジョブの種類は、テキストベースの計算を処理し、 Operand1Operand2を実行し、選択した操作を実行して、結果を lakehouse に保存します。
  • CalculateAsParquet ジョブ : このジョブの種類は、Parquet データの操作用に特別に調整されており、 Operand1Operand2も受け取り、選択した操作を実行し、Parquet データ形式に従って結果を lakehouse に格納します。 ジョブと関連する構成の詳細については、「監視ハブ ガイド」を参照してください。

要約すると、ワークロード マニフェストと項目マニフェストは、Fabric にカスタム ワークロードを追加するための基本的なドキュメントとして機能します。 認証プロセスは、アップロード、解析、登録という簡単な一連のアクションをトリガーし、Azure エコシステム内での適切な構成と効率的なワークロード管理を保証します。