メインコンテンツまでスキップ

設定リファレンス

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

完全なバンドルの例については、 バンドル設定の例bundle-examples GitHub リポジトリを参照してください。

artifacts

Type: Map

後でバンドル実行で使用できる、バンドルのデプロイメント中に自動的にビルドするアーティファクトを指定します。 各キーはアーティファクトの名前であり、値はアーティファクトのビルド設定を定義するマップです。

ヒント

「ターゲット設定によるオーバーライド」で説明されているように、バンドル内のアーティファクトの設定を定義、結合、およびオーバーライドできます。

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

YAML
artifacts:
<artifact-name>:
<artifact-field-name>: <artifact-field-value>

キー

タイプ

説明

build

文字列

デプロイメント前にローカルで実行するビルド コマンドのオプション セット。Python wheelビルドの場合、 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

文字列

実行可能ファイルの種類。 有効な値は、 bashsh、および cmdです。

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

files

Sequence

ビルドされたアーティファクトファイルへの相対パスまたは絶対パス。 アーティファクトを参照してください。 name.files です。

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

path

文字列

アーティファクトのディレクトリのローカル パス。パスはバンドル構成ファイルの場所を基準とします。Python wheelビルドの場合、これはPython wheelファイルのsetup.pyファイルへのパスです。 pathが含まれていない場合、 Databricks CLIバンドルのルートでPython wheelファイルのsetup.pyファイルを見つけようとします。

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

type

文字列

アーティファクトがPython wheelの場合は必須です。 アーティファクトのタイプ。有効な値はwhljarです。他のアーティファクトをビルドする場合、この設定を指定する必要はありません。

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

次の構成は、 Poetryを使用してPython wheelを構築します。

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

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

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

# build the actual artifact
python setup.py bdist_wheel

path: .

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

アーティファクト。 名前 。ファイル

Type: Sequence

ビルドされたアーティファクト ファイルへの相対パスまたは絶対パス。sourceを使用して、構築されたアーティファクトを指定します。 パスはバンドル構成ファイルの場所を基準とします。

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

キー

タイプ

説明

source

文字列

必須。 アーティファクト ソース ファイル。

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

バンドル

Type: Map

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

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

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

YAML
bundle:
name: hello-bundle

bundleマッピングは、最上位レベルのターゲットマッピング内の 1 つ以上のターゲットの子になることもできます。これらの子bundleマッピングのそれぞれは、ターゲット レベルでデフォルト以外のオーバーライドを指定します。

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

キー

タイプ

説明

cluster_id

文字列

バンドルを実行するために使用するクラスターの ID。このキーを使用すると、バンドル構成ファイルの他の場所で定義されたクラスターのオーバーライドとして使用するクラスターの ID を指定できます。 クラスターの ID を取得する方法については、コンピュート リソースの URL と ID を参照してください。

cluster_idオーバーライドは開発専用のシナリオを対象としており、 modeマッピングがdevelopmentに設定されているターゲットに対してのみサポートされます。targetマッピングの詳細については、 「ターゲット」を参照してください。

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

Map

バンドル・デプロイメントの定義。 サポートされている属性については 、「Databricks Asset Bundle デプロイ モード」を参照してください。 bundle.deployment を参照してください。

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

git

Map

バンドルに関連付けられている Git バージョン管理の詳細。サポートされている属性については、 git を参照してください。

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

name

文字列

バンドルの名前。

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

uuid

文字列

引っ込み思案。 内部 Databricks システムでバンドルを一意に識別するバンドルの Universally Unique Identifier (UUID)。 これは、バンドル プロジェクトが Databricks テンプレート ( databricks bundle init コマンドを使用) を使用して初期化されるときに生成されます。

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

バンドル.databricks_cli_バージョン

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

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

YAML
bundle:
name: hello-bundle
databricks_cli_version: '0.218.0' # require Databricks CLI 0.218.0
YAML
bundle:
name: hello-bundle
databricks_cli_version: '0.218.*' # allow all patch versions of Databricks CLI 0.218
YAML
bundle:
name: my-bundle
databricks_cli_version: '>= 0.218.0' # allow any version of Databricks CLI 0.218.0 or higher
YAML
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

バンドル.デプロイメント

Type: Map

バンドル・デプロイメントの定義

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

キー

タイプ

説明

fail_on_active_runs

ブール値

アクティブな実行で失敗するかどうか。 これを true に設定すると、実行中のデプロイメントが中断される可能性があります。

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

lock

Map

デプロイメント・ロック属性。 bundle.deployment.lockを参照してください。

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

バンドル.デプロイメント.ロック

Type: Map

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

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

キー

タイプ

説明

enabled

ブール値

このロックが有効になっているかどうか。

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

force

ブール値

