で Databricks アプリの実行を構成する app.yaml

Databricks アプリの app.yaml ファイルによって、アプリの実行方法が定義されます。 アプリで別のエントリ ポイントまたは環境固有の構成が必要な場合は、この省略可能なファイルをプロジェクトに含め、既定の動作をオーバーライドできます。

.yamlまたは.ymlファイル拡張子を使用できます。 このファイルは、プロジェクト ディレクトリのルートにある必要があります。

サポートされている設定

app.yaml ファイルは、次の設定をサポートしています。

Setting タイプ Description
command sequence アプリを実行するためにカスタム コマンドが必要な場合は、この設定を使用します。 既定では、Azure Databricks はコマンド python <my-app.py>を使用して Python アプリを実行します。ここで、 <my-app.py> はアプリのファイル構造の最初の .py ファイルです。 アプリに Node.jsが含まれている場合、既定のコマンドは npm run start。 デプロイ ロジックを参照してください。
Azure Databricks はシェルでコマンドを実行しないため、アプリ構成の外部で定義された環境変数はアプリで使用できません。 1 つの例外は DATABRICKS_APP_PORTであり、実行時のコマンドの実際のポート番号に置き換えられます。 アプリで実行するために追加のパラメーターが必要な場合は、 env 構造体を使用します。
この設定は省略可能です。
env list Azure Databricks では、アプリ ランタイム環境に既定の 環境変数 がいくつか自動的に設定されます。 この最上位のキーは、アプリに渡す追加の環境変数の省略可能な一覧を定義します。 各変数は、ハードコーディングされた値を使用することも、シークレットやデータベース エントリなどの外部ソースを参照することもできます。
一覧の有効な項目は次のとおりです。

この設定は省略可能です。

Streamlit アプリの app.yaml 例

次の app.yaml ファイルは、Streamlit アプリを構成する方法を示しています。 カスタム コマンドを使用して streamlit runでアプリを起動し、SQL ウェアハウス ID と使用状況追跡フラグの環境変数を設定します。

command: ['streamlit', 'run', 'app.py']
env:
  - name: 'DATABRICKS_WAREHOUSE_ID'
    value: 'quoz2bvjy8bl7skl'
  - name: 'STREAMLIT_GATHER_USAGE_STATS'
    value: 'false'

アプリが SQL ウェアハウスなどの特定のコンピューティング リソースに依存している場合、または実行時の動作を制御するために特定の環境変数が必要な場合は、次のような設定を使用します。

Flask アプリの app.yaml 例

この例では、Gunicorn サーバーを使用して Flask アプリを構成する方法を示します。 command設定では Gunicorn のスタートアップ パラメーターを指定し、env セクションでは Unity カタログ ボリュームへのパスを環境変数として設定します。

command:
  - gunicorn
  - app:app
  - -w
  - 4
env:
  - name: 'VOLUME_URI'
    value: '/Volumes/catalog-name/schema-name/dir-name'

この方法は、アプリで Gunicorn などの運用対応 WSGI サーバーが必要な場合、および Unity カタログ ボリュームまたは別の環境固有のパスに格納されているデータに依存する場合に使用します。

その他のリソース