用途
databricks-dabs 用于处理与 Declarative Automation Bundles(DABs,原 Databricks Asset Bundles)相关的各类请求,包括通过 DABs 创建、配置、校验、部署、运行和管理 Databricks 资源。
主要能力
该技能覆盖以下请求类型:
- 创建新的 bundle 项目或资源
- 配置 databricks.yml 或资源 YAML 文件
- 设置多环境部署(dev/prod 目标)
- 部署或运行 bundle 资源
- 管理 bundle 资源的权限
- 排查 bundle 校验或部署错误
- 处理特定资源类型(仪表板、作业、管道、告警、卷、应用等)
参考文档
技能附带若干参考文件,针对具体 bundle 任务提供详细指导:
- Bundle Structure:bundle 结构、databricks.yml 配置、资源定义、路径解析、变量与多环境目标
- SDP Pipelines:面向 DABs 的 Spark Declarative Pipeline 配置
- SQL Alerts:SQL Alert 的 schema 与配置(关键:API 与其他资源不同)
- Deploy and Run:校验、部署、运行资源、监控日志,以及常见问题排查
- Resource Permissions:bundle 资源的权限级别与访问控制,按资源类型的级别,以及 grants 与 permissions 的区别
使用方式与通用准则
- 配置变更后始终进行校验:任何改动后运行
bundle validate --strict --target <target> - 使用参考文档:针对详细模式与示例查阅相应参考文件
- 遵循命名约定:资源文件使用
<name>.<resource_type>.yml格式 - 路径解析很关键:路径随文件位置不同而变化(见 Bundle Structure 参考)
- 保留既有结构:编辑 YAML 文件时保留用户注释与结构
- 使用变量:将 catalog、schema 和 warehouse 参数化以支持多环境
App 名称命名空间
App 名称是工作区全局的,且限制为 30 个字符。使用 Databricks CLI 0.270.0 或更高版本时,共享开发默认值应包含 app 与 ${workspace.current_user.domain_friendly_name};生产环境用稳定名称覆盖;当默认值无效、冲突,或需要在一个工作区中区分多个非生产目标时,持久化一个显式的本地值。在更旧的 CLI 版本中,则要求提供显式的 app_name 值。
App 完成契约(必需)
在验证任何创建或更改 App 的 bundle 之前,需重新阅读最终的 bundle YAML 并确认以下全部结构性要求:
- 每个 App 资源使用专用名称变量,例如
name: ${var.app_name},同时保留已有的等价变量。 - 对于 Databricks CLI 0.270.0 或更高版本,每个 App 名称变量默认由可识别的 App 前缀加
${workspace.current_user.domain_friendly_name}组成(用于开发),生产目标用稳定名称覆盖。在更旧的 CLI 版本中,App 名称变量没有默认值,每位开发者必须自行提供值。 - 任何开发环境 App 名称都不得使用
${workspace.current_user.short_name}、裸${bundle.target}或硬编码值。
只有在此检查之后,才运行 databricks bundle validate --strict --target <target> --output json,并检查每个解析后的 resources.apps.<key>.name。每个名称只能包含小写字母、数字和连字符,且不超过 30 个字符。若解析后的名称无效、规范化后冲突,或多个非生产目标共享同一工作区,则在未提交的 .databricks/bundle/<target>/variable-overrides.json 文件中持久化一个更短、更明确的值并重新校验。仅校验成功并不满足该契约,因为校验无法捕捉所有无效或未加命名空间的 App 名称。
适用场景
适用于以声明式方式在 Databricks 上创建和管理数据与自动化资源的工作,包括配置多环境部署、部署运行作业与管道、配置 SQL 告警、管理资源权限及排查部署问题。
限制与说明
资料未提供该技能的安装命令、收费方式、价格、平台支持范围或效果承诺等信息,上述内容暂未提供。