Skip to content

アプリケーション内で をクリックすると、お使いのDataRobotバージョンに関する全プラットフォームドキュメントにアクセスできます。

DRAppsでのカスタムアプリのホスティング

DRAppsはシンプルなコマンドラインインターフェイス(CLI)です。DataRobotでDataRobotの実行環境を使用するStreamlitアプリなどのカスタムアプリケーションをホストするのに必要なツールを提供します。 これにより、独自のDockerイメージを構築せずにアプリを実行できます。 カスタムアプリケーションはストレージを提供しません。ただし、DataRobotの全APIやその他のサービスにアクセスできます。 また、DockerコンテナにAIアプリ(Classic)またはカスタムアプリケーション(NextGen)をアップロードすることもできます。

Paused custom applications

Custom applications are paused after a period of inactivity. 休止状態のカスタムアプリケーションに初めてアクセスすると、再起動中にロード画面が表示されます。

DRApps CLIツールのインストール

DRApps CLIツールをインストールするには、次のいずれかのコマンドを実行します。

pip install git+https://github.com/datarobot/dr-apps 

まず、 dr-appsリポジトリのクローンを作成し、次のコマンドを実行します。

python setup.py install 

DRApps CLIの使用

DRApps CLIツールをインストールすると、drapps --helpコマンドを使用して次の情報にアクセスできます。

$ drapps --help
Usage: drapps [OPTIONS] COMMAND [ARGS]...

CLI tools for custom applications.

You can use drapps COMMAND --help for getting more info about command.

Options:
  --help  Show this message and exit.

Commands:
  create     Creates new custom application from docker image or base...
  logs       Provides logs for custom application.
  ls         Provides list of custom applications or execution environments.
  terminate  Stops custom application and removes it from the list. 

さらに、このページにリストされている各コマンドに対して--helpを使用できます。

createコマンド

Dockerイメージまたは基本環境から新しいカスタムアプリケーションを作成します。 アプリケーションがプロジェクトフォルダーから作成される場合、カスタムアプリケーションのイメージが作成されるか、既存のアプリケーションが更新されます。 詳細については、drapps create --helpコマンドを使用してください。

$ drapps create --help
Usage: drapps create [OPTIONS] APPLICATION_NAME

  Creates a new custom application from a Docker image or base environment.

Options:
  -t, --token TEXT      Pubic API access token. You can use
                        DATAROBOT_API_TOKEN env instead.
  -E, --endpoint TEXT   DataRobot Public API endpoint. You can use
                        DATAROBOT_ENDPOINT instead. Default:
                        https://app.datarobot.com/api/v2
  -e, --base-env TEXT   Name or ID for execution environment.
  -p, --path DIRECTORY  Path to folder with files that should be uploaded.
  -i, --image FILE      Path to tar archive with custom application docker
                        images.
  --skip-wait           Do not wait for ready status.
  --help                Show this message and exit. 

各引数の詳細については、以下の表を参照してください。

引数 説明
APPLICATION_NAME カスタムアプリケーションの名前を入力します。 この名前は、カスタムアプリケーションのイメージ名の生成にも使用され、Imageサフィックスが追加されます。
--token DataRobotアカウントの 開発者ツールページにあるAPIキーを入力します。
DATAROBOT_API_TOKEN環境変数を使用してAPIキーを指定することもできます。
--endpoint DataRobotパブリックAPIのURLを入力します。 デフォルト値はhttps://app.datarobot.com/api/v2です。
DATAROBOT_ENDPOINT環境変数を使用してパブリックAPIのURLを指定することもできます。
--base-env Streamlitアプリのベースとして使用される実行環境のUUIDまたは名前を入力します。 実行環境には、アプリケーションに必要なライブラリとパッケージが含まれています。 使用可能な環境のリストは、 環境ページのカスタムモデルワークショップで確認できます。
カスタムStreamlitアプリケーションの場合は、--base-env '[DataRobot] Python 3.9 Streamlit'を使用します。
--path カスタムアプリケーションの作成に使用するフォルダーへのパスを入力します。 このフォルダーのファイルはDataRobotにアップロードされ、カスタムアプリケーションイメージの作成に使用されます。 カスタムアプリケーションはこのイメージから開始されます。
現在の作業ディレクトリを使用するには、--path .を使用します。
--image アプリケーションのDockerイメージを含むアーカイブへのパスを入力します。
docker save <image_name> > <file_name>.tarコマンドを使用して、Dockerイメージをファイルに保存できます。
--skip-wait アプリケーション作成リクエストが送信された直後に、アプリケーションのセットアップが完了するまで待たずにスクリプトを終了できるようにします。

logsコマンド

カスタムアプリケーションで生成されたログを返します。 詳細については、drapps logs --helpコマンドを使用してください。

$ drapps logs --help
Usage: drapps logs [OPTIONS] APPLICATION_ID_OR_NAME

  Provides logs for custom application.

Options:
  -t, --token TEXT     Pubic API access token. You can use
                       DATAROBOT_API_TOKEN env instead.
  -E, --endpoint TEXT  DataRobot Public API endpoint. You can use
                       DATAROBOT_ENDPOINT instead. Default:
                       https://app.datarobot.com/api/v2
  -f, --follow         Output append data as new log records appear.
  --help               Show this message and exit. 
