databricks-dabs について
databricks-dabs は、Databricks Declarative Automation Bundles(DABs)を扱うためのエージェントスキルです。Databricks リソースの設定、デプロイ、実行、管理を支援し、検証や App の命名に関する具体的なルールも備えています。
主な機能
- 01Bundle プロジェクトの作成と設定
- 02複数環境のターゲット管理
- 03リソースのデプロイ、実行、監視
- 04リソース権限の設定
- 05検証・デプロイ問題の調査
活用シーン
- 01ジョブやパイプライン用 Bundle の作成
- 02開発・本番ターゲットの設定
- 03Bundle リソースのデプロイと実行
- 04Bundle 設定エラーの解決
インストール
コマンドをコピーしてターミナルで実行します。
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 ファイルを編集するときは、ユーザーのコメントと構造を維持します
- 変数を使用する - マルチ環境に対応するため、カタログ、スキーマ、ウェアハウスをパラメーター化します
- App 名を名前空間化する - App 名はワークスペース全体で一意で、30 文字までに制限されています。Databricks CLI 0.270.0 以降では、共有開発用のデフォルトにアプリと
${workspace.current_user.domain_friendly_name}を含めてください。安定した名前を使用するよう本番環境を上書きし、デフォルトが無効な場合、名前が競合する場合、または 1 つのワークスペース内で複数の非本番ターゲットを区別する必要がある場合は、明示的なローカル値を保持してください。それより古い CLI バージョンでは、明示的なapp_name値を必須とします
必須の App 完了契約
App を作成または変更するバンドルを検証する前に、最終的なバンドル 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 名をすべて検出できるわけではないためです。
ドキュメント
- 宣言型 Automation Bundles
- Bundle Examples Repository - ジョブ、パイプライン、ダッシュボード、アプリなどを含む公式のエンドツーエンドのバンドル例です。上記のリファレンスファイルで扱われていないパターンの実例として利用してください。