このロックが有効な場合に、このロックを強制するかどうか。

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

experimental

Type: Map

実験的な機能の属性を定義します。

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

キー

タイプ

説明

python

Map

非推奨。代わりにトップレベルのPythonマッピングを使用してください。

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

python_wheel_wrapper

ブール値

Python wheelラッパーを使用するかどうか。

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

scripts

Map

実行するコマンド。

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

skip_artifact_cleanup

ブール値

workspace.artifact_path内の.internalフォルダーの削除をスキップするかどうかを決定します。デプロイ中に新しいビルド アーティファクト ( Pythonホイールなど) をアップロードする前に、このフォルダーは削除されます。 デプロイメント間で既存のアーティファクトを保持するには、 trueに設定します。

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

skip_name_prefix_for_schema

ブール値

バンドルで定義されたUnity Catalogスキーマの名前にプレフィックス ( presets.name_prefixで設定、またはmode: developmentの場合はコンピュート) を追加することをスキップするかどうか。

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

use_legacy_run_as

ブール値

従来の実行動作を使用するかどうか。

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

include

Type: Sequence

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

ヒント

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

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

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

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

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

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

YAML
include:
- 'bundle*.yml'

permissions

Type: Sequence

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

許可される最上位の権限レベルはCAN_VIEWCAN_MANAGE、およびCAN_RUNです。

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

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

キー

タイプ

説明

group_name

文字列

権限が level に設定されているグループの名前。

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

level

文字列

この権限に対して定義されている user, グループ, サービスプリンシパルの許可された権限。 このキーの有効な値は、権限がバンドルの最上位レベルで定義されているか、特定のリソースに対して定義されているかによって異なります。「Databricks アセット バンドルのリソースに対するアクセス許可の設定」を参照してください。

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

service_principal_name

文字列

権限が level に設定されているサービスプリンシパルの名前。

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

user_name

文字列

権限が level に設定されているユーザーの名前。

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

Example

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

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

presets

Type: Map

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

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

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

Preset

説明

artifacts_dynamic_version

デプロイメント中にwhlアーティファクトのバージョンを動的に更新するかどうか。有効な値はtrueまたはfalseです。最上位のアーティファクト.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

Sequence

Mutators には、 [my_project.mutators:add_default_cluster]などの mutator 関数への完全修飾関数パスのリストが含まれています。

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

resources

Sequence

リソースには、 Python コードで定義されたリソースをロードするための完全修飾関数パスのリストが含まれています。 ["my_project.resources:load_resources"]

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

venv_path

文字列

仮想環境へのパス。有効にすると、Python コードがこの環境内で実行されます。無効にすると、現在のシェルで使用可能な Python インタープリターがデフォルトで使用されます。

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

リソース

Type: Map

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

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

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

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

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

YAML
resources:
<resource-type>:
<resource-name>:
<resource-field-name>: <resource-field-value>

キー

タイプ

説明

alerts

Map

バンドルのアラート (v2) 定義。各キーはアラートの名前です。アラートを参照してください。

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

apps

Map

バンドルの Databricks アプリ定義 (各キーはアプリの名前です)。 アプリを参照してください。

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

catalogs

Map

バンドルのカタログ ( Unity Catalog ) 定義。各キーはカタログの名前です。 カタログを参照してください。

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

clusters

Map

バンドルのクラスター定義 (各キーはクラスターの名前です)。 クラスターを参照してください。

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

dashboards

Map

バンドルのダッシュボード定義 (各キーはダッシュボードの名前です)。 ダッシュボードを参照してください。

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

database_catalogs

Map

バンドルのデータベース カタログ定義。各キーはデータベース カタログの名前です。database_catalogを参照してください。

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

database_instances

Map

バンドルのデータベース インスタンス定義。各キーはデータベース インスタンスの名前です。database_instanceを参照してください。

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

experiments

Map

バンドルのエクスペリメント定義 (各キーはエクスペリメントの名前です)。 エクスペリメントを参照してください。

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

jobs

Map

バンドルのジョブ定義 (各キーはジョブの名前です)。 ジョブを参照してください。

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

model_serving_endpoints

Map

バンドルのモデルサービングエンドポイント定義 (各キーはモデルサービングエンドポイントの名前です)。 model_serving_endpointを参照してください。

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

models

Map

バンドルのモデル定義 (各キーはモデルの名前です)。 「モデル (レガシ)」を参照してください。

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

pipelines

Map

バンドルのパイプライン定義 (各キーはパイプラインの名前です)。 パイプラインを参照してください。

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

postgres_branches

Map

バンドルの Postgres ブランチ定義。各キーは Lakebase ブランチの名前です。postgres_branch を参照してください。

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

postgres_endpoints

Map

