关于 databricks-dabs
databricks-dabs 是用于 Databricks Declarative Automation Bundles(DABs)的 Agent Skill,面向创建和管理 Databricks 资源的用户。它涵盖配置、部署、运行、权限及故障排查,并提供针对 App 命名和验证的具体约束。
主要功能
- 01创建和配置 bundle 项目
- 02管理多环境部署目标
- 03部署、运行及监控资源
- 04配置资源权限
- 05排查验证与部署问题
适用场景
- 01为作业或管道创建 bundle
- 02设置开发与生产环境
- 03部署并运行 bundle 资源
- 04排查 bundle 配置错误
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ databricks/ databricks-agent-skills --skill databricks-dabs安装后在 Claude Code 中输入/databricks-dabs确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlassets/databricks.svgreferences/alerts.mdbundle-structure.mddeploy-and-run.mdresource-permissions.mdsdp-pipelines.md详细介绍
声明式自动化包(DAB)
对于任何与包相关的请求,包括通过 DAB 创建、配置、验证、部署、运行和管理 Databricks 资源,请使用此技能。
参考文档
以下参考文件针对特定的包任务提供了详细指导:
- 包结构 - 包结构、databricks.yml 配置、资源定义、路径解析、变量和多环境目标
- SDP 管道 - DAB 的 Spark Declarative Pipeline 配置
- SQL 警报 - SQL 警报架构和配置(关键:其 API 与其他资源不同)
- 部署和运行 - 验证、部署、运行资源、监控日志,以及常见问题排查
- 资源权限 - 包资源的权限级别和访问控制、各资源类型的权限级别,以及授权与权限的区别
何时使用此技能
遇到以下请求时,请加载此技能:
- 创建新的包项目或资源
- 配置 databricks.yml 或资源 YAML 文件
- 设置多环境部署(dev/prod 目标)
- 部署或运行包资源
- 管理包资源的权限
- 排查包验证或部署错误
- 使用特定资源类型(仪表板、作业、管道、警报、卷、应用)
一般准则
- 配置更改后务必验证 - 每次更改后使用
bundle validate --strict --target <target> - 使用参考文档 - 查阅相应的参考文件,了解详细模式和示例
- 遵循命名约定 - 资源文件应采用
<name>.<resource_type>.yml格式 - 路径解析至关重要 - 路径会因文件所在位置而异(请参阅包结构参考文档)
- 保留现有结构 - 编辑 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 名称。
文档
- 声明式自动化 Bundle
- Bundle 示例仓库 - 官方端到端示例 bundle(作业、管道、仪表板、应用等);可作为上述参考文件未涵盖的模式的实践参考
评论
支持 Markdown