Skip to content

アプリケーションソースの管理

アプリケーションソースには、カスタムアプリケーションを構築できるファイル、依存関係、および環境が含まれます。 アプリケーションページで、アプリケーションソースタブを選択して、カスタムアプリケーションを構築できるすべてのソースを表示します。

特定のアプリケーションのアプリケーションソースを表示するには、アプリケーションのアクションメニューを選択し、ソースに移動をクリックします。

アプリケーションソースの追加

アプリケーションページから新しいアプリケーションソースを作成するには、追加 > 新しいアプリケーションソースをクリックします。

新しいアプリケーションソースが、直ちにページに追加されます。 新しいアプリケーションソースを選択して、設定を開始します。

アプリケーションソースの設定

アプリケーションソースを選択後、その基本環境を選択し、ソースにファイルをアップロードして、ランタイムパラメーターを作成できます。

アプリケーションソースのこれらのコンポーネントのいずれかを編集する場合、ソースの新しいバージョンを作成します。 バージョンドロップダウンから、ソースの任意のバージョンを選択できます。

アプリケーションのバージョンに加えられた変更の履歴を表示するには、左側の列のリストからアプリケーションのバージョンを選択します。 次に、履歴アイコン()の横にある右側の列を展開して、変更履歴を表示します。

環境

カスタムアプリは環境(Dockerコンテナ)内で実行されます。 環境には、カスタムアプリケーションで使用されるパッケージ、言語、およびシステムライブラリが含まれます。 環境ヘッダーの下にあるドロップダウンから、DataRobotが提供するアプリケーションソースの環境を選択します。 DataRobotは[Experimental] Python 3.9 Streamlitという定義済みの基本環境を提供しています。

ファイル

ファイルセクションでは、カスタムアプリケーションソースを構成するファイルを構築できます。 ボックスにファイルをドラッグするか、このセクションのオプションを使用して、カスタムジョブの構築に必要なファイルを作成またはアップロードします。

オプション 説明
ソース/アップロードから選択 既存のカスタムジョブファイル(run.shmetadata.yaml、など)をローカルファイルまたはローカルフォルダーとしてアップロードします。
作成 空のファイルまたはテンプレートを含んだファイルとして新しいファイルを作成し、カスタムジョブに保存します。
  • metadata.yamlを作成:ランタイムパラメーターファイルの基本的で編集可能な例を作成します。
  • README.mdを作成:基本的で編集可能なREADMEファイルを作成します。
  • start-app.shを作成:エントリーポイントファイルの基本的で編集可能な例を作成します。
  • demo-streamlit.pyを作成:基本的で編集可能なPythonファイルを作成します。
  • サンプルジョブを作成:すべてのテンプレートファイルを結合して、基本的で編集可能なアプリケーションを作成します。 簡単にランタイムパラメーターを設定し、このサンプルアプリケーションを実行できます。
  • 空白ファイルを作成:空のファイルを作成します。 名称未設定の横にある編集アイコン()をクリックしてファイル名と拡張子を入力し、カスタムコンテンツを追加します。 次のステップでは、カスタム名とコンテンツを使用して、このように作成されたファイルをエントリーポイントとして識別できます。 新しいファイルを設定したら、保存をクリックします。

空白のテキストファイル作成を選択する場合、ファイルに情報を入力し、完全なパス(そのファイルに属するフォルダおよびファイル拡張子を含む)を使用して名前を付け、保存をクリックします。

アプリスクリプトの構築

アプリケーションソースにrequirements.txtファイルを提供すると、アプリ構築時にPythonの依存関係がインストールされます。 ただし、Python以外の依存関係をインストールすることもできます。 これらの依存関係をインストールするために、アプリケーションソースにbuild-app.shスクリプトを含めることができます。このスクリプトは、初めてアプリケーションを構築するときにDataRobotによって呼び出されます。 build-app.shスクリプトはnpm installまたはyarn buildを実行できるため、カスタムアプリケーションはJavaScriptベースのアプリケーションでの依存関係のインストールに対応できます。 このスクリプトでアプリケーションを構築する際、構築プロセス中にエラーが発生した場合は失敗するように、スクリプトにset -eを含める必要があります。

