コンテナーの作成と管理

適用対象: 開発者

コンテナーの種類が作成、登録、承認された後、コンテナーを作成および管理します。 コンテナーは、SharePoint Embedded の基本的なストレージ ユニットです。

コンテナー API を呼び出す前に 、認証と承認の構成 を完了します。

コンテナーについて

すべての SharePoint Embedded ファイルとドキュメントはコンテナーに格納されます。

コンテナー:

  • 使用している Microsoft 365 テナントに属しています。
  • 変更できないコンテナーの種類 ID を持つ。
  • アプリケーションのコンテンツを格納します。
  • メンバーシップとアクセス許可の境界を定義します。
  • Microsoft Graph を介してアクセスします。

アーキテクチャの概要については、「 SharePoint Embedded アプリのアーキテクチャ」を参照してください。

ライフサイクルを把握する

一般的なコンテナー ライフサイクルには、次のものが含まれます。

  1. コンテナーを作成します。
  2. メンバーを追加または確認します。
  3. ファイルのアップロードと管理。
  4. コンテナー メタデータの読み取りまたは更新。
  5. コンテナーがアクティブでなくなったらリサイクルします。
  6. 必要に応じ、リサイクルされたコンテナーを復元します。
  7. クリーンアップ中にコンテナーを完全に削除します。

コンテンツ操作の ファイルのアップロード、ダウンロード、管理 に進みます。

前提条件

コンテナーを作成する前に、次のことを確認してください。

  • コンテナーの種類が存在します。
  • コンテナーの種類は、使用しているテナントに登録されます。
  • アプリに Microsoft Graph FileStorageContainer.Selected 同意がある。
  • アプリには、操作のコンテナーの種類のアクセス許可があります。
  • 委任された呼び出しの場合、サインインしているユーザーは必要なコンテナー ロールを受け取ることができます。
  • 試用版コンテナーの種類の場合は、試用版の制限内にあります。

重要

試用版コンテナーの種類では、アクティブなコンテナーとごみ箱内のコンテナーを含め、最大 5 つのコンテナーを作成できます。

委任された作成またはアプリのみの作成を選択する

ユーザーが作成を開始したとき、ユーザーが責任を負う必要がある場合、または作成するユーザーがコンテナー所有者になる必要がある場合は、委任されたアクセスを使用します。

サービスによってコンテナーがプロビジョニングされ、ユーザーが存在せず、アプリにコンテナーを作成するアクセス許可がある場合は、アプリ専用アクセスを使用します。

注:

委任された呼び出しを通じて新しいコンテナーを作成するユーザーには、所有者ロールが自動的に割り当てられます。

コンテナーを作成する

Microsoft Graph を使用して、登録済みコンテナーの種類のファイル ストレージ コンテナーを作成します。

標準 API シェイプについては、「 create fileStorageContainer」を参照してください。

実装手順:

  1. 有効な Microsoft Graph トークンを取得します。
  2. API で必要なターゲット コンテナーの種類の情報を含めます。
  3. 作成要求を送信します。
  4. 返されたコンテナー ID を格納します。
  5. アプリで必要な表示メタデータを格納します。
  6. 委任されたシナリオのメンバーシップを割り当てるか、確認します。

ヒント

ビジネス オブジェクトと SharePoint Embedded コンテナーの間の永続的なリンクとして、コンテナー ID をアプリケーション データベースに格納します。

Visual Studio Code でコンテナーを作成する

試用版の開発では、Visual Studio Code 拡張機能でコンテナーを作成できます。

  1. SharePoint Embedded ビューを開きます。

  2. 登録済みの試用版コンテナーの種類を展開します。

  3. [コンテナー] を右クリックします。

  4. [ コンテナーの作成] を選択します

  5. 名前を入力してください。

  6. コンテナーの種類の下にコンテナーが表示されることを確認します。

拡張機能フローについては、「 クイック スタート: VS Code を使用して最初のアプリをビルド する」を参照してください。

コンテナーの一覧表示

