Boxインストール
概要
アプリケーション毎のデータ保管単位であるBoxは、アプリケーションを利用するCellには必ず作成されるものであり、
webDAVやODataのScheme等のアプリを挙動させるためのデータ構造は全て同一である必要があります。Box及び、配下のリソースを作成するためには、個々のAPIを実行する事でも実現可能ですが、
同一構造のリソースを複数のCellに作成するために、全て既存のAPIを実行するのは非効率であるため、
アプリケーション毎のデータ保管単位であるBoxの新規作成には、「boxインストール」機能を利用します。
barファイル
barファイルは「box archiveファイル」の意味であり、Boxの構成内容をまとめたアーカイブファイルを指します。
ファイル形式はzip形式であり、フォルダ内の階層構造でwebDAVコレクションの階層構造を表し、
その階層毎にファイルを格納することで、webDAV内に格納するファイルを保持する。
また、ODataのScheme情報については、「edmx.xml」で構造を定義します。詳細については、barファイルを参照して下さい。
実行時のフロー
boxインストールAPIの実行
- ↓
Boxの作成
- ↓
対象のCell内に同じschemaかNameを持つBoxが既にあるかを確認 →存在する場合409エラー
- ↓
Box配下のディレクトリ・ファイルを作成
- ↓
ODataコレクションと、配下のODataリソースを作成
- ↓
ユーザデータを格納
- ↓
Role・ExtRoleの作成
- ↓
作成したディレクトリ毎のアクセス権(ACL)設定
異常終了時
Box作成前のBarファイルのチェックでエラーとなり異常終了した場合、Boxインストールはそのまま終了します。
なお、異常終了した理由及び原因については、後述する「Boxメタデータ取得API」や「ログファイル取得API」を実行して内容を確認します。
進捗状況の確認
boxインストールは他のAPIとは異なり、インストール中に様々なリソースを処理中に作成する事もあり、
処理の受付から、登録の完了まで時間を要する処理となります。その処理の進捗状況を確認するには、Boxメタデータ取得を利用します。
Boxメタデータ取得による状況確認
Boxメタデータ取得APIを実行するには、BoxレベルACLPrivilegeの「box」の権限が必要です。
そのため、barファイル内のACL設定において、boxインストール状況確認APIを利用するアカウントのロールに対し、BoxレベルACLPrivilegeの「box」を与えるよう、設定を行なっておく必要があります。
Boxメタデータ取得APIのレスポンス
- Boxメタデータ取得APIで取得出来るBoxインストールの実行状況には、以下の3通りあります。
1.Boxインストールの完了(通常のBox登録APIでの作成完了を含む)
"status": "ready"
- 2.Boxインストールの完了(通常のBox登録APIでの作成完了を含む)
"status": "installation in progress"
- 3.Boxインストール異常終了
"status": "installation failed"
- 3.Boxインストール異常終了 については、異常終了後72時間後に1に上書きされます。
また、失敗理由の詳細については、後述のログ取得APIで確認して下さい。
処理結果の確認
- boxインストールの処理内容はログとして、boxインストール対象Boxが所属するCellのEventBusへ出力されます。
そのログを参照する場合は、ログファイル取得APIを使用して参照します。
また、上記APIを使用するためには、"log-read" の権限が必要となります。