以下の例は、カスタムノードアプリケーション用のサンプルbuild-app.shスクリプトの概要を示しています。

#!/usr/bin/env sh

# add set -e so if the npm install fails, the build will be marked as failed
set -e

cd client

echo "Installing React dependencies from package.json..."
npm install

echo "Building React app..."
yarn run build && rm ./build/index.html 

リソース

プレビュー

カスタムアプリケーションのリソースバンドルは、デフォルトではオフになっています。 この機能を有効にする方法については、DataRobotの担当者または管理者にお問い合わせください。

機能フラグ:リソースのバンドルを有効にする

アプリケーションソースを作成した後、アプリケーションが消費するリソースを設定して、本番環境での潜在的な環境エラーを最小限に抑えることができます。 DataRobotでは、リソース制限とレプリカ数をカスタマイズできます。 リソースバンドルを編集するには:

  1. アプリケーションソースを選択します。 リソースセクションで () 編集をクリックします。

  2. リソースを更新ダイアログボックスで、次の設定を行います。

    設定 説明
    バンドル ドロップダウンからリソースバンドルを選択し、カスタムアプリケーションに割り当てることができるメモリーとCPUの最大量を決定します。
    レプリカ カスタムアプリケーションの実行時にワークロードのバランスを取るために、並行して実行するレプリカの最大数を設定します。 デフォルト値は 1 で、最大値は4です。
    セッションアフィニティを有効にする 同じレプリカにリクエストを送信します。 たとえば、チャット履歴をドキュメントに保存し、それを参照できるアプリのような、ローカルファイルシステムやメモリーにデータを保存するステートフルなアプリでは、これを有効にする必要があります。 複数のレプリカが使用可能な場合、file_uploaderなどの一部のStreamlitコンポーネントは、この設定を有効にしないとエラーをスローします。
    ルートパスでアプリを内部実行 アプリを/apps/{ID}の代わりに/で実行できるようにします。 アプリが(GunicornやStreamlitを使用するなどして)自動的にパス設定を処理する場合、この設定は必要ありません。 すべてのルートを/apps/{ID}/で動作させるソリューションがないWebフレームワーク(R-Shinyなど)には便利です。
  3. アプリケーションソースのリソース設定が完了したら、保存をクリックします。

ランタイムパラメーター

実行時にカスタムアプリケーションで使用されるスクリプトとタスクにさまざまな値を供給するためのランタイムパラメーターを作成して定義します。

metadata.yamlファイルに含めることで、ランタイムパラメーターをカスタムアプリケーションに追加でき、カスタムアプリケーションの再利用を容易にします。 このファイルのテンプレートは、ファイル > 作成ドロップダウンから使用できます。

ランタイムパラメーターを定義するには、以下のruntimeParameterDefinitionsmetadata.yamlに追加できます。

キー 説明
fieldName ランタイムパラメーターの名前を定義します。
type ランタイムパラメーターに含まれるデータ型(stringbooleannumericcredentialdeployment)を定義します。
defaultValue (オプション)ランタイムパラメーターのデフォルト文字列値(credentialタイプはデフォルト値をサポートしません) defaultValueを指定せずにランタイムパラメーターを定義した場合、デフォルト値はNoneです。
minValue (オプション)numericランタイムパラメーターには、ランタイムパラメーターで使用可能な最小数値を設定します。
maxValue (オプション)numericランタイムパラメーターには、ランタイムパラメーターで使用可能な最大数値を設定します。
credentialType (オプション)credentialランタイムパラメーターの場合、パラメーターに含める資格情報のタイプを設定します。
allowEmpty (オプション)ランタイムパラメーターに空のフィールドポリシーを設定します。
  • True:(デフォルト)空のランタイムパラメーターを許可します。
  • False:デプロイ前にランタイムパラメーターの値を指定するよう徹底します。
