この記事では、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でバージョンを更新しなくても、新しいコードをデプロイできます。 この設定は、 type が whl に設定されている場合にのみ有効です。Databricks CLI バージョン 0.245.0 で追加されました |
executable |
文字列 | 実行可能ファイルの種類。 有効な値は bash、sh、cmd です。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 ホイールの場合は必須。 成果物の種類。 有効な値は whl と jar です。 この設定は、他の成果物をビルドするために指定する必要はありません。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_VIEW、CAN_MANAGE、CAN_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
バンドルデプロイプリセットを定義します。 詳細については、「 カスタム プリセット」を参照してください。
プリセットに例外が指定されていない限り、 mode と presets の両方が設定されている場合、プリセットは既定のモード動作をオーバーライドし、個々のリソースの設定はプリセットをオーバーライドします。
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です。modeが development に設定されている場合、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 アセット バンドルのデプロイ モード」を参照してください。
ターゲットを開発ターゲットとして扱うように指定するには、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>
注
変数は、string が type に設定されていない限り、complex 型であると見なされます。
複合変数の定義を参照してください。
バンドル構成内でカスタム変数を参照するには、代入 ${var.<variable_name>} を使用します。
カスタム変数と代入の詳細については、「Databricks アセット バンドルの代入と変数」を参照してください。
Databricks CLI バージョン 0.229.0 で追加されました
| キー | タイプ | 説明 |
|---|---|---|
default |
[任意] | 変数の既定値。 Databricks CLI バージョン 0.229.0 で追加されました |
description |
文字列 | 変数の説明。 Databricks CLI バージョン 0.229.0 で追加されました |
lookup |
マップ | ID を取得する alert、cluster_policy、cluster、dashboard、instance_pool、job、metastore、pipeline、query、service_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_id、azure_tenant_idおよびazure_client_idが使用されます。 代わりに、これらの値をそれぞれローカル環境変数DATABRICKS_AZURE_RESOURCE_ID、ARM_TENANT_ID、およびARM_CLIENT_IDで設定することもできます。 または、azure_workspace_resource_id、azure_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_msi、azure_client_id、azure_workspace_resource_idが使用されます。 代わりに、これらの値をそれぞれローカル環境変数ARM_USE_MSI、ARM_CLIENT_ID、およびDATABRICKS_AZURE_RESOURCE_IDで設定することもできます。 または、azure_use_msi、azure_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 によってデプロイされたジョブのリポジトリの配信元をトレースできます。
bundle、validate、deployなどの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_urlとbranchの設定をオーバーライドできます。
bundle:
git:
origin_url: <some-non-default-origin-url>
branch: <some-non-current-branch-name>