次の方法で共有


構成のリファレンス

この記事では、Databricks Asset Bundles 構成 (YAML) でサポートされるキーのリファレンスを提供します。 「Databricks アセット バンドルとは」を参照してください。

バンドルの完全な例については、バンドル構成の例 と、バンドルの例の GitHub リポジトリを参照してください。

artifacts

Type: Map

バンドルのデプロイ中に自動的にビルドする成果物を指定します。これは、バンドルの実行で後で使用できます。 各キーは成果物の名前であり、値は成果物のビルド設定を定義する Map です。

ヒント

ターゲット設定でオーバーライドする方法に従って、バンドル内の成果物に対する設定を定義、結合およびオーバーライドできます。

Databricks CLI バージョン 0.229.0 で追加されました

artifacts:
  <artifact-name>:
    <artifact-field-name>: <artifact-field-value>
キー タイプ 説明
build 文字列 デプロイ前にローカルで実行するビルド コマンドのオプション セット。 Python ホイール ビルドの場合、Databricks CLI は、ビルドを実行する Python wheel パッケージのローカル インストールを検出できると想定して、各バンドルのデプロイ中に既定でコマンド python setup.py bdist_wheel を実行します。 複数のビルド コマンドを別々の行に指定します。
Databricks CLI バージョン 0.229.0 で追加されました
dynamic_version ブール値 whl ファイルのタイムスタンプに基づいてホイール バージョンに動的にパッチを適用するかどうかを指定します。 これが true に設定されている場合は、 setup.py または pyproject.tomlでバージョンを更新しなくても、新しいコードをデプロイできます。 この設定は、 typewhl に設定されている場合にのみ有効です。
Databricks CLI バージョン 0.245.0 で追加されました
executable 文字列 実行可能ファイルの種類。 有効な値は bashshcmd です。
Databricks CLI バージョン 0.229.0 で追加されました
files シーケンス ビルドされた成果物ファイルへの相対パスまたは絶対パス。 アーティファクト.name.filesをご参照ください。
Databricks CLI バージョン 0.229.0 で追加されました
path 文字列 成果物のディレクトリのローカル パス。 パスは、バンドル構成ファイルの場所に対する相対パスです。 Python ホイール ビルドの場合、これは Python wheel ファイルの setup.py ファイルへのパスです。 pathが含まれていない場合、Databricks CLI は、バンドルのルートで Python ホイール ファイルのsetup.py ファイルの検索を試みます。
Databricks CLI バージョン 0.229.0 で追加されました
type 文字列 アーティファクトが Python ホイールの場合は必須。 成果物の種類。 有効な値は whljar です。 この設定は、他の成果物をビルドするために指定する必要はありません。
Databricks CLI バージョン 0.229.0 で追加されました

例示

次の構成では、詩を使用して Python ホイールを構築します。

artifacts:
  default:
    type: whl
    build: poetry build
    path: .

次の構成では、テストを実行し、ホイールを構築します。 artifactsを使用してホイールを構築する完全なバンドル チュートリアルについては、「Databricks Asset Bundles を使用して Python ホイール ファイルをビルドする」を参照してください。

artifacts:
  default:
    type: whl
    build: |-
      # run tests
      python -m pytest tests/ -v

      # build the actual artifact
      python setup.py bdist_wheel

    path: .

JAR をビルドして Unity カタログにアップロードする構成例については、JAR ファイルを Unity カタログ にアップロードするバンドルを参照してください。

成果 物。name.files

Type: Sequence

ビルドされた成果物ファイルへの相対パスまたは絶対パス。 sourceを使用して、ビルドされた成果物を指定します。 パスは、バンドル構成ファイルの場所に対する相対パスです。

Databricks CLI バージョン 0.229.0 で追加されました

キー タイプ 説明
source 文字列 必須。 成果物ソース ファイル。
Databricks CLI バージョン 0.229.0 で追加されました

バンドル

Type: Map

このターゲットにデプロイするときのバンドル属性。

バンドル構成ファイルには、最上位レベルの bundle マッピングが 1 つだけ含まれている必要があります。

この bundle マッピングには、バンドルにプログラム (または論理) 名を指定する name マッピングが含まれている必要があります。 次の例では、プログラム (または論理) 名 hello-bundle を使用してバンドルを宣言します。

bundle:
  name: hello-bundle

bundle マッピングは、最上位レベルの targets マッピング内の 1 つまたは複数のターゲットの子にすることもできます。 これらの各子 bundle マッピングでは、ターゲット レベルで既定以外のオーバーライドが指定されます。

Databricks CLI バージョン 0.229.0 で追加されました

キー タイプ 説明
cluster_id 文字列 バンドルの実行に使用するクラスターの ID。 このキーを使用すると、バンドル構成ファイル内の別の場所で定義されているクラスターのオーバーライドとして使用するクラスターの ID を指定できます。 クラスターの ID を取得する方法については、「 コンピューティング リソースの URL と ID」を参照してください。
cluster_id オーバーライドは開発専用のシナリオを対象としており、mode マッピングが development に設定されているターゲットでのみサポートされます。 target マッピングの詳細については、「targets」を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
compute_id 文字列 非推奨になりました。 バンドルの実行に使用するコンピューティングの ID。
Databricks CLI バージョン 0.229.0 で追加されました
databricks_cli_version 文字列 バンドルに使用する Databricks CLI バージョン。 bundle.databricks_cli_versionを参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
deployment マップ バンドルデプロイの定義。 サポートされている属性については、「 Databricks Asset Bundle デプロイ モード」を参照してください。 bundle.deployment を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
git マップ バンドルに関連付けられている Git バージョン コントロールの詳細。 サポートされている属性については、git を参照 してください
Databricks CLI バージョン 0.229.0 で追加されました
name 文字列 バンドル名前。
Databricks CLI バージョン 0.229.0 で追加されました
uuid 文字列 予約済み。 Databricks の内部システムでバンドルを一意に識別するためのユニバーサルユニーク識別子 (UUID)。 これは、バンドル プロジェクトが Databricks テンプレートを使用して初期化されるときに生成されます (databricks bundle init コマンドを使用)。
Databricks CLI バージョン 0.236.0 で追加されました

