Databricks アプリの実行を構成する app.yaml
Databricks アプリのapp.yamlファイルは、アプリの実行方法を定義します。アプリに別のエントリ ポイントまたは環境固有の構成が必要な場合は、このオプションのファイルをプロジェクトに含めて、デフォルトの動作をオーバーライドできます。
.yamlまたは.ymlファイル拡張子を使用できます。このファイルは、プロジェクトディレクトリのルートに配置する必要があります。
サポートされている設定
app.yaml ファイルでは、次の設定がサポートされています。
設定 | Type | 説明 |
|---|---|---|
|
| この設定は、アプリの実行にカスタム コマンドが必要な場合に使用します。デフォルトでは、Databricks はコマンド Databricksはコマンドをシェルで実行しないため、アプリ構成の外で定義された環境変数はアプリから利用できません。1 つの例外は この設定はオプションです。 |
|
| Databricks は、アプリのランタイム環境にいくつかの デフォルト 環境変数 を自動的に設定します。 この最上位のキーは、アプリに渡す追加の環境変数の省略可能なリストを定義します。各変数は、ハードコードされた値を使用するか、シークレットやデータベースエントリなどの外部ソースを参照できます。 リスト内の有効な項目は次のとおりです。
この設定はオプションです。 |
Streamlit アプリの例app.yaml
次の app.yaml ファイルは、Streamlitアプリの設定方法を示しています。カスタムコマンドを使用して streamlit run でアプリを起動し、アプリリソースからSQL Warehouse IDを読み取り、使用状況追跡フラグを設定します。valueFrom フィールドには、キー sql-warehouse を持つSQLウェアハウスリソースが必要です。Databricks アプリに SQL ウェアハウス リソースを追加するを参照してください。
command: ['streamlit', 'run', 'app.py']
env:
- name: 'DATABRICKS_WAREHOUSE_ID'
valueFrom: 'sql-warehouse'
- name: 'STREAMLIT_GATHER_USAGE_STATS'
value: 'false'
アプリが特定のコンピュート リソース ( SQLウェアハウスなど) に依存している場合、またはランタイムの動作を制御するために特定の環境変数が必要な場合は、このようなセットアップを使用します。
Flaskアプリの例app.yaml
この例では、Gunicorn サーバーを使用して Flask アプリを構成する方法を示します。command 設定では Gunicorn のスタートアップ パラメーターを指定し、env セクションでは環境変数として Unity Catalog ボリュームへのパスを設定します。
command:
- gunicorn
- app:app
- -w
- 4
env:
- name: 'VOLUME_URI'
value: '/Volumes/catalog-name/schema-name/dir-name'
このアプローチは、アプリが Gunicorn のような本番運用可能な WSGI サーバーを必要としている場合や、 Unity Catalog ボリュームまたは別の環境固有のパスに保存されたデータに依存している場合に使用します。