mcpField
D
databricks-dabs

databricks-dabs

github.com/databricks云与 DevOps373903 次安装今天更新
代码仓库

关于 databricks-dabs

databricks-dabs 是用于 Databricks Declarative Automation Bundles(DABs)的 Agent Skill,面向创建和管理 Databricks 资源的用户。它涵盖配置、部署、运行、权限及故障排查,并提供针对 App 命名和验证的具体约束。

主要功能

  1. 01创建和配置 bundle 项目
  2. 02管理多环境部署目标
  3. 03部署、运行及监控资源
  4. 04配置资源权限
  5. 05排查验证与部署问题

适用场景

  1. 01为作业或管道创建 bundle
  2. 02设置开发与生产环境
  3. 03部署并运行 bundle 资源
  4. 04排查 bundle 配置错误

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/databricks/databricks-agent-skills --skill databricks-dabs

安装后在 Claude Code 中输入/databricks-dabs确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
assets/
databricks.svg
references/
alerts.md
bundle-structure.md
deploy-and-run.md
resource-permissions.md
sdp-pipelines.md

详细介绍

声明式自动化包(DAB)

对于任何与包相关的请求,包括通过 DAB 创建、配置、验证、部署、运行和管理 Databricks 资源,请使用此技能。

参考文档

以下参考文件针对特定的包任务提供了详细指导:

  • 包结构 - 包结构、databricks.yml 配置、资源定义、路径解析、变量和多环境目标
  • SDP 管道 - DAB 的 Spark Declarative Pipeline 配置
  • SQL 警报 - SQL 警报架构和配置(关键:其 API 与其他资源不同)
  • 部署和运行 - 验证、部署、运行资源、监控日志,以及常见问题排查
  • 资源权限 - 包资源的权限级别和访问控制、各资源类型的权限级别,以及授权与权限的区别

何时使用此技能

遇到以下请求时,请加载此技能:

  • 创建新的包项目或资源
  • 配置 databricks.yml 或资源 YAML 文件
  • 设置多环境部署(dev/prod 目标)
  • 部署或运行包资源
  • 管理包资源的权限
  • 排查包验证或部署错误
  • 使用特定资源类型(仪表板、作业、管道、警报、卷、应用)

一般准则

  1. 配置更改后务必验证 - 每次更改后使用 bundle validate --strict --target <target>
  2. 使用参考文档 - 查阅相应的参考文件,了解详细模式和示例
  3. 遵循命名约定 - 资源文件应采用 <name>.<resource_type>.yml 格式
  4. 路径解析至关重要 - 路径会因文件所在位置而异(请参阅包结构参考文档)
  5. 保留现有结构 - 编辑 YAML 文件时,保留用户注释和结构
  6. 使用变量 - 对 catalog、schema 和 warehouse 进行参数化,以支持多环境
  7. 为 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 名称。

文档

评论

支持 Markdown