bundle.databricks_cli_version

bundle マッピングには、バンドルで必要な Databricks CLI バージョンを制約する databricks_cli_version マッピングを含めることができます。 これにより、特定のバージョンの Databricks CLI でサポートされていないマッピングを使用することによって発生する問題を回避できます。

Databricks CLI のバージョンは、セマンティック バージョン管理に準拠しており、databricks_cli_version マッピングでは、バージョン制約を指定できます。 現在の databricks --version 値がバンドルの databricks_cli_version マッピングで指定された境界内にない場合は、バンドルで databricks bundle validate が実行されるときにエラーが発生します。 次の例では、いくつかの一般的なバージョン制約構文を示します:

bundle:
  name: hello-bundle
  databricks_cli_version: '0.218.0' # require Databricks CLI 0.218.0
bundle:
  name: hello-bundle
  databricks_cli_version: '0.218.*' # allow all patch versions of Databricks CLI 0.218
bundle:
  name: my-bundle
  databricks_cli_version: '>= 0.218.0' # allow any version of Databricks CLI 0.218.0 or higher
bundle:
  name: my-bundle
  databricks_cli_version: '>= 0.218.0, <= 1.0.0' # allow any Databricks CLI version between 0.218.0 and 1.0.0, inclusive

bundle.deployment

Type: Map

バンドル展開の定義

Databricks CLI バージョン 0.229.0 で追加されました

キー タイプ 説明
fail_on_active_runs ブール値 アクティブな実行で失敗するかどうか。 これが true に設定されている場合、実行中のデプロイが中断される可能性があります。
Databricks CLI バージョン 0.229.0 で追加されました
lock マップ デプロイメントロックの属性。 bundle.deployment.lock を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました

bundle.deployment.lock

Type: Map

デプロイメントロックの属性。

Databricks CLI バージョン 0.229.0 で追加されました

キー タイプ 説明
enabled ブール値 このロックが有効かどうか。
Databricks CLI バージョン 0.229.0 で追加されました
force ブール値 有効になっている場合に、このロックを強制するかどうかを指定します。
Databricks CLI バージョン 0.229.0 で追加されました

試験段階

Type: Map

試験段階の特徴の属性を定義します。

Databricks CLI バージョン 0.229.0 で追加されました

キー タイプ 説明
python マップ 非推奨になりました。 代わりに、最上位レベルの Python マッピングを使用してください。
Databricks CLI バージョン 0.238.0 で追加されました
python_wheel_wrapper ブール値 Python ホイール ラッパーを使用するかどうか。
Databricks CLI バージョン 0.229.0 で追加されました
scripts マップ 実行するコマンド。
Databricks CLI バージョン 0.229.0 で追加されました
skip_artifact_cleanup ブール値 .internal内のworkspace.artifact_path フォルダーの削除をスキップするかどうかを決定します。 既定では、デプロイ時に新しいビルド成果物 (Python ホイールなど) をアップロードする前に、このフォルダーが削除されます。 デプロイ間で既存の成果物を保持するには、 true に設定します。
Databricks CLI バージョン 0.254.0 で追加されました
skip_name_prefix_for_schema ブール値 バンドルで定義されている Unity カタログ スキーマの名前にプレフィックス ( presets.name_prefix で設定するか、 mode: development時に計算) をスキップするか。
Databricks CLI バージョン 0.255.0 で追加されました
use_legacy_run_as ブール値 従来のrun_as動作を使用するかどうか。
Databricks CLI バージョン 0.229.0 で追加されました

include

Type: Sequence

バンドル内に含める構成ファイルを含むパス glob のリストを指定します。 これらのパス glob は、パス glob が指定されているバンドル構成ファイルの場所に対する相対パスです。 databricks.ymlとは別に、include配列を使用して、バンドル内に含めるすべての構成ファイルを指定する必要があります。

ヒント

バンドル内の他のファイルを含めるか除外するには、 include と exclude を使用します。

この include 配列は、最上位レベルのマッピングとしてのみ表示できます。

Databricks CLI バージョン 0.229.0 で追加されました

構成の次の例には、3 つの構成ファイルが含まれています。 これらのファイルは、バンドル構成ファイルと同じフォルダーにあります。

include:
  - 'bundle.artifacts.yml'
  - 'bundle.resources.yml'
  - 'bundle.targets.yml'

構成の次の例には、bundle で始まり、.yml で終わるファイル名を持つすべてのファイルが含まれています。 これらのファイルは、バンドル構成ファイルと同じフォルダーにあります。

include:
  - 'bundle*.yml'

アクセス許可

Type: Sequence

バンドルで定義されているリソースに適用するアクセス許可を定義します。シーケンス内の各項目は、特定のエンティティに対するアクセス許可です。 Databricks アセット バンドルのリソースのアクセス許可を設定するを参照してください。

指定できる最上位のアクセス許可レベルは、CAN_VIEWCAN_MANAGECAN_RUN です。

特定のリソースにアクセス許可を適用する場合は、「特定のリソースのアクセス許可を定義する」を参照してください。

Databricks CLI バージョン 0.229.0 で追加されました