バンドルの Postgres エンドポイント定義。各キーは Lakebase コンピュート エンドポイントの名前です。 postgres_endpoint を参照してください。

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

postgres_projects

Map

バンドルの Postgres プロジェクト定義。各キーは Lakebase プロジェクトの名前です。postgres_project を参照してください。

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

quality_monitors

Map

バンドルの品質モニター定義 (各キーは品質モニターの名前です)。 quality_monitor (Unity Catalog) を参照してください。

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

registered_models

Map

バンドルの登録済みモデル定義 (各キーは Unity Catalog 登録済みモデルの名前です)。 registered_model (Unity Catalog) を参照してください。

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

schemas

Map

バンドルのスキーマ定義 (各キーはスキーマの名前です)。 スキーマ (Unity Catalog) を参照してください。

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

secret_scopes

Map

バンドルのシークレットスコープ定義 (各キーはシークレットスコープの名前です)。 secret_scopeを参照してください。

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

sql_warehouses

Map

バンドルのSQLウェアハウス定義。各キーはSQLウェアハウスの名前です。 sql_warehouseを参照してください。

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

synced_database_tables

Map

バンドルの同期されたデータベース表定義 (各キーはデータベース表の名前)。synced_database_tableを参照してください。

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

volumes

Map

バンドルのボリューム定義 (各キーはボリュームの名前です)。 ボリューム(Unity Catalog)を参照してください。

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

Example

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

YAML
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

文字列

アクティブなワークスペース ユーザーの Eメール 非管理者ユーザーは、このフィールドを自分の電子メールにのみ設定できます。

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

スクリプト

Type: Map

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

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

YAML
scripts:
<script-name>:
<script-field-name>: <script-field-value>

キー

タイプ

説明

content

文字列

実行するコマンド

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

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

sync

Type: Map

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

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

キー

タイプ

説明

exclude

Sequence

バンドルから除外するファイルまたはフォルダーのリスト。include および exclude を参照してください。

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

include

Sequence

バンドルに含めるファイルまたはフォルダーのリスト。include および exclude を参照してください。

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

paths

Sequence

バンドルがデプロイされるときにワークスペースに同期するローカル フォルダー パス (バンドル ルートの外部にある場合もあります)。sync.pathsを参照してください。

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

含める、除外する

syncマッピング内のincludeおよびexcludeマッピングは、次のルールに応じて、バンドル デプロイメントに含める、またはバンドル デプロイメントから除外するファイルまたはフォルダーのリストを指定します。

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

指定されたファイルとフォルダーへのすべてのパスは、それらが指定されたバンドル構成ファイルの場所を基準とします。

includeexcludeのファイルパターンとパスパターンの構文は、標準の.gitignoreパターン構文に従います。「gitignoreパターンフォーマット」を参照してください。

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

.databricks
my_package/dist

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

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

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

ただし、バンドル構成ファイルにexcludeマッピングも含まれている場合は、次のようになります。

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

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

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

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

同期パス

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

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

YAML
sync:
paths:
- ../common
- .

このバンドルをデプロイすると、ワークスペースに次のフォルダー構造が作成されます。

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

targets

Type: Map

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

targetsマッピングは 1 つ以上のターゲット マッピングで構成され、各ターゲット マッピングには一意のプログラム名 (または論理名) が必要です。このマッピングはオプションですが、強くお勧めします。

targetsマッピング内の設定は、トップレベルのワークスペースアーティファクト、およびリソースマッピングで指定された設定よりも優先されます。

ターゲットはトップレベルの変数の値をオーバーライドすることもできます。

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

YAML
targets:
<target-name>:
<target-field-name>: <target-field-value>

キー

タイプ

説明

artifacts

Map

ターゲットデプロイメントに含めるアーティファクト。 アーティファクトを参照してください。

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

bundle

Map

このターゲットにデプロイするときのバンドル属性。バンドルを参照してください。

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

cluster_id

文字列

このターゲットに使用するクラスターの ID。

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

compute_id

文字列

廃止。 このターゲットに使用するコンピュートの ID。

default

ブール値

このターゲットがデフォルトのターゲットであるかどうか。ターゲットを参照してください。 名前は 大丈夫

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

git

Map

ターゲットの Git バージョン管理設定。 git を参照してください。

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

mode

文字列

ターゲットのデプロイメント モード。有効な値はdevelopmentまたはproductionです。ターゲット .name.modeおよびDatabricks アセット バンドルの展開モードを参照してください。

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

permissions

Sequence

ターゲットにバンドルをデプロイおよび実行するための権限。 「パーミッション」を参照してください。

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

presets

Map

ターゲットのデプロイメントプリセット。 「ターゲット」を参照してください。 name.presets です。

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

resources

Map

ターゲットのリソース定義。 「リソース」を参照してください。

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