引数 説明
APPLICATION_ID_OR_NAME ログを表示するアプリケーションのIDまたは名前を入力します。
--token DataRobotアカウントの 開発者ツールページにあるAPIキーを入力します。
DATAROBOT_API_TOKEN環境変数を使用してAPIキーを指定することもできます。
--endpoint DataRobotパブリックAPIのURLを入力します。 デフォルト値はhttps://app.datarobot.com/api/v2です。
DATAROBOT_ENDPOINT環境変数を使用してパブリックAPIのURLを指定することもできます。
--follow スクリプトを有効にして、表示される新しいログレコードを引き続きチェックします。

lsコマンド

カスタムアプリケーションまたは実行環境のリストを返します。 詳細については、drapps ls --helpコマンドを使用してください。

$ drapps ls --help
Usage: drapps ls [OPTIONS] {apps|envs}

  Provides list of custom applications or execution environments.

Options:
  -t, --token TEXT     Pubic API access token. You can use
                       DATAROBOT_API_TOKEN env instead
  -E, --endpoint TEXT  DataRobot Public API endpoint. You can use
                       DATAROBOT_ENDPOINT instead. Default:
                       https://app.datarobot.com/api/v2
  --id-only            Output only ids
  --help               Show this message and exit. 
引数 説明
--token DataRobotアカウントの 開発者ツールページにあるAPIキーを入力します。
DATAROBOT_API_TOKEN環境変数を使用してAPIキーを指定することもできます。
--endpoint DataRobotパブリックAPIのURLを入力します。 デフォルト値はhttps://app.datarobot.com/api/v2です。
DATAROBOT_ENDPOINT環境変数を使用してパブリックAPIのURLを指定することもできます。
--id-only エンティティのIDのみを表示できるようにします。
このコマンドは、コマンドを終了させるパイピングと一緒に使用すると便利です。

terminateコマンド

カスタムアプリケーションを停止し、アプリケーションリストから削除します。 詳細については、drapps terminate --helpコマンドを使用してください。

$ drapps terminate --help
Usage: drapps terminate [OPTIONS] APPLICATION_ID_OR_NAME...

  Stops custom application and removes it from the list.

Options:
  -t, --token TEXT     Pubic API access token. You can use
                       DATAROBOT_API_TOKEN env instead
  -E, --endpoint TEXT  DataRobot Public API endpoint. You can use
                       DATAROBOT_ENDPOINT instead. Default:
                       https://app.datarobot.com/api/v2.
  --help               Show this message and exit. 
引数 説明
APPLICATION_ID_OR_NAME 削除するアプリケーションのIDまたは名前のスペース区切りリストを入力します。
--token DataRobotアカウントの 開発者ツールページにあるAPIキーを入力します。
DATAROBOT_API_TOKEN環境変数を使用してAPIキーを指定することもできます。
--endpoint DataRobotパブリックAPIのURLを入力します。 デフォルト値はhttps://app.datarobot.com/api/v2です。
DATAROBOT_ENDPOINT環境変数を使用してパブリックAPIのURLを指定することもできます。

サンプルアプリのデプロイ

まず、 dr-appsリポジトリのクローンを作成し、サンプルアプリにアクセスできるようにします。 その後、dr-appsリポジトリのルートから次のコマンドを使用して、Streamlitアプリの例をデプロイできます。

drapps create -t <your_api_token> -e "[Experimental] Python 3.9 Streamlit" -p ./examples/demo-streamlit DemoApp 

この例では、スクリプトは次のように動作します。

  1. 指定した名前またはUUIDで/api/v2/executionEnvironments/エンドポイントを介して実行環境を見つけ、環境がカスタムアプリケーションに使用できるかどうかを確認して、最新の環境バージョンのIDを取得します。

  2. 指定されたアプリケーション名(CustomApp Image)にImageサフィックスを追加した名前のカスタムアプリケーションイメージを、/api/v2/customApplicationImages/エンドポイントを介して検索または作成します。

  3. customApplicationImages/<appImageId>/versionsエンドポイントを介してカスタムアプリケーションイメージの新しいバージョンを作成し、指定したディレクトリからすべてのファイルをアップロードして、最初の手順で定義された実行環境バージョンを設定します。

  4. 前の手順で作成されたカスタムアプリケーションのイメージバージョンで、新しいアプリケーションを開始します。

このスクリプトが正常に実行されると、 アプリケーションタブのアプリへのリンクがターミナルに表示されます。

アプリケーションへのアクセス

アプリケーションにアクセスするには、アプリケーションに関連付けられたDataRobotインスタンスとアカウントにログインする必要があります。

機能に関する注意事項

カスタムアプリを作成するときは、以下の点に注意してください。

  • カスタムアプリケーションのルートディレクトリには、アプリケーションサーバーを起動するためのエントリーポイントとして使用されるstart-app.shファイルが含まれている必要があります。

  • アプリケーションのウェブサーバーは、ポート8080でリッスンする必要があります。

  • 必要なパッケージは、アプリケーションのセットアップ時に自動的にインストールするために、アプリケーションのルートディレクトリにあるrequirements.txtファイル内にリストできます。

  • アプリケーションは、DataRobotの 開発者ツールにあるキーを使用して、DATAROBOT_API_TOKEN環境変数を介してDataRobot APIで認証する必要があります。 PyPiのDataRobotパッケージは、すでにこの方法で認証されています。 この環境変数は、カスタムアプリサービスによって実行中のコンテナに自動的に追加されます。

  • アプリケーションは、DATAROBOT_ENDPOINT環境変数を使用して、現在の環境に対応するDataRobotパブリックAPIのURLにアクセスする必要があります。 PyPiのDataRobotパッケージは、このルートをすでに使用しています。 この環境変数は、カスタムアプリサービスによって実行中のコンテナに自動的に追加されます。


更新しました April 2, 2024