キー タイプ 説明
group_name 文字列 レベルにアクセス許可が設定されているグループの名前。
Databricks CLI バージョン 0.229.0 で追加されました
level 文字列 このアクセス許可に対して定義されているユーザー、グループ、サービス プリンシパルで許可されているアクセス許可。 このキーの有効な値は、アクセス許可がバンドルの最上位レベルで定義されているか、特定のリソースに対して定義されているかによって異なります。 Databricks アセット バンドルのリソースのアクセス許可を設定するを参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
service_principal_name 文字列 レベルで設定されたアクセス許可を持つサービス プリンシパルの名前。
Databricks CLI バージョン 0.229.0 で追加されました
user_name 文字列 レベルで設定されたアクセス許可を持つユーザーの名前。
Databricks CLI バージョン 0.229.0 で追加されました

次の構成例では、ユーザー、グループ、およびサービス プリンシパルのアクセス許可レベルを定義します。このレベルは、バンドル内の resources で定義されているすべてのリソースに適用されます。

permissions:
  - level: CAN_VIEW
    group_name: test-group
  - level: CAN_MANAGE
    user_name: someone@example.com
  - level: CAN_RUN
    service_principal_name: 123456-abcdef

プリセット

Type: Map

バンドルデプロイプリセットを定義します。 詳細については、「 カスタム プリセット」を参照してください。

プリセットに例外が指定されていない限り、 modepresets の両方が設定されている場合、プリセットは既定のモード動作をオーバーライドし、個々のリソースの設定はプリセットをオーバーライドします。

Databricks CLI バージョン 0.229.0 で追加されました

Preset 説明
artifacts_dynamic_version デプロイ中に whl 成果物のバージョンを動的に更新するかどうか。 有効な値は true または falseです。 最上位レベル のartifacts.dynamic_version構成設定 を指定すると、このプリセットがオーバーライドされます。
Databricks CLI バージョン 0.256.0 で追加されました
jobs_max_concurrent_runs ジョブの同時実行の最大許容数。
Databricks CLI バージョン 0.229.0 で追加されました
name_prefix リソース名の先頭に付加するプレフィックス文字列。
Databricks CLI バージョン 0.229.0 で追加されました
pipelines_development パイプラインデプロイを開発モードでロックする必要があるかどうか。 有効な値は true または falseです。
Databricks CLI バージョン 0.229.0 で追加されました
source_linked_deployment デプロイ中に作成されたリソースが、ワークスペースのコピーではなく、ワークスペース内のソース ファイルをポイントするかどうか。
Databricks CLI バージョン 0.236.0 で追加されました
tags ジョブとテストを含む、タグをサポートするすべてのリソースに適用されるキーと値のタグのセット。 Databricks アセット バンドルは、 schema リソースのタグをサポートしていません。
Databricks CLI バージョン 0.229.0 で追加されました
trigger_pause_status すべてのトリガーとスケジュールに適用する一時停止状態。 有効な値は PAUSED または UNPAUSEDです。
modedevelopment に設定されている場合、trigger_pause_statusは常にPAUSED
Databricks CLI バージョン 0.229.0 で追加されました

Python

Type: Map

databricks-bundles パッケージで定義された Python コードの読み込みを構成します。 詳細については、「 Python でのバンドル構成」を参照してください。

Databricks CLI バージョン 0.275.0 の experimental から移動

キー タイプ 説明
mutators シーケンス ミューテーターには、ミューテーター関数への完全修飾関数パスの一覧 ( [my_project.mutators:add_default_cluster]など) が含まれています。
Databricks CLI バージョン 0.238.0 で追加されました
resources シーケンス リソースには、Python コードで定義されているリソースを読み込むための完全修飾関数パスの一覧が含まれています。次に例を示します。 ["my_project.resources:load_resources"]
Databricks CLI バージョン 0.238.0 で追加されました
venv_path 文字列 仮想環境へのパス。 有効にした場合、Python コードはこの環境内で実行されます。 無効にした場合、既定では現在のシェルで使用可能な Python インタープリターが使用されます。
Databricks CLI バージョン 0.238.0 で追加されました

リソース

Type: Map

バンドルのリソースを定義します。各キーはリソースの名前で、値はリソースを定義する Map です。 Databricks アセット バンドルでサポートされているリソースとリソース定義のリファレンスの詳細については、「Databricks Asset Bundles リソースを参照してください。

resourcesマッピングは、最上位レベルのマッピングとして表示できます。または、最上位レベルのターゲット マッピング内の 1 つ以上のターゲットの子にすることができ、サポートされているリソースの種類が 0 個または 1 つ含まれます。 各リソースの種類マッピングには 1 つ以上の個別のリソース宣言が含まれており、それぞれに一意の名前が必要です。 これらの個々のリソース宣言では、対応するオブジェクトの作成操作の要求ペイロード (YAML で表される) を使用してリソースを定義します。 リソースでサポートされているプロパティは、対応するオブジェクトのサポートされるフィールドです。

Create 操作要求ペイロードについては、「Databricks REST API リファレンス」で説明されています。databricks bundle schema コマンドはすべてのサポートされているオブジェクト スキーマを出力します。 さらに、バンドル構成ファイルで不明なリソース プロパティが見つかった場合、databricks bundle validate コマンドが警告を返します。

バンドル内でサポートされているリソースの詳細と、一般的な構成および例については「Databricks Asset Bundles リソース」および「バンドル構成の例」を参照してください。

Databricks CLI バージョン 0.229.0 で追加されました

resources:
  <resource-type>:
    <resource-name>:
      <resource-field-name>: <resource-field-value>
