mcpField
D
databricks-dabs

databricks-dabs

github.com/databricksクラウド・DevOps373903 回インストール今日更新
リポジトリ

databricks-dabs について

databricks-dabs は、Databricks Declarative Automation Bundles(DABs)を扱うためのエージェントスキルです。Databricks リソースの設定、デプロイ、実行、管理を支援し、検証や App の命名に関する具体的なルールも備えています。

主な機能

  1. 01Bundle プロジェクトの作成と設定
  2. 02複数環境のターゲット管理
  3. 03リソースのデプロイ、実行、監視
  4. 04リソース権限の設定
  5. 05検証・デプロイ問題の調査

活用シーン

  1. 01ジョブやパイプライン用 Bundle の作成
  2. 02開発・本番ターゲットの設定
  3. 03Bundle リソースのデプロイと実行
  4. 04Bundle 設定エラーの解決

インストール

コマンドをコピーしてターミナルで実行します。

$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. 変数を使用する - マルチ環境に対応するため、カタログ、スキーマ、ウェアハウスをパラメーター化します
  7. 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 - ジョブ、パイプライン、ダッシュボード、アプリなどを含む公式のエンドツーエンドのバンドル例です。上記のリファレンスファイルで扱われていないパターンの実例として利用してください。

コメント