メインコンテンツまでスキップ

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

Databricks アプリの app.yaml ファイルは、アプリの実行方法を定義します。デフォルトでは、Databricks はコマンド python app.pyを使用してアプリを実行します。アプリで別のエントリ ポイントまたは環境固有の構成が必要な場合は、実行動作をカスタマイズするために、オプションの app.yaml ファイルをプロジェクトに含めることができます。

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

サポートされている設定

app.yaml ファイルでは、次の設定がサポートされています。

設定

Type

説明

command

sequence

アプリを実行するためのオプションの引数セット。この設定は、アプリの実行にカスタム コマンドが必要な場合に使用します。デフォルト値は [python, app.py]です。

コマンドはシェルで実行されないため、アプリ構成の外部で定義された環境変数はアプリに渡されません。アプリの実行に追加のパラメーターが必要な場合は、 env 構造体を使います。

この設定はオプションです。

env

list

Databricks は、アプリのランタイム環境にいくつかの デフォルト 環境変数 を自動的に設定します。 この最上位のキーは、アプリに渡す追加の環境変数の省略可能なリストを定義します。各変数は、ハードコードされた値を使用するか、シークレットやデータベースエントリなどの外部ソースを参照できます。

リスト内の有効な項目は次のとおりです。

  • name: 環境変数の名前。
  • これは次のいずれかになります。

この設定はオプションです。

Streamlit アプリの app.yaml

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

YAML
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 Catalog ボリュームへのパスを設定します。

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

このアプローチは、アプリが Gunicorn のような本番運用可能な WSGI サーバーを必要としている場合や、 Unity Catalog ボリュームまたは別の環境固有のパスに保存されたデータに依存している場合に使用します。