description (オプション)ランタイムパラメーターの目的または内容の説明を入力します。
例: metadata.yaml
name: runtime-parameter-example

runtimeParameterDefinitions:
- fieldName: my_first_runtime_parameter
  type: string
  description: My first runtime parameter.

- fieldName: runtime_parameter_with_default_value
  type: string
  defaultValue: Default
  description: A string-type runtime parameter with a default value.

- fieldName: runtime_parameter_boolean
  type: boolean
  defaultValue: true
  description: A boolean-type runtime parameter with a default value of true.

- fieldName: runtime_parameter_numeric
  type: numeric
  defaultValue: 0
  minValue: -100
  maxValue: 100
  description: A boolean-type runtime parameter with a default value of 0, a minimum value of -100, and a maximum value of 100.

- fieldName: runtime_parameter_for_credentials
  type: credential
  allowEmpty: false
  description: A runtime parameter containing a dictionary of credentials. 

credentialランタイムパラメータータイプは、DataRobot REST APIで使用可能な任意のcredentialType値をサポートします。 以下の例に示すように、含まれる資格情報はcredentialTypeに依存します。

備考

サポートされている資格情報タイプの詳細については、 資格情報のAPIリファレンスドキュメントを参照してください。

資格情報タイプ
basic
basic:
  credentialType: basic
  description: string
  name: string
  password: string
  user: string
        
azure
azure:
  credentialType: azure
  description: string
  name: string
  azureConnectionString: string
        
gcp
gcp:
  credentialType: gcp
  description: string
  name: string
  gcpKey: string
        
s3
s3:
credentialType: s3
  description: string
  name: string
  awsAccessKeyId: string
  awsSecretAccessKey: string
  awsSessionToken: string
        
api_token
api_token:
  credentialType: api_token
  apiToken: string
  name: string
        

Codespaceでのアプリケーションソースの変更

Codespaceでアプリケーションソースを開いて管理し、ソースのファイルを直接編集したり、新しいファイルをアップロードしたりできます。

Codespaceでアプリケーションソースを開くには、アプリケーション > アプリケーションのソースページでソースに移動します。 ソースを選択してその内容を表示し、Codespaceで開くをクリックします。

アプリケーションソースがcodespaceで開き、既存のファイルを直接編集したり、新しいファイルをアップロードしたり、 codespaceの機能を使用したりできます。

Codespaceでアプリケーションソースの変更作業が終了したら、保存をクリックします。 アプリケーションソースバージョンは、変更で更新されます。 変更するアプリケーションソースのバージョンを以前にデプロイしている場合、保存すると新しいソースバージョンが作成されます。 それ以外の場合、同じソースバージョンを維持したまま保存します。 保存したくない場合は、キャンセルをクリックします。 それ以外の場合は、続行をクリックします。

Codespaceを保存すると、アプリケーションのソースページに戻り、新しいソースバージョンがバージョンドロップダウンに表示されます。

アプリケーションソースの置換

アプリケーションを使用した後、そのソースを置き換えることができます。 アプリケーションソースを置換すると、元のアプリケーションから以下のものが引き継がれます。

  • アプリケーションコード
  • 基盤となる実行環境
  • レプリカの数
  • ランタイムパラメーターとシークレットのコピー
  • コンテナのサイズ(small、medium、large)

アプリケーションソースを置き換えるには、すべてのアプリケーションタブでアプリケーションを見つけ、アクションメニューを開き、ソースの置換をクリックします。

モーダルで、ドロップダウンからアプリケーションソースを選択して、アプリケーションが現在使用しているものを置き換えます。 各ソースはそのソースバージョンを示します。 検索バーを使用して、アプリケーションソースを指定できます。 置換ソースを選択後、確認をクリックします。

ソースが置換される際、アプリケーションにアクセスできるすべてのユーザーは、置換中に開くボタンが無効になっていても、引き続きアプリケーションを使用できます。