使用可能なコンテナーの表示、プロビジョニングの検証、メンテナンスの実行を行うコンテナーを一覧表示します。

標準 API シェイプについては、「コンテナーの 一覧表示」を参照してください。

コンテナーを一覧表示する場合:

  • サービス インベントリのシナリオでは、アプリ専用アクセスを使用します。
  • 委任されたアクセスは、ユーザー コンテキストが適切な場合にのみ使用します。
  • ページングを処理します。
  • 結果をアプリケーション データにマップします。

注:

現在、委任されたリスト コンテナーは、ユーザーが OneDrive を持っていない場合に 403 Forbidden を返します。 この依存関係は、アプリのみのリスト呼び出しには適用されません。

コンテナーを取得する

操作する前に最新のメタデータが必要な場合は、コンテナーを取得します。

この操作を使用して、コンテナーの存在の確認、表示プロパティの読み取り、コンテナーの種類の確認、ファイル操作前の状態のチェック、復元の確認を行います。

実装を fileStorageContainer リソースの種類にリンクします。

コンテナー メタデータを更新する

サポートされているプロパティが変更されたときにメタデータを更新します。

更新する前に:

  1. アプリにコンテナーの種類 Write アクセス許可があることを確認します。
  2. 委任されたユーザーに適切なロールがあることを確認します。
  3. 現在のコンテナーの状態を読み取ります。
  4. 目的の変更のみを適用します。
  5. 応答を検証します。

コンテナーを削除またはリサイクルする

コンテナーがアクティブでなくなった場合は、削除動作を使用します。

削除前:

  • 呼び出し元にアクセス許可があることを確認します。
  • アプリにアーカイブされたビジネス参照があることを確認します。
  • コンテナーを最初にリサイクルするかどうかを決定します。
  • 復元オプションについて説明します。

Visual Studio Code 拡張機能には、試用版開発用のリサイクル機能と回復機能が含まれています。

リサイクルされたコンテナーを復元する

復元フローでは、次の手順を実行する必要があります。

  1. リサイクルされたコンテナーを特定します。
  2. 呼び出し元にアクセス許可があることを確認します。
  3. コンテナーを復元します。
  4. アプリケーションの状態を更新します。
  5. ファイルとメタデータが使用可能であることを確認します。
  6. ユーザーに通知します。

重要

試用版コンテナーの種類の場合、ごみ箱内のコンテナーは引き続き 5 つのコンテナーの制限にカウントされます。

コンテナーを完全に削除する

コンテナーが不要になった場合にのみ、完全に削除します。

コンテナーの種類自体を削除する前に、削除されたコンテナーを含め、コンテナーの種類のすべてのコンテナーを削除する必要があります。

試用版のクリーンアップ、テスト データの削除、コンテナーの種類の廃止、ライフサイクル要件の満たす場合は、永続的な削除を使用します。

ライフサイクル操作を検証する

煙テストを作成します。

  1. テスト コンテナーを作成します。
  2. ID で取得します。
  3. コンテナーを一覧表示し、表示されていることを確認します。
  4. サポートされているメタデータ値を更新します。
  5. 小さなファイルをアップロードします。
  6. コンテナーをリサイクルまたは削除します。
  7. サポートされている場合は復元します。
  8. クリーンアップ中に完全に削除します。

ライフサイクルの問題のトラブルシューティング

現象 チェック
作成が失敗する 登録と Create アクセス許可。
委任された作成が失敗する ユーザーの同意とロールの割り当ての動作。
委任されたユーザーのリストが失敗する OneDrive の依存関係については、認証に関する記事で説明されています。
削除が失敗する Delete アクセス許可とユーザー所有者ロール。
試用版の作成が失敗する アクティブなコンテナーとリサイクルされたコンテナーが上限に達している可能性があります。
コンテナーの種類の削除が失敗する アクティブなコンテナーと削除されたコンテナーはすべて、最初に削除する必要があります。

次の手順

[ファイルの アップロード、ダウンロード、管理] でファイル操作を追加します。