Note
Databricks CLI 的使用须遵守 Databricks 许可和 Databricks 隐私声明,包括任何数据使用规定。
apps
CLI 中的命令组允许管理应用。 应用直接在客户的 Databricks 实例上运行,与其数据集成,使用和扩展 Databricks 服务,并使用户能够通过单一登录进行交互。 请参阅 Databricks 应用。
databricks 应用创建
创新一个新应用。
databricks apps create NAME [flags]
Arguments
NAME
应用的名称。 名称必须仅包含小写字母数字字符和连字符。 在工作区中,它必须是唯一的。
选项
--budget-policy-id string
应用程序的预算策略 ID。
--compute-size ComputeSize
应用的计算大小。 支持的值:LARGE、MEDIUM。
--description string
应用的说明。
--json JSON
包含请求正文的内联 JSON 字符串或 @path 到 JSON 文件。
--no-compute
如果为 true,则创建后不会启动应用。
--no-wait
请勿等待进入“活动状态”。
--space string
此应用所属的空间的名称。
--timeout duration
达到活动状态的最大时间(默认为 20m0s)。
--usage-policy-id string
应用的使用情况策略 ID。
Examples
以下示例创建基本应用:
databricks apps create my-analytics-app --description "Analytics dashboard app"
以下示例创建一个应用而不启动它:
databricks apps create my-data-app --description "Data processing app" --no-compute
以下示例创建具有自定义超时的应用:
databricks apps create my-ml-app --description "Machine learning app" --timeout 30m
databricks 应用 create-update
创建应用更新并启动更新过程。 更新过程是异步的,可以使用 GetAppUpdate 方法检查更新的状态。
databricks apps create-update APP_NAME UPDATE_MASK [flags]
Arguments
APP_NAME
应用的名称。
UPDATE_MASK
字段掩码必须是单个字符串,多个字段用逗号分隔(无空格)。 字段路径相对于资源对象,使用点(.)导航子字段(例如,author.given_name)。 不允许对序列或映射字段中的元素进行规范,因为只能指定整个集合字段。 字段名称必须与资源字段名称完全匹配。
* 的字段掩码表示完全替换。 建议始终显式列出要更新的字段,并避免使用 * 通配符,因为如果 API 将来发生更改,可能会导致意外的结果。
选项
--json JSON
包含请求正文的内联 JSON 字符串或 @path 到 JSON 文件。
--no-wait
不等待达到 SUCCEEDED 状态。
--timeout duration
达到 SUCCEEDED 状态的最长持续时间(默认为 20 分钟零 0 秒)。
Examples
以下示例使用特定字段掩码创建应用更新:
databricks apps create-update my-analytics-app "description" --json '{"description": "Updated app description"}'
以下示例创建应用更新,而无需等待完成:
databricks apps create-update my-data-app "budget_policy_id" --json '{"budget_policy_id": "new-policy-123"}' --no-wait
以下示例使用自定义超时创建应用更新:
databricks apps create-update my-ml-app "description,budget_policy_id" --json '{"description": "Updated ML app", "budget_policy_id": "ml-policy-456"}' --timeout 30m
databricks 应用删除
删除应用。
在没有参数的情况下databricks.yml从 Databricks Apps 项目目录(包含NAME)运行时,此命令将销毁项目部署的所有资源。
NAME提供参数或在项目目录中未提供参数时,直接使用 API 删除指定的应用。
databricks apps delete [NAME] [flags]
Arguments
NAME
应用的名称。 当不在项目目录中时是必需的。 在项目目录中提供时,使用 API 删除而不是项目销毁。
选项
--auto-approve
跳过用于删除资源和文件的交互式审批。
--force-lock
强制获取部署锁。
Examples
以下示例删除应用:
databricks apps delete my-analytics-app
以下示例销毁项目目录中的所有项目资源:
databricks apps delete
以下示例使用自动审批销毁项目资源:
databricks apps delete --auto-approve
databricks 应用部署
创建应用部署。
在没有参数的情况下databricks.yml从 Databricks Apps 项目目录(包含APP_NAME)运行时,此命令将运行一个增强的部署管道,用于验证项目、将其部署到工作区并运行应用。
APP_NAME提供参数或在项目目录中未提供参数时,直接使用 API 创建应用部署。
databricks apps deploy [APP_NAME] [flags]
Arguments
APP_NAME
应用的名称。 当不在项目目录中时是必需的。 在项目目录中提供时,使用 API 部署而不是项目部署。
选项
--deployment-id string
部署的唯一 ID。
--force
强制重写 Git 分支验证。
--json JSON
包含请求正文的内联 JSON 字符串或 @path 到 JSON 文件。
--mode AppDeploymentMode
部署将管理源代码的模式。 支持的值:AUTO_SYNC、SNAPSHOT。
--no-wait
不等待达到 SUCCEEDED 状态。
--skip-tests
在验证期间跳过运行测试(默认值为 true)。
--skip-validation
跳过项目验证(生成、typecheck、lint)。
--source-code-path string
用于创建应用部署的源代码的工作区文件系统路径。
--timeout duration
达到 SUCCEEDED 状态的最长持续时间(默认为 20 分钟零 0 秒)。
Examples
以下示例使用自动同步模式创建部署:
databricks apps deploy my-analytics-app --source-code-path /Workspace/Users/someone@example.com/my-app --mode AUTO_SYNC
以下示例使用快照模式创建部署:
databricks apps deploy my-data-app --source-code-path /Workspace/Users/someone@example.com/data-app --mode SNAPSHOT
以下示例使用自定义部署 ID 创建部署:
databricks apps deploy my-ml-app --deployment-id "v1.2.3" --source-code-path /Workspace/Users/someone@example.com/ml-app
databricks 应用获取
获取具有指定名称的应用程序的信息。
databricks apps get NAME [flags]
Arguments
NAME
应用的名称。
选项
Examples
下面的示例获取应用信息:
databricks apps get my-analytics-app
以下示例获取 JSON 格式的应用信息:
databricks apps get my-data-app --output json
以下示例使用特定配置文件获取应用信息:
databricks apps get my-ml-app --profile production
databricks 应用 get-deployment
使用提供的名称和部署 ID 获取应用部署的信息。
databricks apps get-deployment APP_NAME DEPLOYMENT_ID [flags]
Arguments
APP_NAME
应用的名称。
DEPLOYMENT_ID
部署的唯一 ID。
选项
Examples
以下示例获取部署信息:
databricks apps get-deployment my-analytics-app v1.0.0
以下示例获取 JSON 格式的部署信息:
databricks apps get-deployment my-data-app v2.1.0 --output json
以下示例使用特定配置文件获取部署信息:
databricks apps get-deployment my-ml-app latest --profile production
databricks 应用 get-update
获取应用更新的状态。
databricks apps get-update APP_NAME [flags]
Arguments
APP_NAME
应用的名称。
选项
Examples
以下示例获取应用更新的状态:
databricks apps get-update my-analytics-app
以下示例获取 JSON 格式的更新状态:
databricks apps get-update my-data-app --output json
以下示例使用特定配置文件获取更新状态:
databricks apps get-update my-ml-app --profile production
databricks 应用导入
(实验性)将现有的 Databricks 应用作为捆绑包导入。
导入现有的 Databricks 应用并将其转换为捆绑配置。 此命令使用应用配置创建新的捆绑目录,下载应用源代码,将捆绑包绑定到现有应用,并使用直接部署模式部署它。
databricks apps import [flags]
Arguments
None
选项
--cleanup
清理以前的应用文件夹及其所有内容。
--force-import
强制重新导入已导入的应用(仅适用于你拥有的应用)。
--name string
要导入的应用的名称。 如果未指定,则列出所有用于交互式选择的应用。
--output-dir string
要输出捆绑包的目录。 默认为应用名称。
-q, --quiet
禁止显示信息性消息(仅显示错误和提示)。
Examples
以下示例导入应用,创建一个以应用命名的目录:
databricks apps import --name my-streamlit-app
以下示例使用自定义输出目录导入应用:
databricks apps import --name my-app --output-dir ~/my-apps/analytics
以下示例导入应用并清理旧应用文件夹:
databricks apps import --name my-app --cleanup
databricks 应用列表
列出工作区中的所有应用。
databricks apps list [flags]
Arguments
None
选项
--page-size int
返回项目的上限。
--page-token string
用于跳转到下一页应用的分页令牌。
--space string
按应用空间名称筛选应用。
Examples
以下示例列出所有应用:
databricks apps list
以下示例列出了具有特定页面大小的应用:
databricks apps list --page-size 10
以下示例列出具有分页的应用:
databricks apps list --page-token "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
databricks 应用列表部署
列出具有提供名称的应用的所有应用部署。
databricks apps list-deployments APP_NAME [flags]
Arguments
APP_NAME
应用的名称。
选项
--page-size int
返回项目的上限。
--page-token string
用于跳转到下一页应用的分页令牌。
Examples
以下示例列出了应用的所有部署:
databricks apps list-deployments my-analytics-app
以下示例列出以指定页面大小进行的部署:
databricks apps list-deployments my-data-app --page-size 10
databricks 应用日志
使用 Databricks 应用的日志流来传输 stdout/stderr 日志。 默认情况下,此命令将提取最新的日志,直到达到--tail-lines后退出。 服务器端筛选可用于使用 --search ,客户端筛选可用 --source APP|SYSTEM。
databricks apps logs [NAME] [flags]
Arguments
NAME
应用的名称。
选项
-f, --follow
继续流式传输日志,直到取消或达到指定的超时。
--tail-lines int
在流式处理之前要显示的最新日志行数。 将0设置为显示所有内容。 默认值:200
--timeout duration
设置--follow 时,最大流式传输时间。 设置为 0 禁用超时。
--search string
在流式处理之前,将搜索词发送到日志服务。
--source strings
将日志限制为 APP 或 SYSTEM 源。
--output-file string
除了 stdout 之外,用于写入日志的可选文件路径。
Examples
以下示例提取应用的最新日志:
databricks apps logs my-analytics-app
以下示例会连续不断地对日志进行流式传输,直至被中断:
databricks apps logs my-analytics-app --follow
以下示例提取最后 500 行日志:
databricks apps logs my-data-app --tail-lines 500
以下示例流式传输超时为 10 分钟的日志:
databricks apps logs my-ml-app --follow --timeout 10m
以下示例按搜索词筛选日志:
databricks apps logs my-analytics-app --search "error"
以下示例仅将日志限制为应用级输出:
databricks apps logs my-data-app --source APP
以下示例将日志写入 stdout 和文件:
databricks apps logs my-ml-app --output-file /tmp/app-logs.txt
databricks 应用本地运行
在本地启动应用。
databricks apps run-local [flags]
Arguments
None
选项
--app-port int
运行应用(默认为 8000)的端口。
--debug
启用调试模式。
--debug-port string
运行调试器的端口。
--entry-point string
使用配置(.yml 文件)为应用指定自定义入口点。 默认为 app.yml。
--env strings
设置环境变量。
--port int
运行应用代理的端口(默认为 8001)。
--prepare-environment
准备用于运行应用的环境。 需要安装 uv。
Examples
以下示例使用默认设置在本地运行应用:
databricks apps run-local
以下示例在特定端口本地运行应用:
databricks apps run-local --app-port 9000 --port 9001
databricks 应用程序启动
在工作区中启动该应用程序的最近一次活动部署。
databricks apps start [NAME] [flags]
Arguments
NAME
应用的名称。
选项
--no-wait
请勿等待进入“活动状态”。
--timeout duration
达到活动状态的最大时间(默认为 20m0s)。
Examples
以下示例启动应用:
databricks apps start my-analytics-app
以下示例在不等待的情况下启动应用:
databricks apps start my-data-app --no-wait
以下示例启动具有自定义超时的应用:
databricks apps start my-ml-app --timeout 30m
databricks 应用停止运行
停止工作区中应用的活动部署。
databricks apps stop [NAME] [flags]
Arguments
NAME
应用的名称。
选项
--no-wait
不等待达到 STOPPED 状态。
--timeout duration
达到 STOPPED 状态的最大时间(默认为 20m0s)。
Examples
以下示例停止应用:
databricks apps stop my-analytics-app
以下示例在不等待的情况下停止应用:
databricks apps stop my-data-app --no-wait
以下示例停止具有自定义超时的应用:
databricks apps stop my-ml-app --timeout 30m
databricks 应用更新
使用提供的名称来更新应用程序。
databricks apps update NAME [flags]
Arguments
NAME
应用的名称。 名称必须仅包含小写字母数字字符和连字符。 在工作区中,它必须是唯一的。
选项
--budget-policy-id string
应用程序的预算策略 ID。
--compute-size ComputeSize
应用的计算大小。 支持的值:LARGE、MEDIUM。
--description string
应用的说明。
--json JSON
包含请求正文的内联 JSON 字符串或 @path 到 JSON 文件。
--space string
此应用所属的空间的名称。
--usage-policy-id string
应用的使用情况策略 ID。
Examples
以下示例更新应用的说明:
databricks apps update my-analytics-app --description "Updated analytics dashboard"
Databricks 应用程序 获取权限级别
获取应用权限级别。
databricks apps get-permission-levels APP_NAME [flags]
Arguments
APP_NAME
获取或管理权限的应用程序。
选项
Examples
以下示例获取应用的权限级别:
databricks apps get-permission-levels my-analytics-app
databricks 应用 获取权限
获取应用的权限。 应用可以从其根对象继承权限。
databricks apps get-permissions APP_NAME [flags]
Arguments
APP_NAME
获取或管理权限的应用程序。
选项
Examples
以下示例获取应用的权限:
databricks apps get-permissions my-analytics-app
以下示例使用特定配置文件获取权限:
databricks apps get-permissions my-ml-app --profile production
databricks 应用设置权限
设置应用权限。
设置对象的权限,替换现有权限(如果存在)。 如果未指定任何权限,则删除所有直接权限。 对象可以从其根对象继承权限。
databricks apps set-permissions APP_NAME [flags]
Arguments
APP_NAME
获取或管理权限的应用程序。
选项
--json JSON
包含请求正文的内联 JSON 字符串或 @path 到 JSON 文件。
Examples
以下示例使用 JSON 配置设置权限:
databricks apps set-permissions my-analytics-app --json '{"access_control_list": [{"user_name": "someone@example.com", "permission_level": "CAN_USE"}]}'
databricks 应用程序更新权限
更新对应用的权限。 应用可以从其根对象继承权限。
databricks apps update-permissions APP_NAME [flags]
Arguments
APP_NAME
获取或管理权限的应用程序。
选项
--json JSON
包含请求正文的内联 JSON 字符串或 @path 到 JSON 文件。
Examples
以下示例使用 JSON 配置更新权限:
databricks apps update-permissions my-analytics-app --json '{"access_control_list": [{"user_name": "someone@example.com", "permission_level": "CAN_MANAGE"}]}'
全局标志
--debug
是否启用调试日志记录。
-h 或 --help
显示 Databricks CLI、相关命令组或相关命令的帮助。
--log-file 字符串
一个字符串,表示要将输出日志写入到的文件。 如果未指定此标志,则默认会将输出日志写入到 stderr。
--log-format 格式
日志格式类型,text 或 json。 默认值是 text。
--log-level 字符串
一个表示日志格式级别的字符串。 如果未指定,则禁用日志格式级别。
-o, --output 类型
命令输出类型为text或json。 默认值是 text。
-p, --profile 字符串
~/.databrickscfg 文件中用于运行命令的配置文件的名称。 如果未指定此标志,则如果存在,将使用名为 DEFAULT 的配置文件。
--progress-format 格式
显示进度日志的格式: default、 append、 inplace或 json
-t, --target 字符串
如适用,要使用的捆绑包目标