run_as

Map

バンドルの実行に使用する ID。 「実行」および「Databricks Asset Bundles ワークフローの実行 ID の指定」を参照してください。

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

sync

Map

バンドルが実行またはデプロイされるときにターゲット ワークスペースに同期するローカル パス。 「同期」を参照してください。

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

variables

Map

ターゲットのカスタム変数定義。変数を参照してください。

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

workspace

Map

ターゲットの Databricks ワークスペース。ワークスペースを参照してください。

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

ターゲット. 名前 .デフォルト

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

YAML
targets:
dev:
default: true

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

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

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

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

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

ターゲット. 名前 .モード

開発とCI/CDベスト プラクティスを容易にするために、 Databricksアセット バンドルは、本番前運用および本番運用ワークフローの確実な動作を設定するターゲットのデプロイメント モードを提供します。 一部の動作はtargets.name.presetsを使用して構成することもできます。

詳細については、 「Databricks Asset Bundle の展開モード」を参照してください。

ヒント

バンドルの実行 ID を設定するには、 「Databricks アセット バンドル ワークフローの実行 ID を指定する」で説明されているように、ターゲットごとにrun_as指定できます。

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

YAML
targets:
prod:
mode: production

ターゲット. 名前 .プリセット

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

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

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

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

variables

Type: Map

バンドルのカスタム変数を定義します。各変数について、オプションの説明、デフォルト値、カスタム変数が複合型であるかどうか、または ID 値を取得するためのルックアップを次の形式で設定します。

YAML
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>
注記

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

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

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

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

キー

タイプ

説明

default

すべて

変数のデフォルト値。

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

description

文字列

変数の説明。

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

lookup

Map

ID を取得する alertcluster_policyclusterdashboardinstance_pooljobmetastorepipelinequeryservice_principal、または warehouse オブジェクトの名前。 変数を参照してください。 name.lookup です。

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

type

文字列

変数の型(単純または複合)。変数が複雑な場合にのみこのキーを設定してください。有効な値: complex

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

変数。 名前 .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 以下で追加されました

workspace

Type: Map

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

重要

有効なDatabricksワークスペース パスは、 /Workspaceで始まるか、アーティファクトの場合は/Volumesもサポートされます。 カスタム ワークスペース パスには自動的にプレフィックス/Workspaceが付けられるため、カスタム パスで${workspace.file_path}などのワークスペース パス置換を使用する場合は、パスの先頭に/Workspace付加する必要はありません。

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

キー

タイプ

説明

artifact_path

文字列

デプロイとワークフロー実行の両方に対してワークスペース内で使用するアーティファクト パス

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

auth_type

文字列

使用する認証タイプ。特に、Databricks CLI が予期しない認証タイプを推測する場合に重要です。「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

文字列

デプロイメントとワークフロー実行の両方においてワークスペース内で使用するファイル パス。ワークスペース.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 ワークスペース プロファイル名。ワークスペース.プロフィールを参照してください。

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

resource_path

文字列

ワークスペースのリソースパス

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

root_path

文字列

Databricks ワークスペースのルート パス。ワークスペース.root_path を参照してください。

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

state_path

文字列

ワークスペースの状態パス。このキーは、 ${workspace.root}/stateの安全なパスに設定されており、デプロイメントに関するTerraform状態情報を保存するためのワークスペース内のパスを表します。

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

ワークスペース認証

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

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

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

ワークスペース.root_path

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

YAML
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マッピングを含めることもできます。これにより、デプロイメントとワークフロー実行の両方で、ワークスペース内で使用するデフォルト以外のアーティファクトパスを指定できます。次に例を示します。

YAML
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ファイルシステム(DBFS)パスをサポートしていません。

ワークスペース.ファイルパス

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

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

デフォルトでは、 file_pathの場合、Databricks CLI は置換を使用する${workspace.root}/filesのデフォルト パスを使用します。

重要

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

ワークスペース.プロファイル

注記

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

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

一般的なオブジェクト

ギット

Type: Map

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

validatedeployrunなどのbundleコマンドを実行するたびに、 bundleコマンドによってコマンドの構成ツリーに次のデフォルト設定が設定されます。

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

キー

タイプ

説明

branch

文字列

現在の Git ブランチ名。これは、クローンされたリポジトリからコマンドgit branch --show-currentを実行した場合に取得される値と同じです。バンドル構成ファイルでこの値を参照するには、置換を使用して${bundle.git.branch}のように指定します。

origin_url

文字列

リポジトリの元の URL。これは、クローンされたリポジトリからコマンドgit config --get remote.origin.urlを実行した場合に取得される値と同じです。バンドル構成ファイルでこの値を参照するには、置換を使用して${bundle.git.origin_url}のように指定します。

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

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