app.yaml
Databricks 应用中的文件定义应用的执行方式。 默认情况下,Azure Databricks 使用命令 python app.py
运行应用。 如果你的应用需要不同的入口点或特定于环境的配置,则可以在项目中包括一个可选 app.yaml
文件来自定义执行行为。
可以使用 .yaml
或 .yml
文件扩展名。 此文件必须位于项目目录的根目录中。
支持的设置
该文件 app.yaml
支持以下设置。
设置 | 类型 | 说明 |
---|---|---|
command |
sequence |
用于运行应用的可选参数集。 如果需要自定义命令来运行应用,请使用此设置。 默认值为 [python, app.py] .由于命令未在 shell 中运行,因此不会将应用配置外部定义的环境变量传递给应用。 如果应用需要其他参数才能运行,请使用结构 env 。此设置是可选的。 |
env |
list |
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'
当你的应用需要生产就绪的 WSGI 服务器(如 Gunicorn)以及它依赖于存储在 Unity 目录卷或其他特定于环境的路径中的数据时,请使用此方法。