apps 命令组

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

    应用的计算大小。 支持的值:LARGEMEDIUM

--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_SYNCSNAPSHOT

--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

    将日志限制为 APPSYSTEM 源。

--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

    应用的计算大小。 支持的值:LARGEMEDIUM

--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 格式

    日志格式类型,textjson。 默认值是 text

--log-level 字符串

    一个表示日志格式级别的字符串。 如果未指定,则禁用日志格式级别。

-o, --output 类型

    命令输出类型为textjson。 默认值是 text

-p, --profile 字符串

     ~/.databrickscfg 文件中用于运行命令的配置文件的名称。 如果未指定此标志,则如果存在,将使用名为 DEFAULT 的配置文件。

--progress-format 格式

    显示进度日志的格式: defaultappendinplacejson

-t, --target 字符串

    如适用,要使用的捆绑包目标