SharePoint 非同期メタデータ読み取り (AMR) API を使用すると、SharePoint と OneDrive からのメタデータの非同期エクスポートが可能になります。
AMR API を使用して、増分移行と移行後の検証のために SharePoint からメタデータをエクスポートします。
AMR は、インポート シナリオ専用に設計されています。 メタデータ、アクセス許可、またはバージョンの要求を処理する場合、スケーラビリティが低下します。 テナント間の移行など、データ エクスポート シナリオでの AMR の使用に対するパフォーマンス保証を提供することはできません。
新機能
2024 年 1 月
明確で正しいエラーが発生するように、このドキュメントを再フォーマットしました。
エクスポート手順の概要
SharePoint から次の 3 つの手順でメタデータをエクスポートします。
宛先コンテナーとキューをプロビジョニングする
重要
GetMigrationJobProgress API を使用して、移行ジョブの状態を取得します。
移行ジョブの状態の追跡のために Azure キューをプロビジョニングする必要はなくなりました。 Azure キュー の廃止は、2026 年後半に予定されています。 それまでは、Azure キューは状態を取得するために引き続き使用できます。
ProvisionMigrationContainersメソッドを使用してコンテナーをプロビジョニングします。 詳細については、「Azure Blob Storage コンテナーと Azure キュー と Migration API を使用する」を参照してください。 必要に応じて、独自のコンテナーとキューを使用することもできます。
CreateSPAsyncReadJob メソッドを使用してエクスポートを開始する
CreateSPAsyncReadJobメソッドを使用して、1 つの URL からメタデータをエクスポートするか、必要に応じて複数の URL からCreateSPAsyncReadJobWithMultiUrlします。 詳細については 、AMR API リファレンスを参照 してください。
ChangeToken機能を使用して増分更新を取得します。
どちらのメソッドも、エクスポート状態を追跡するために使用できるジョブ ID を返します。
詳細については 、AMR API リファレンスを参照 してください。
状態の確認
重要
GetMigrationJobProgress API を使用して、移行ジョブの状態を取得します。
移行ジョブの状態の追跡のために Azure キューをプロビジョニングする必要はなくなりました。 Azure キュー の廃止は、2026 年後半に予定されています。 それまでは、Azure キューは状態を取得するために引き続き使用できます。
エクスポートの状態が指定されている Azure Queue を確認します。 詳細については、「イベント」に記載されている イベント を監視します。
AMR API は、指定されたマニフェスト コンテナー内のメタデータを、 JobID という名前のフォルダーの下にエクスポートします。
マニフェスト ファイルでメタデータの形式と検証を確認します。
AMR API は、25 MB を超えるマニフェスト パッケージを要求ごとに複数のマニフェスト ファイルに分割します。
ベスト プラクティス
AMR API は強力です。 大規模な移行プロジェクトの規模を達成するために、優れたパフォーマンスを確保します。
セキュリティとアクセス許可を可能な限り最上位レベルにエクスポートする
IncludeSecurityを使用してセキュリティをエクスポートすると、より多くのリソースが消費され、エクスポートの速度が低下します。 最初に上位レベルのフォルダーでこのメタデータをエクスポートしてから、それらなしで子をエクスポートする方が高速です。
1 つの項目に対するメタデータのエクスポート
AMR の代わりに Microsoft Graph を使用します。
アイテム数が 10,000 未満のフォルダー
CreateSPAsyncReadJobWithMultiUrlを使用して、複数のフォルダーの URL を 1 つのエクスポート ジョブに結合します。
10,000 から 100 万個のアイテムを含むフォルダー
CreateSPAsyncReadJobを使用し、readOptionIncludeDirectDescendantsOnly を false に設定します。 この値は既定の設定です。
100 万を超えるアイテムを含む入れ子になったフォルダー
フォルダーをジョブに分割する場合は慎重に計画します。 エクスポート ジョブのオブジェクト数は、エクスポート パフォーマンスの主な要因です。
この例では、100 万を超える項目を含む入れ子になったフォルダーからメタデータをエクスポートする方法を示します。 項目数が多い場合、AMR API のパフォーマンスは最も高くなります。
- ルート URL で
CreateSPAsyncReadJobメソッドを使用します (例:www.contoso.com/my-resource-document、 readOptionIncludeDirectDescendantsOnlyをtrueに設定します。 -
SMTotalFileCount属性を使用して、フォルダー内のファイル数を取得します。 - フォルダーに 10,000 個を超えるアイテムがある場合は、サブフォルダー レベルで
createSPAsyncReadJobメソッドを引き続き使用します。 - サブフォルダーと 10,000 個未満の項目を組み合わせて、
CreateSPAsyncReadJobWithMultiUrlメソッドを使用します。
パフォーマンス
AMR API は、事前に構成されたワークロード管理設定を使用してキュー メカニズムを介してジョブを処理します。 AMR API は、サービス レベル アグリーメント (SLA) または保証されたパフォーマンスなしで、ベスト エフォートベースでジョブを処理します。
ラボでテストされたパフォーマンス ベースライン
ラボ設定でパフォーマンスをテストしました。 AMR API は、250 K オブジェクトごとに 1 秒あたり約 400 項目をエクスポートしました(平均ケース)。 ピーク時のパフォーマンスは、1 秒あたり 700 項目に達しました。
複数の要因が実際のパフォーマンスに影響します。 たとえば、以下の要素について考慮します。
- エクスポートされる項目の数
- AMR API の実装方法
- 調整
移行のパフォーマンスを最適化する
移行プロジェクトに最適なパフォーマンスを確保するには、特に大規模な移行を処理する場合は慎重に計画することが重要です。 期間を見積もり、パフォーマンスを最適化する方法の詳細については、 パフォーマンス ガイドを参照してください。
調整メッセージが表示される
すべての Microsoft 365 ユーザーに優れたユーザー エクスペリエンスを確保するために、SharePoint では調整を使用して SharePoint インフラストラクチャを保護します。 調整ガイダンスに従って調整 されないようにします。
テナント間の移行
AMR は、SharePoint テナントのコンテンツが別のテナントに移動されるシナリオを対象としたものではありません。 この種類の移行では、多くのリソース負荷の高い読み取りオプションを使用する必要があります。 これらの読み取りオプションの処理時間が長いと、全体的な移行が大幅に遅くなります。
このシナリオでは、Microsoft はパフォーマンスの保証を提供しません。 必要に応じて Graph または CSOM を使用します。