コンテナーの作成と管理

適用対象: Developer

コンテナー タイプを作成、登録、承認した後で、コンテナーを作成して管理します。 コンテナーは、SharePoint Embedded の基本的なストレージ ユニットです。

コンテナー API を呼び出す前に、 認証と承認を構成 してください。

コンテナーについて

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

コンテナー:

  • 消費中の Microsoft 365 テナントに属しています。
  • 不変コンテナーの種類 ID を持っています。
  • アプリケーションのコンテンツを格納します。
  • メンバーシップとアクセス許可の境界を定義します。
  • Microsoft Graph 経由でアクセスします。

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

ライフサイクルを知る

一般的なコンテナーのライフサイクルは次のとおりです。

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

続行: コンテンツ操作の ファイルのアップロード、ダウンロード、管理

前提条件

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

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

重要

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

機密クライアントを使用してコンテナーを作成する

コンテナーを作成するには、 機密 クライアント アプリケーションが必要です。 機密クライアントは、クライアント シークレットや証明書などの資格情報を保持し、Web アプリのバックエンドやサービスなど、その資格情報を非公開にするコンポーネントからトークンを取得します。

パブリック クライアント アプリケーションからのトークンを使用するコンテナーの作成呼び出しは、エンド ユーザーがパブリック クライアント トークンにアクセスでき、アプリケーションに気づかれることなく再利用できるため失敗します。 パブリック クライアントには、シングルページ アプリ、モバイル アプリ、デスクトップ アプリが含まれます。

この要件は、委任された作成とアプリのみの作成の両方に適用されます。

  • 代理作成の場合は、認証コード フローとクライアント資格情報を使用してトークンを取得し、バックエンドから Microsoft Graph を呼び出します。
  • アプリのみの作成の場合は、常に機密であるクライアント資格情報フローでトークンを取得します。

アプリにパブリック クライアント フロントエンドがある場合は、クライアントから Microsoft Graph を呼び出すのではなく、機密バックエンド サービスを介してコンテナーの作成をルーティングします。

詳細については、「 パブリック クライアントおよび機密クライアント アプリケーション」を参照してください。

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

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

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

注:

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

コンテナーの作成

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

正規の API 図形については、「 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 アクセス許可とユーザー所有者ロール。
試用版の作成に失敗する アクティブ コンテナーとリサイクル コンテナーが制限に達している可能性があります。
コンテナーの種類の削除に失敗しました アクティブおよび削除されたすべてのコンテナーを最初に削除する必要があります。

次の手順

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