キー タイプ 説明
alerts マップ バンドルのアラート (v2) 定義。各キーはアラートの名前です。 アラートを参照してください。
Databricks CLI バージョン 0.279.0 で追加されました
apps マップ バンドルの Databricks アプリ定義。各キーはアプリの名前です。 アプリを参照してください。
Databricks CLI バージョン 0.239.0 で追加されました
catalogs マップ バンドルのカタログ (Unity カタログ) 定義。各キーはカタログの名前です。 カタログを参照してください
Databricks CLI バージョン 0.287.0 で追加されました
clusters マップ バンドルのクラスター定義。各キーはクラスターの名前です。 「 クラスター」を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
dashboards マップ バンドルのダッシュボード定義。各キーはダッシュボードの名前です。 ダッシュボード を参照してください。
Databricks CLI バージョン 0.232.0 で追加されました
database_catalogs マップ バンドルのデータベース カタログ定義。各キーはデータベース カタログの名前です。 database_catalogを参照してください。
Databricks CLI バージョン 0.265.0 で追加されました
database_instances マップ バンドルのデータベース インスタンス定義。各キーはデータベース インスタンスの名前です。 database_instanceを参照してください。
Databricks CLI バージョン 0.265.0 で追加されました
experiments マップ バンドルの実験定義。各キーは実験の名前です。 実験を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
jobs マップ バンドルのジョブ定義。各キーはジョブの名前です。 ジョブを参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
model_serving_endpoints マップ バンドルのエンドポイント定義を提供するモデル。各キーは、エンドポイントを提供するモデルの名前です。 model_serving_endpointを参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
models マップ バンドルのモデル定義。各キーはモデルの名前です。 モデル (レガシ) を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
pipelines マップ バンドルのパイプライン定義。各キーはパイプラインの名前です。 パイプラインを参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
postgres_branches マップ バンドルの Postgres ブランチ定義。各キーは Lakebase ブランチの名前です。 postgres_branchを参照してください。
Databricks CLI バージョン 0.287.0 で追加されました
postgres_endpoints マップ バンドルの Postgres エンドポイント定義。各キーは Lakebase コンピューティング エンドポイントの名前です。 postgres_endpointを参照してください。
Databricks CLI バージョン 0.287.0 で追加されました
postgres_projects マップ バンドルの Postgres プロジェクト定義。各キーは Lakebase プロジェクトの名前です。 postgres_projectを参照してください。
Databricks CLI バージョン 0.287.0 で追加されました
quality_monitors マップ バンドルの品質モニター定義。各キーは品質モニターの名前です。 quality_monitor (Unity カタログ) を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
registered_models マップ バンドルの登録済みモデル定義。各キーは Unity カタログ登録済みモデルの名前です。 registered_model (Unity カタログ) を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
schemas マップ バンドルのスキーマ定義。各キーはスキーマの名前です。 スキーマ (Unity カタログ) を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
secret_scopes マップ バンドルのシークレット スコープ定義。各キーはシークレット スコープの名前です。 secret_scopeを参照してください。
Databricks CLI バージョン 0.252.0 で追加されました
sql_warehouses マップ バンドルの SQL ウェアハウス定義。各キーは SQL ウェアハウスの名前です。 sql_warehouseを参照してください。
Databricks CLI バージョン 0.260.0 で追加されました
synced_database_tables マップ バンドルの同期されたデータベース テーブル定義。各キーはデータベース テーブルの名前です。 「synced_database_table」を参照してください。
Databricks CLI バージョン 0.266.0 で追加されました
volumes マップ バンドルのボリューム定義。各キーはボリュームの名前です。 ボリューム (Unity カタログ) を参照してください。
Databricks CLI バージョン 0.236.0 で追加されました

次の構成例では、ジョブ リソースを定義します。

resources:
  jobs:
    hello-job:
      name: hello-job
      tasks:
        - task_key: hello-task
          existing_cluster_id: 1234-567890-abcde123
          notebook_task:
            notebook_path: ./hello.py

run_as

Type: Map

Databricks Asset Bundles ワークフローの実行に使用する ID (user_name または service_principal_name)。 バンドル ジョブまたはパイプラインのデプロイに使用される ID と、ジョブまたはパイプラインの実行に使用される ID を分離する機能が提供されます。 「Databricks Asset Bundles ワークフローの実行 ID を指定する」を参照してください。

Databricks CLI バージョン 0.229.0 で追加されました

キー タイプ 説明
service_principal_name 文字列 アクティブなサービス プリンシパルのアプリケーション ID。 このフィールドを設定するには、servicePrincipal/user ロールが必要です。
Databricks CLI バージョン 0.229.0 で追加されました
user_name 文字列 アクティブなワークスペース ユーザーの電子メール。 管理者以外のユーザーは、このフィールドを自分のメールにのみ設定できます。
Databricks CLI バージョン 0.229.0 で追加されました

scripts

Type: Map

bundle runを使用して実行できるスクリプト。 scripts マッピング内の各名前付きスクリプトには、コマンドを含むコンテンツが含まれています。 スクリプトの実行を参照してください。

Databricks CLI バージョン 0.259.0 で追加されました

scripts:
  <script-name>:
    <script-field-name>: <script-field-value>
キー タイプ 説明
content 文字列 実行するコマンド
Databricks CLI バージョン 0.259.0 で追加されました

例示

scripts:
  my_script:
    content: uv run pytest -m ${bundle.target}

同期

Type: Map

バンドルに含めるか除外するファイルとファイル パス。

Databricks CLI バージョン 0.229.0 で追加されました

キー タイプ 説明
exclude シーケンス バンドルから除外するファイルまたはフォルダーの一覧。 インクルード と除外を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
include シーケンス バンドルに含めるファイルまたはフォルダーの一覧。 インクルード と除外を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
paths シーケンス バンドルのデプロイ時にワークスペースに同期するローカル フォルダー パス (バンドル ルートの外部にある場合があります)。 sync.paths を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました

