レイヤー化されたエンティティの活用
概要
- チュートリアル:動画像処理のMLモデルをデプロイの内容を拡張し、複数のユーザーからのデータ入力を受け付け、個別に処理を行うキャンバスを作成します。
エンティティのレイヤー化
- エンティティはデフォルトではグローバルな変数でユーザーの数が不定の場合などではユーザーごとの入出力に対応しづらくなっています。
- レイヤー化されたエンティティ "Layered Entity" の活用によりパラメーター付きのリクエストを受け取りユーザーごとに異なる処理や入出力を行うことが可能となります。
- 機能の詳細は、レイヤーの活用を参照してください。
準備
(1) ファイルのダウンロード
- sample.zip
- layered_blank.json: チュートリアルで使う作業用のキャンバスのjsonファイルです。キャンバスにimportします。
- layered_completed.json: 完成版のキャンバスです。最後にこちらを参照ください
- sample1.mov: サンプル用の動画ファイルの1つ目です。
- sample2.mov: サンプル用の動画ファイルの2つ目です。
(2) StudioAppへアクセス
下記URLにアクセスします。<env-name>
はご自身のものに書き換えてください。
https://app.<env-name>.studio.exabase.ai/
# <env-name>が不明な場合は貴社内のご担当者さまへお問い合わせください。
チュートリアル
1. ファイルのインポート
- StudioAppの
+新しいプロジェクト
ボタンから新しいプロジェクトを作成します(プロジェクト名は自由に設定してください)。 - ダウンロードしたjsonファイルをキャンバスにインポートします。
2. 処理をキャンバス上で実装する
具体的な実装方法は、キャンバス上の付箋の内容を参照してください。
- チュートリアルではEntityの設定変更とフロントエンドの書き換えを行います
- (1)Entity e01, e02 を FileEntity(Layered) へ変更
- (2)SideApp(webserver)のhtmlを書き換え
- 処理に使うMLモデル等はAWS ECR上にすでにアップしているImageを使います。Functionノードのimage URIから利用するイメージを指定します。
3. デプロイ
-
画面右上の
デプロイ
ボタンを押し、テナントIDを入力してデプロイします。※テナントIDが不明な場合は貴社内のご担当者さまへお問い合わせください。
4. アップロードページの設定
- デプロイが成功したら動画のアップロード/ダウンロードを行うページをふたつ開きます。
ページのURL構成
https://studio.{env-name}.studio.exabase.ai/{tenant-id}/ws03/webserver/
*{}内のものはご自身の環境に合わせて変更してください
- それぞれのページでURLとパラメーターを設定します。パラメーターはふたつのページで異なる任意の値を入力してください。
入力例
5. 処理の実行
- サンプルからsample01.movとsample02.movをそれぞれのページからアップロードすると処理が開始されます。
成功した場合の画面イメージ
6. 実行結果を確認
- 処理が完了すると画面上のFileIdに値が入り、ダウンロードリンクが作成されます。リンクから動画ファイルをダウンロードし、正常に処理差がされていることを確認してください。
Tips
レイヤー化されたエンティティとデフォルトエンティティの併用
- 下図のようにレイヤー化されたエンティティとグローバルな変数であるデフォルトのエンティティ(Shared Entity)を併用することも可能です。