include と exclude

include マッピング内の exclude マッピングと sync マッピングでは、次の規則に応じて、バンドルの展開に含めるファイルまたはフォルダーの一覧を指定します。

  • バンドルのルートにある .gitignore ファイル内のファイルとパス glob のリストに基づいて、include マッピングには、バンドルのルートを基準とするファイル glob、パス glob、またはその両方を明示的に含めることができます。
  • バンドルのルート内の .gitignore ファイルにあるファイルおよびパス glob のリストと include マッピングにあるファイルおよびパス glob のリストに基づいて、明示的に除外するために、exclude マッピングには、バンドルのルートに関連するファイル glob やパス glob、またはその両方を含むリストを含めることができます。

指定されたファイルとフォルダへのすべてのパスは、これらが指定されているバンドル構成ファイルの場所に対する相対パスです。

include および exclude ファイルの構文とパス パターンは、標準の .gitignore パターン構文に従います。 「gitignore パターン形式」を参照してください。

たとえば、次の .gitignore ファイルに次のエントリが含まれている場合:

.databricks
my_package/dist

また、バンドル構成ファイルには、次の include マッピングが含まれています。

sync:
  include:
    - my_package/dist/*.whl

その後、ファイル拡張子が my_package/dist*.whl フォルダー内のすべてのファイルが含まれます。 my_package/dist フォルダー内の他のファイルは含まれません。

ただし、バンドル構成ファイルに次の exclude マッピングも含まれている場合:

sync:
  include:
    - my_package/dist/*.whl
  exclude:
    - my_package/dist/delete-me.whl

その後、my_package/dist という名前のファイルを除き、*.whl のファイル拡張子の delete-me.whl フォルダのすべてのファイルが含まれます。 my_package/dist フォルダー内の他のファイルも含まれません。

sync マッピングは、特定のターゲットの targets マッピングで宣言することもできます。 ターゲットで宣言された sync マッピングは、最上位レベルの sync マッピング宣言とマージされます。 たとえば、引き続き前の例を使用した場合、include レベルの次の targets マッピングは、最上位レベルの include マッピングの sync マッピングとマージされます。

targets:
  dev:
    sync:
      include:
        - my_package/dist/delete-me.whl

sync.paths

sync マッピングは、ワークスペースに同期するローカル パスを指定する paths マッピングを含めることができます。 paths マッピングを使用することで、バンドル間で共通ファイルを共有でき、バンドル ルート外にあるファイルを同期するために使用できます。 (バンドル ルートは、databricks.yml ファイルの場所です。) これには、複数のバンドルをホストする単一のリポジトリがあり、ライブラリ、コードファイル、または構成を共有したい場合に特に便利です。

指定したパスは、paths マッピングが設定されているフォルダーに固定されているファイルとディレクトリに対する相対パスである必要があります。 1 つ以上のパス値が、バンドル ルートの祖先までディレクトリをトラバースする場合、ルート パスは、動的に決定されるため、フォルダ構造はそのまま維持されます。 たとえば、バンドル ルート フォルダの名前が my_bundle に変更された場合、databricks.yml のこの構成は、バンドル ルートとバンドル ルート自体の 1 つ上のレベルにある common フォルダを同期します。

sync:
  paths:
    - ../common
    - .

このバンドルをデプロイすると、ワークスペースで次のようなフォルダ構造になります。

common/
  common_file.txt
my_bundle/
  databricks.yml
  src/
    ...

ターゲット

Type: Map

バンドルのデプロイ ターゲット コンテキストを定義します。 各 ターゲット は、アーティファクト、Azure Databricks ワークスペース設定、および場合によってはターゲット固有のリソースの詳細の一意のコレクションです。

targets マッピングは、1 つまたは複数の target マッピングで構成され、それぞれに一意のプログラム (または論理) 名が必要です。 このマッピングは省略可能ですが、強くお勧めします。

targets マッピング内の設定は、最上位のワークスペース成果物およびリソースのマッピングで指定された設定よりも優先されます。

ターゲットでは、最上位の変数の値をオーバーライドすることもできます。

Databricks CLI バージョン 0.229.0 で追加されました

targets:
  <target-name>:
    <target-field-name>: <target-field-value>
キー タイプ 説明
artifacts マップ ターゲット デプロイに含める成果物。 「成果物」を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
bundle マップ このターゲットにデプロイするときのバンドル属性。 バンドルを参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
cluster_id 文字列 このターゲットに使用するクラスターの ID。
Databricks CLI バージョン 0.229.0 で追加されました
compute_id 文字列 非推奨になりました。 このターゲットに使用するコンピューティングの ID。
default ブール値 このターゲットが既定のターゲットかどうか。 ターゲットを参照してください。name.default
Databricks CLI バージョン 0.229.0 で追加されました
git マップ ターゲットの Git バージョン管理設定。 gitを参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
mode 文字列 ターゲットのデプロイ モード。 有効な値は development または productionです。 ターゲットを参照してください。name.mode および Databricks Asset Bundle デプロイ モード
Databricks CLI バージョン 0.229.0 で追加されました
permissions シーケンス ターゲットでバンドルをデプロイして実行するためのアクセス許可。 「permissions」を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
presets マップ ターゲットのデプロイ プリセット。 ターゲットを参照してください。name.presets
Databricks CLI バージョン 0.229.0 で追加されました
resources マップ ターゲットのリソース定義。 「リソース」を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
run_as マップ バンドルの実行に使用する ID。 Databricks アセット バンドル ワークフローのrun_asと実行 ID の指定に関する記事を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
sync マップ バンドルの実行時またはデプロイ時にターゲット ワークスペースに同期するローカル パス。 「同期」を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
variables マップ ターゲットのカスタム変数定義。 変数を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
workspace マップ ターゲットの Databricks ワークスペース。 「ワークスペース」を参照。
Databricks CLI バージョン 0.229.0 で追加されました

ターゲット。name.default

バンドル コマンドのターゲット既定値の指定には、default マッピングを true に設定します。 たとえば、dev という名前のこのターゲットは既定のターゲットです。

targets:
  dev:
    default: true

既定のターゲットが構成されていない場合、または特定のターゲット内でジョブまたはパイプラインを検証、配置、実行する場合は、バンドル コマンドの -t オプションを使用します。

次のコマンドは、my_job および dev 内で prod を検証、デプロイ、実行します。

databricks bundle validate
databricks bundle deploy -t dev
databricks bundle run -t dev my_job
databricks bundle validate
databricks bundle deploy -t prod
databricks bundle run -t prod my_job

次の例では、2 つのターゲットを宣言しています。 最初のターゲットには dev という名前があり、バンドル コマンドにターゲットが指定されていない場合に使用される既定のターゲットです。 2 番目のターゲットには prod という名前があり、バンドル コマンドにターゲットが指定されている場合のみ使用されます。

targets:
  dev:
    default: true
  prod:
    workspace:
      host: https://<production-workspace-url>

ターゲット。name.mode

開発と CI/CD のベスト プラクティスを容易にするために、Databricks アセット バンドルには、運用前ワークフローと運用ワークフローの既定の動作を設定するターゲットのデプロイ モードが用意されています。 一部の動作は、ターゲットを使用して構成することもできますname.presets

詳細については、「Databricks アセット バンドルのデプロイ モード」を参照してください。

ヒント

バンドルに実行 ID を設定するには、run_asで説明されているとおり、各ターゲットに を指定できます。

ターゲットを開発ターゲットとして扱うように指定するには、mode に設定された development マッピングを追加します。 ターゲットを運用ターゲットとして扱うように指定するには、mode に設定された production マッピングを追加します。 たとえば、prod という名前のこのターゲットは、運用ターゲットとして扱われます。

targets:
  prod:
    mode: production

ターゲット。name.presets

presets マッピングを使用して、一部のターゲット デプロイmode動作をカスタマイズできます。

使用可能なプリセットの一覧は、「カスタム プリセット」を参照してください。

次の例は、すべての運用リソースにプレフィックスを付けてタグ付けするカスタマイズされた運用ターゲットを示します。

targets:
  prod:
    mode: production
    presets:
      name_prefix: 'production_' # prefix all resource names with production_
      tags:
        prod: true

変数

Type: Map

バンドルのカスタム変数を定義します。 各変数の場合、オプションの説明、既定値、カスタム変数が複合型であるかどうか、または ID 値を取得するための検索を、次の形式で設定します。

variables:
  <variable-name>:
    description: <variable-description>
    default: <optional-default-value>
    type: <optional-type-value> # "complex" is the only valid value
    lookup:
      <optional-object-type>: <optional-object-name>

変数は、stringtype に設定されていない限り、complex 型であると見なされます。 複合変数の定義を参照してください。

バンドル構成内でカスタム変数を参照するには、代入 ${var.<variable_name>} を使用します。

カスタム変数と代入の詳細については、「Databricks アセット バンドルの代入と変数」を参照してください。

Databricks CLI バージョン 0.229.0 で追加されました

キー タイプ 説明
default [任意] 変数の既定値。
Databricks CLI バージョン 0.229.0 で追加されました
description 文字列 変数の説明。
Databricks CLI バージョン 0.229.0 で追加されました
lookup マップ ID を取得する alertcluster_policyclusterdashboardinstance_pooljobmetastorepipelinequeryservice_principal、または warehouse オブジェクトの名前。 変数を参照してくださいname.lookup
Databricks CLI バージョン 0.229.0 で追加されました
type 文字列 変数の型 (単純または複合)。 変数が複雑な場合にのみ、このキーを設定します。 有効な値: complex
Databricks CLI バージョン 0.229.0 で追加されました

variables.名前.lookup

Type: Map

ID を取得するアラート、cluster_policy、クラスター、ダッシュボード、instance_pool、ジョブ、メタストア、パイプライン、クエリ、service_principal、またはウェアハウス オブジェクトの名前。 ルックアップの使用方法については、「 オブジェクトの ID 値を取得する」を参照してください。

Databricks CLI バージョン 0.229.0 で追加されました

キー タイプ 説明
alert 文字列 ID を取得するアラートの名前。
Databricks CLI バージョン 0.229.0 で追加されました
cluster 文字列 ID を取得するクラスターの名前。
Databricks CLI バージョン 0.229.0 で追加されました
cluster_policy 文字列 クラスター ポリシーのIDを取得するための名前。
Databricks CLI バージョン 0.229.0 で追加されました
dashboard 文字列 ID を取得するダッシュボードの名前。
Databricks CLI バージョン 0.229.0 で追加されました
instance_pool 文字列 ID を取得するinstance_poolの名前。
Databricks CLI バージョン 0.229.0 で追加されました
job 文字列 ID を取得するジョブの名前。
Databricks CLI バージョン 0.229.0 で追加されました
metastore 文字列 ID を取得するメタストアの名前。
Databricks CLI バージョン 0.229.0 で追加されました
notification_destination 文字列 ID を取得するための Notification_destination の名前。
Databricks CLI バージョン 0.236.0 で追加されました
pipeline 文字列 ID を取得するパイプラインの名前。
Databricks CLI バージョン 0.229.0 で追加されました
query 文字列 ID を取得するクエリの名前。
Databricks CLI バージョン 0.229.0 で追加されました
service_principal 文字列 IDを取得するためのサービス_プリンシパルの名前。
Databricks CLI バージョン 0.229.0 で追加されました
warehouse 文字列 ID を取得するウェアハウスの名前。
Databricks CLI バージョン 0.229.0 で追加されました

ワークスペース

Type: Map

バンドルの Databricks ワークスペースを定義します。 バンドル構成ファイルには、使用する既定以外の Azure Databricks ワークスペース設定を指定するための最上位レベルの workspace マッピングを 1 つだけ含めることができます。

Important

有効な Databricks ワークスペース パスは、/Workspaceで始まるか、成果物の場合は/Volumesでも始めることができます。 カスタム ワークスペースのパスには、自動で /Workspace が先頭に追加されるため、${workspace.file_path} などのカスタム パスでワークスペース パス 代入を使用する場合は、パスの先頭に /Workspace を付ける必要はありません。

Databricks CLI バージョン 0.229.0 で追加されました

キー タイプ 説明
artifact_path 文字列 デプロイとワークフロー実行の両方でワークスペース内で使用する成果物パス
Databricks CLI バージョン 0.229.0 で追加されました
auth_type 文字列 使用する認証の種類。特に、Databricks CLI が予期しない認証の種類を推測する場合に重要です。 Azure Databricks リソースへのアクセスの承認に関するページを参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
azure_client_id 文字列 Azure クライアント ID。 ワークスペース認証を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
azure_environment 文字列 Azure 環境。 ワークスペース認証を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
azure_login_app_id 文字列 Azure ログイン アプリ ID。 ワークスペース認証を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
azure_tenant_id 文字列 Azure テナント ID。 ワークスペース認証を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
azure_use_msi ブール値 Azure に MSI を使用するかどうか。 ワークスペース認証を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
azure_workspace_resource_id 文字列 Azure ワークスペースのリソース ID。 ワークスペース認証を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
client_id 文字列 ワークスペースのクライアント ID。 ワークスペース認証を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
file_path 文字列 展開とワークフロー実行の両方でワークスペース内で使用するファイル パス。 workspace.file_pathを参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
google_service_account 文字列 Google サービス アカウント名。 ワークスペース認証を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
host 文字列 Databricks ワークスペースのホスト URL。 ワークスペース インスタンス名、URL、ID を参照してください。
hostマッピングを設定すると、Databricks CLI は、.databrickscfg ファイル内で一致するプロファイルを検索し、そのプロファイルのフィールドを使用して、使用する Databricks 認証の種類を決定するように指示します。 .databrickscfg ファイル内に一致するhost フィールドを持つ複数のプロファイルが存在する場合は、profile マッピング (または--profileまたは-pコマンド ライン オプション) を使用してプロファイルを指定する必要があります。
Databricks CLI バージョン 0.229.0 で追加されました
profile 文字列 Databricks ワークスペース プロファイル名。 workspace.profile を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
resource_path 文字列 ワークスペースのリソース パス
Databricks CLI バージョン 0.230.0 で追加されました
root_path 文字列 Databricks ワークスペースのルート パス。 workspace.root_pathを参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
state_path 文字列 ワークスペースの状態パス。 このキーは既定で ${workspace.root}/state の既定のパスであり、デプロイに関する Terraform 状態情報を格納するためのワークスペース内のパスを表します。
Databricks CLI バージョン 0.229.0 で追加されました

workspace Authentication

ワークスペース マッピングには、使用する Databricks 認証メカニズムを指定するマッピングを含めることもできます。 最上位のワークスペース マッピング内で指定されていない場合は、最上位レベルのターゲット マッピングの 1 つ以上のターゲットの子としてワークスペース マッピングで指定する必要があります。

  • OAuth マシン間 (M2M) 認証の場合、マッピング client_id が使用されます。 代わりに、ローカル環境変数 DATABRICKS_CLIENT_ID でこの値を設定することもできます。 または、 client_id 値を使用して構成プロファイルを作成し、 profile マッピングを使用してプロファイルの名前を指定することもできます (または、Databricks CLI でコマンドを検証、デプロイ、実行、破棄するバンドルを実行するときに、 --profile または -p オプションを使用します)。 OAuth を使用した Azure Databricks へのサービス プリンシパル アクセスの承認に関するページを参照してください。

    バンドル構成ファイルで Azure Databricks OAuth シークレット値を指定することはできません。 代わりに、ローカル環境変数 DATABRICKS_CLIENT_SECRET を設定します。 または、 client_secret 値を構成プロファイルに追加し、 profile マッピングを使用してプロファイルの名前を指定することもできます (または、Databricks CLI でコマンドを検証、デプロイ、実行、破棄するバンドルを実行するときに、 --profile または -p オプションを使用します)。

  • Azure CLI 認証では、マッピング azure_workspace_resource_id が使用されます。 代わりに、ローカル環境変数 DATABRICKS_AZURE_RESOURCE_ID でこの値を設定することもできます。 または、 azure_workspace_resource_id 値を使用して構成プロファイルを作成し、 profile マッピングを使用してプロファイルの名前を指定することもできます (または、Databricks CLI でコマンドを検証、デプロイ、実行、破棄するバンドルを実行するときに、 --profile または -p オプションを使用します)。 「Azure CLI を使用した認証」を参照してください。

  • サービス プリンシパルを使用した Azure クライアント シークレット認証の場合、マッピングazure_workspace_resource_idazure_tenant_id および azure_client_id が使用されます。 代わりに、これらの値をそれぞれローカル環境変数 DATABRICKS_AZURE_RESOURCE_IDARM_TENANT_ID、および ARM_CLIENT_ID で設定することもできます。 または、 azure_workspace_resource_idazure_tenant_id、および azure_client_id の値を使用して構成プロファイルを作成し、 profile マッピングを使用してプロファイルの名前を指定することもできます (または、Databricks CLI を使用してコマンドを検証、デプロイ、実行、破棄するバンドルの実行時に --profile または -p オプションを使用します)。 「Microsoft Entra サービス プリンシパルを使用した認証」を参照してください。

    バンドル構成ファイルで Azure クライアント シークレット値を指定することはできません。 代わりに、ローカル環境変数 ARM_CLIENT_SECRET を設定します。 または、 azure_client_secret 値を構成プロファイルに追加し、 profile マッピングを使用してプロファイルの名前を指定することもできます (または、Databricks CLI でコマンドを検証、デプロイ、実行、破棄するバンドルを実行するときに、 --profile または -p オプションを使用します)。

  • Azure マネージド ID 認証では、マッピング azure_use_msiazure_client_idazure_workspace_resource_id が使用されます。 代わりに、これらの値をそれぞれローカル環境変数 ARM_USE_MSIARM_CLIENT_ID、および DATABRICKS_AZURE_RESOURCE_ID で設定することもできます。 または、 azure_use_msiazure_client_id、および azure_workspace_resource_id の値を使用して構成プロファイルを作成し、 profile マッピングを使用してプロファイルの名前を指定することもできます (または、Databricks CLI を使用してコマンドを検証、デプロイ、実行、破棄するバンドルの実行時に --profile または -p オプションを使用します)。 「Azure マネージド ID を使用した認証」を参照してください。

  • azure_environment マッピングでは、特定の API エンドポイントのセットに対して Azure 環境の種類 (Public、UsGov、China、Germany など) を指定します。 既定値は PUBLIC です。 代わりに、ローカル環境変数 ARM_ENVIRONMENT でこの値を設定することもできます。 または、 azure_environment 値を構成プロファイルに追加し、 profile マッピングを使用してプロファイルの名前を指定することもできます (または、Databricks CLI でコマンドを検証、デプロイ、実行、破棄するバンドルを実行するときに、 --profile または -p オプションを使用します)。

  • azure_login_app_id マッピングは非運用であり、内部使用のために予約されています。

workspace.root_path

この workspace マッピングには、デプロイとワークフローの実行の両方にワークスペース内で使用する既定以外のルート パスを指定するための root_path マッピングを含めることができます。以下に例を示します。

workspace:
  root_path: /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/my-envs/${bundle.target}

既定では、root_path の場合、Databricks CLI は、/Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/${bundle.target}を使用する の既定パスを使用します。

workspace.artifact_path

この workspace マッピングには、デプロイとワークフローの実行の両方にワークスペース内で使用する既定以外のアーティファクト パスを指定するための artifact_path マッピングも含めることができます。以下に例を示します。

workspace:
  artifact_path: /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/my-envs/${bundle.target}/artifacts

既定では、artifact_path の場合、Databricks CLI は、${workspace.root}/artifactsを使用する の既定パスを使用します。

artifact_path マッピングでは Databricks File System (DBFS) パスはサポートされていません。

workspace.file_path

この workspace マッピングには、デプロイとワークフローの実行の両方にワークスペース内で使用する既定以外のファイル パスを指定するための file_path マッピングも含めることができます。以下に例を示します。

workspace:
  file_path: /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/my-envs/${bundle.target}/files

既定では、file_path の場合、Databricks CLI は、${workspace.root}/filesを使用する の既定パスを使用します。

Important

${var.*}構文を使用して、これらの認証値にカスタム変数を指定することはできません。

workspace.profile

Databricks では、host マッピングではなく、--profile マッピング (Databricks CLI を使用してバンドルの検証、デプロイ、実行、破棄のコマンドを実行するときの -p または profile オプション) を使用することをお勧めします。これにより、バンドル構成ファイルの移植性が高まります。

profile マッピングでは、この Azure Databricks ワークスペースに対する認証に使用する構成プロファイルの名前を指定します。 この構成プロファイルは、Databricks CLI を設定したときに作成したものにマップされます。

一般的な物品

git(分散型バージョン管理システム)

Type: Map

Git バージョン 管理の詳細を定義します。 これは、後でリソースを識別するために使用できるデプロイ メタデータを伝達する場合に役立ちます。 たとえば、CI/CD によってデプロイされたジョブのリポジトリの配信元をトレースできます。

bundlevalidatedeployなどのrun コマンドを実行するたびに、bundle コマンドによってコマンドの構成ツリーに次の既定の設定が設定されます。

Git 設定を取得またはオーバーライドするには、git clone コマンドを実行して初期化されるローカル ディレクトリなど、Git リポジトリに関連付けられているディレクトリ内にバンドルが存在する必要があります。 ディレクトリが Git リポジトリに関連付けられていない場合、これらの Git 設定は空です。

キー タイプ 説明
branch 文字列 現在の Git ブランチ名。 これは、クローンされたリポジトリからコマンド git branch --show-current を実行した場合に得られるものと同じ値です。 substitutions を使用して、この値をバンドル構成ファイルで ${bundle.git.branch} として参照できます。
origin_url 文字列 リポジトリの配信元 URL。 これは、クローンされたリポジトリからコマンド git config --get remote.origin.url を実行した場合に得られるものと同じ値です。 substitutions を使用して、この値をバンドル構成ファイルで ${bundle.git.origin_url} として参照できます。

例示

必要に応じて、最上位レベルのbundle マッピングのgit マッピング内のorigin_urlbranchの設定をオーバーライドできます。

bundle:
  git:
    origin_url: <some-non-default-origin-url>
    branch: <some-non-current-branch-name>