設定リファレンス
この記事では、Databricks Asset Bundles 構成 (YAML) でサポートされるキーのリファレンスを提供します。 「Databricks アセットバンドルとは」を参照してください。
完全なバンドルの例については、 バンドル設定の例 と bundle-examples GitHub リポジトリを参照してください。
artifacts
Type: Map
後でバンドル実行で使用できる、バンドルのデプロイメント中に自動的にビルドするアーティファクトを指定します。 各キーはアーティファクトの名前であり、値はアーティファクトのビルド設定を定義するマップです。
「ターゲット設定によるオーバーライド」で説明されているように、バンドル内のアーティファクトの設定を定義、結合、およびオーバーライドできます。
Databricks CLI バージョン 0.229.0 以下で追加されました
artifacts:
<artifact-name>:
<artifact-field-name>: <artifact-field-value>
キー | タイプ | 説明 |
|---|---|---|
| 文字列 | デプロイメント前にローカルで実行するビルド コマンドのオプション セット。Python wheelビルドの場合、 Databricks CLI 、ビルドを実行するためのPython Databricks CLI バージョン 0.229.0 以下で追加されました |
| ブール値 | whl ファイルのタイムスタンプに基づいてホイールのバージョンを動的にパッチするかどうか。これを Databricks CLI バージョン 0.245.0 で追加されました |
| 文字列 | 実行可能ファイルの種類。 有効な値は、 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Sequence | ビルドされたアーティファクトファイルへの相対パスまたは絶対パス。 アーティファクトを参照してください。 name.files です。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | アーティファクトのディレクトリのローカル パス。パスはバンドル構成ファイルの場所を基準とします。Python wheelビルドの場合、これはPython wheelファイルの Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | アーティファクトがPython wheelの場合は必須です。 アーティファクトのタイプ。有効な値は Databricks CLI バージョン 0.229.0 以下で追加されました |
例
次の構成は、 Poetryを使用してPython wheelを構築します。
artifacts:
default:
type: whl
build: poetry build
path: .
次の構成では、テストを実行し、ホイールをビルドします。artifactsを使用してホイールを構築する完全なバンドル チュートリアルについては、 「 Databricksアセット バンドルを使用したPython wheelファイルの構築」を参照してください。
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 以下で追加されました
キー | タイプ | 説明 |
|---|---|---|
| 文字列 | 必須。 アーティファクト ソース ファイル。 Databricks CLI バージョン 0.229.0 以下で追加されました |
バンドル
Type: Map
このターゲットにデプロイするときのバンドル属性。
バンドル構成ファイルには、最上位レベルのbundleマッピングが 1 つだけ含まれている必要があります。
このbundleマッピングには、バンドルのプログラム名(または論理名)を指定するnameマッピングを含める必要があります。次の例では、プログラム名(または論理名)hello-bundleを持つバンドルを宣言しています。
bundle:
name: hello-bundle
bundleマッピングは、最上位レベルのターゲットマッピング内の 1 つ以上のターゲットの子になることもできます。これらの子bundleマッピングのそれぞれは、ターゲット レベルでデフォルト以外のオーバーライドを指定します。
Databricks CLI バージョン 0.229.0 以下で追加されました
キー | タイプ | 説明 |
|---|---|---|
| 文字列 | バンドルを実行するために使用するクラスターの ID。このキーを使用すると、バンドル構成ファイルの他の場所で定義されたクラスターのオーバーライドとして使用するクラスターの ID を指定できます。 クラスターの ID を取得する方法については、コンピュート リソースの URL と ID を参照してください。
Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | 廃止。 バンドルの実行に使用するコンピュートの ID。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | バンドルに使用する Databricks CLI バージョン。bundle.databricks_cli_versionを参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | バンドル・デプロイメントの定義。 サポートされている属性については 、「Databricks Asset Bundle デプロイ モード」を参照してください。 bundle.deployment を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | バンドルに関連付けられている Git バージョン管理の詳細。サポートされている属性については、 git を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | バンドルの名前。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | 引っ込み思案。 内部 Databricks システムでバンドルを一意に識別するバンドルの Universally Unique Identifier (UUID)。 これは、バンドル プロジェクトが Databricks テンプレート ( 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を実行するとエラーが発生します。次の例は、一般的なバージョン制約構文を示しています。
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
バンドル.デプロイメント
Type: Map
バンドル・デプロイメントの定義
Databricks CLI バージョン 0.229.0 以下で追加されました
キー | タイプ | 説明 |
|---|---|---|
| ブール値 | アクティブな実行で失敗するかどうか。 これを true に設定すると、実行中のデプロイメントが中断される可能性があります。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | デプロイメント・ロック属性。 bundle.deployment.lockを参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
バンドル.デプロイメント.ロック
Type: Map
デプロイメント・ロック属性。
Databricks CLI バージョン 0.229.0 以下で追加されました
キー | タイプ | 説明 |
|---|---|---|
| ブール値 | このロックが有効になっているかどうか。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| ブール値 | このロックが有効な場合に、このロックを強制するかどうか。 Databricks CLI バージョン 0.229.0 以下で追加されました |
experimental
Type: Map
実験的な機能の属性を定義します。
Databricks CLI バージョン 0.229.0 以下で追加されました
キー | タイプ | 説明 |
|---|---|---|
| Map | 非推奨。代わりにトップレベルのPythonマッピングを使用してください。 Databricks CLI バージョン 0.238.0 で追加されました |
| ブール値 | Python wheelラッパーを使用するかどうか。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | 実行するコマンド。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| ブール値 |
Databricks CLI バージョン 0.254.0 で追加されました |
| ブール値 | バンドルで定義されたUnity Catalogスキーマの名前にプレフィックス ( Databricks CLI バージョン 0.255.0 で追加されました |
| ブール値 | 従来の実行動作を使用するかどうか。 Databricks CLI バージョン 0.229.0 以下で追加されました |
include
Type: Sequence
バンドル内に含める構成ファイルを含むパス グロブのリストを指定します。これらのパス グロブは、パス グロブが指定されているバンドル構成ファイルの場所を基準としています。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'
permissions
Type: Sequence
バンドルで定義されたリソースに適用する権限を定義します。シーケンス内の各項目は、特定のエンティティに対する権限です。「Databricks アセット バンドル内のリソースに対するアクセス許可の設定」を参照してください。
許可される最上位の権限レベルはCAN_VIEW、CAN_MANAGE、およびCAN_RUNです。
特定のリソースに権限を適用する場合は、 「特定のリソースの権限を定義する」を参照してください。
Databricks CLI バージョン 0.229.0 以下で追加されました
キー | タイプ | 説明 |
|---|---|---|
| 文字列 | 権限が level に設定されているグループの名前。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | この権限に対して定義されている user, グループ, サービスプリンシパルの許可された権限。 このキーの有効な値は、権限がバンドルの最上位レベルで定義されているか、特定のリソースに対して定義されているかによって異なります。「Databricks アセット バンドルのリソースに対するアクセス許可の設定」を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | 権限が level に設定されているサービスプリンシパルの名前。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | 権限が level に設定されているユーザーの名前。 Databricks CLI バージョン 0.229.0 以下で追加されました |
Example
次の構成例では、ユーザー、グループ、およびサービス プリンシパルのアクセス許可レベルを定義し、バンドル内の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
presets
Type: Map
バンドルの展開プリセットを定義します。詳細については、 「カスタム プリセット」を参照してください。
プリセットに例外が指定されていない限り、 modeとpresets両方が設定されている場合は、プリセットがデフォルト モードの動作をオーバーライドし、個々のリソースの設定がプリセットをオーバーライドします。
Databricks CLI バージョン 0.229.0 以下で追加されました
Preset | 説明 |
|---|---|
| デプロイメント中に Databricks CLI バージョン 0.256.0 で追加されました |
| ジョブに許可される最大実行実行数。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| リソース名の先頭に追加するプレフィックス文字列。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| パイプラインのデプロイメントを開発モードでロックするかどうか。有効な値は Databricks CLI バージョン 0.229.0 以下で追加されました |
| デプロイメント中に作成されたリソースが、ワークスペースのコピーではなく、ワークスペース内のソース ファイルを指すかどうか。 Databricks CLI バージョン 0.236.0 で追加されました |
| 鍵一式 ジョブとエクスペリメントを含む、タグをサポートするすべてのリソースに適用されるタグ。 Databricks アセット バンドルは、 Databricks CLI バージョン 0.229.0 以下で追加されました |
| すべてのトリガーとスケジュールに適用される停止するステータス。 有効な値は
Databricks CLI バージョン 0.229.0 以下で追加されました |
Python
Type: Map
databricks-bundles パッケージで定義された Python コードの読み込みを構成します。詳細については、 Pythonでのバンドル構成」を参照してください。
Databricks CLI バージョン 0.275.0 のexperimentalから移動されました
キー | タイプ | 説明 |
|---|---|---|
| Sequence | Mutators には、 Databricks CLI バージョン 0.238.0 で追加されました |
| Sequence | リソースには、 Python コードで定義されたリソースをロードするための完全修飾関数パスのリストが含まれています。 Databricks CLI バージョン 0.238.0 で追加されました |
| 文字列 | 仮想環境へのパス。有効にすると、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 以下で追加されました
resources:
<resource-type>:
<resource-name>:
<resource-field-name>: <resource-field-value>
キー | タイプ | 説明 |
|---|---|---|
| Map | バンドルのアラート (v2) 定義。各キーはアラートの名前です。アラートを参照してください。 Databricks CLI バージョン 0.279.0 で追加されました |
| Map | バンドルの Databricks アプリ定義 (各キーはアプリの名前です)。 アプリを参照してください。 Databricks CLI バージョン 0.239.0 で追加されました |
| Map | バンドルのカタログ ( Unity Catalog ) 定義。各キーはカタログの名前です。 カタログを参照してください。 Databricks CLI バージョン 0.287.0 で追加されました |
| Map | バンドルのクラスター定義 (各キーはクラスターの名前です)。 クラスターを参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | バンドルのダッシュボード定義 (各キーはダッシュボードの名前です)。 ダッシュボードを参照してください。 Databricks CLI バージョン 0.232.0 で追加されました |
| Map | バンドルのデータベース カタログ定義。各キーはデータベース カタログの名前です。database_catalogを参照してください。 Databricks CLI バージョン 0.265.0 で追加されました |
| Map | バンドルのデータベース インスタンス定義。各キーはデータベース インスタンスの名前です。database_instanceを参照してください。 Databricks CLI バージョン 0.265.0 で追加されました |
| Map | バンドルのエクスペリメント定義 (各キーはエクスペリメントの名前です)。 エクスペリメントを参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | バンドルのジョブ定義 (各キーはジョブの名前です)。 ジョブを参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | バンドルのモデルサービングエンドポイント定義 (各キーはモデルサービングエンドポイントの名前です)。 model_serving_endpointを参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | バンドルのモデル定義 (各キーはモデルの名前です)。 「モデル (レガシ)」を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | バンドルのパイプライン定義 (各キーはパイプラインの名前です)。 パイプラインを参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | バンドルの Postgres ブランチ定義。各キーは Lakebase ブランチの名前です。postgres_branch を参照してください。 Databricks CLI バージョン 0.287.0 で追加されました |
| Map | バンドルの Postgres エンドポイント定義。各キーは Lakebase コンピュート エンドポイントの名前です。 postgres_endpoint を参照してください。 Databricks CLI バージョン 0.287.0 で追加されました |
| Map | バンドルの Postgres プロジェクト定義。各キーは Lakebase プロジェクトの名前です。postgres_project を参照してください。 Databricks CLI バージョン 0.287.0 で追加されました |
| Map | バンドルの品質モニター定義 (各キーは品質モニターの名前です)。 quality_monitor (Unity Catalog) を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | バンドルの登録済みモデル定義 (各キーは Unity Catalog 登録済みモデルの名前です)。 registered_model (Unity Catalog) を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | バンドルのスキーマ定義 (各キーはスキーマの名前です)。 スキーマ (Unity Catalog) を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | バンドルのシークレットスコープ定義 (各キーはシークレットスコープの名前です)。 secret_scopeを参照してください。 Databricks CLI バージョン 0.252.0 で追加されました |
| Map | バンドルのSQLウェアハウス定義。各キーはSQLウェアハウスの名前です。 sql_warehouseを参照してください。 Databricks CLI バージョン 0.260.0 で追加されました |
| Map | バンドルの同期されたデータベース表定義 (各キーはデータベース表の名前)。synced_database_tableを参照してください。 Databricks CLI バージョン 0.266.0 で追加されました |
| Map | バンドルのボリューム定義 (各キーはボリュームの名前です)。 ボリューム(Unity Catalog)を参照してください。 Databricks CLI バージョン 0.236.0 で追加されました |
Example
次の構成例では、ジョブ リソースを定義します。
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 以下で追加されました
キー | タイプ | 説明 |
|---|---|---|
| 文字列 | アクティブなサービスプリンシパルのアプリケーション ID。 このフィールドを設定するには、 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | アクティブなワークスペース ユーザーの Eメール 非管理者ユーザーは、このフィールドを自分の電子メールにのみ設定できます。 Databricks CLI バージョン 0.229.0 以下で追加されました |
スクリプト
Type: Map
bundle runを使用して実行できるスクリプト。scriptsマッピング内のそれぞれの名前付きスクリプトには、コマンドを含むコンテンツが含まれています。「スクリプトの実行」を参照してください。
Databricks CLI バージョン 0.259.0 で追加されました
scripts:
<script-name>:
<script-field-name>: <script-field-value>
キー | タイプ | 説明 |
|---|---|---|
| 文字列 | 実行するコマンド Databricks CLI バージョン 0.259.0 で追加されました |
例
scripts:
my_script:
content: uv run pytest -m ${bundle.target}
sync
Type: Map
バンドルに含めるまたは除外するファイルとファイル パス。
Databricks CLI バージョン 0.229.0 以下で追加されました
キー | タイプ | 説明 |
|---|---|---|
| Sequence | バンドルから除外するファイルまたはフォルダーのリスト。include および exclude を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Sequence | バンドルに含めるファイルまたはフォルダーのリスト。include および exclude を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Sequence | バンドルがデプロイされるときにワークスペースに同期するローカル フォルダー パス (バンドル ルートの外部にある場合もあります)。sync.pathsを参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
含める、除外する
syncマッピング内のincludeおよびexcludeマッピングは、次のルールに応じて、バンドル デプロイメントに含める、またはバンドル デプロイメントから除外するファイルまたはフォルダーのリストを指定します。
- バンドルのルートにある
.gitignoreファイル内のファイルおよびパス グロブのリストに基づいて、includeマッピングには、バンドルのルートを基準としたファイル グロブ、パス グロブ、またはその両方のリストを明示的に含めることができます。 - バンドルのルートにある
.gitignoreファイル内のファイルおよびパス グロブのリストと、includeマッピング内のファイルおよびパス グロブのリストに基づいて、excludeマッピングには、バンドルのルートを基準としたファイル グロブ、パス グロブ、またはその両方のリストを含めることができ、明示的に除外することができます。
指定されたファイルとフォルダーへのすべてのパスは、それらが指定されたバンドル構成ファイルの場所を基準とします。
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
すると、delete-me.whlという名前のファイルを除き、ファイル拡張子が*.whlであるmy_package/distフォルダ内のすべてのファイルが含まれます。この場合もmy_package/distフォルダ内の他のファイルは含まれません。
syncマッピングは、特定のターゲットのtargetsマッピングで宣言することもできます。ターゲットで宣言されたすべてのsyncマッピングは、最上位のすべてのsyncマッピング宣言とマージされます。たとえば、前の例を続けると、次のtargetsレベルのincludeマッピングは、最上位のsyncマッピングのincludeマッピングとマージされます。
targets:
dev:
sync:
include:
- my_package/dist/delete-me.whl
同期パス
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/
...
targets
Type: Map
バンドルのデプロイメント ターゲット コンテキストを定義します。各 ターゲット は、アーティファクト、 Databricksワークスペース設定、および場合によってはターゲット固有のリソースの詳細の一意のコレクションです。
targetsマッピングは 1 つ以上のターゲット マッピングで構成され、各ターゲット マッピングには一意のプログラム名 (または論理名) が必要です。このマッピングはオプションですが、強くお勧めします。
targetsマッピング内の設定は、トップレベルのワークスペース、アーティファクト、およびリソースマッピングで指定された設定よりも優先されます。
ターゲットはトップレベルの変数の値をオーバーライドすることもできます。
Databricks CLI バージョン 0.229.0 以下で追加されました
targets:
<target-name>:
<target-field-name>: <target-field-value>
キー | タイプ | 説明 |
|---|---|---|
| Map | ターゲットデプロイメントに含めるアーティファクト。 アーティファクトを参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | このターゲットにデプロイするときのバンドル属性。バンドルを参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | このターゲットに使用するクラスターの ID。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | 廃止。 このターゲットに使用するコンピュートの ID。 |
| ブール値 | このターゲットがデフォルトのターゲットであるかどうか。ターゲットを参照してください。 名前は 大丈夫。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | ターゲットの Git バージョン管理設定。 git を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | ターゲットのデプロイメント モード。有効な値は Databricks CLI バージョン 0.229.0 以下で追加されました |
| Sequence | ターゲットにバンドルをデプロイおよび実行するための権限。 「パーミッション」を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | ターゲットのデプロイメントプリセット。 「ターゲット」を参照してください。 name.presets です。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | ターゲットのリソース定義。 「リソース」を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | バンドルの実行に使用する ID。 「実行」および「Databricks Asset Bundles ワークフローの実行 ID の指定」を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | バンドルが実行またはデプロイされるときにターゲット ワークスペースに同期するローカル パス。 「同期」を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | ターゲットのカスタム変数定義。変数を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | ターゲットの Databricks ワークスペース。ワークスペースを参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
ターゲット. 名前 .デフォルト
バンドル コマンドのターゲットのデフォルトを指定するには、 defaultマッピングをtrueに設定します。たとえば、 devという名前のこのターゲットはデフォルトのターゲットです。
targets:
dev:
default: true
デフォルトのターゲットが構成されていない場合、または特定のターゲット内でジョブまたはパイプラインを検証、デプロイ、および実行する場合には、バンドル コマンドの-tオプションを使用します。
次のコマンドは、 devおよびprodターゲット内でmy_job検証、デプロイ、実行します。
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>
ターゲット. 名前 .モード
開発とCI/CDベスト プラクティスを容易にするために、 Databricksアセット バンドルは、本番前運用および本番運用ワークフローの確実な動作を設定するターゲットのデプロイメント モードを提供します。 一部の動作は、 targets.name.presetsを使用して構成することもできます。
詳細については、 「Databricks Asset Bundle の展開モード」を参照してください。
バンドルの実行 ID を設定するには、 「Databricks アセット バンドル ワークフローの実行 ID を指定する」で説明されているように、ターゲットごとにrun_as指定できます。
ターゲットが開発ターゲットとして扱われることを指定するには、 modeマッピング セットをdevelopmentに追加します。ターゲットが本番運用ターゲットとして扱われることを指定するには、 modeマッピング セットをproductionに追加します。 たとえば、このprodという名前のターゲットは本番運用ターゲットとして扱われます。
targets:
prod:
mode: production
ターゲット. 名前 .プリセット
presetsマッピングを使用して、ターゲット デプロイメントmodeの動作の一部をカスタマイズできます。
使用可能なプリセットのリストについては、 「カスタムプリセット」を参照してください。
次の例は、すべての本番運用リソースにプレフィックスとタグを付ける、カスタマイズされた本番運用ターゲットを示しています。
targets:
prod:
mode: production
presets:
name_prefix: 'production_' # prefix all resource names with production_
tags:
prod: true
variables
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>
typeがcomplexに設定されていない限り、変数はstring型であると見なされます。「複素変数の定義」を参照してください。
バンドル構成内でカスタム変数を参照するには、置換${var.<variable_name>}を使用します。
カスタム変数と置換の詳細については、 Databricksアセット バンドルの置換と変数」を参照してください。
Databricks CLI バージョン 0.229.0 以下で追加されました
キー | タイプ | 説明 |
|---|---|---|
| すべて | 変数のデフォルト値。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | 変数の説明。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| Map | ID を取得する Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | 変数の型(単純または複合)。変数が複雑な場合にのみこのキーを設定してください。有効な値: Databricks CLI バージョン 0.229.0 以下で追加されました |
変数。 名前 .lookup
Type: Map
ID を取得するアラート、cluster_policy、クラスター、ダッシュボード、instance_pool、ジョブ、メタストア、パイプライン、クエリ、service_principal、またはウェアハウス オブジェクトの名前。ルックアップの使用の詳細については、 「オブジェクトの ID 値を取得する」を参照してください。
Databricks CLI バージョン 0.229.0 以下で追加されました
キー | タイプ | 説明 |
|---|---|---|
| 文字列 | ID を取得するアラートの名前。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | ID を取得するクラスターの名前。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | ID を取得するクラスターの名前。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | ID を取得するダッシュボードの名前。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | ID を取得するinstance_poolの名前。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | ID を取得するジョブの名前。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | ID を取得するメタストアの名前。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | ID を取得するnotification_destinationの名前。 Databricks CLI バージョン 0.236.0 で追加されました |
| 文字列 | ID を取得するパイプラインの名前。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | ID を取得するクエリの名前。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | ID を取得するサービスの名前。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | 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 以下で追加されました
キー | タイプ | 説明 |
|---|---|---|
| 文字列 | デプロイとワークフロー実行の両方に対してワークスペース内で使用するアーティファクト パス Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | 使用する認証タイプ。特に、Databricks CLI が予期しない認証タイプを推測する場合に重要です。「Databricks リソースへのアクセスの承認」を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | Azure クライアント ID。ワークスペース認証を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | Azure 環境。ワークスペース認証を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | Azure ログイン アプリ ID。ワークスペース認証を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | Azure テナント ID。ワークスペース認証を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| ブール値 | Azure に MSI を使用するかどうか。ワークスペース認証を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | Azure ワークスペースのリソース ID。ワークスペース認証を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | ワークスペースのクライアント ID。ワークスペース認証を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | デプロイメントとワークフロー実行の両方においてワークスペース内で使用するファイル パス。ワークスペース.file_path を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | Google サービス アカウント名。ワークスペース認証を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | Databricks ワークスペース ホスト URL。「ワークスペースのインスタンス名、URL、ID」を参照してください。
Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | Databricks ワークスペース プロファイル名。ワークスペース.プロフィールを参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | ワークスペースのリソースパス Databricks CLI バージョン 0.230.0 で追加されました |
| 文字列 | Databricks ワークスペースのルート パス。ワークスペース.root_path を参照してください。 Databricks CLI バージョン 0.229.0 以下で追加されました |
| 文字列 | ワークスペースの状態パス。このキーは、 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マッピングを含めることができます。これにより、デプロイメントとワークフロー実行の両方で、ワークスペース内で使用するデフォルト以外のルートパスを指定できます。次に例を示します。
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/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マッピングを含めることもできます。これにより、デプロイメントとワークフロー実行の両方で、ワークスペース内で使用するデフォルト以外のファイルパスを指定できます。次に例を示します。
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 によってデプロイされたジョブのリポジトリの起源をトレースできます。
validate 、 deploy 、 runなどのbundleコマンドを実行するたびに、 bundleコマンドによってコマンドの構成ツリーに次のデフォルト設定が設定されます。
Git設定を取得または上書きするには、バンドルがGitリポジトリに関連するディレクトリ、たとえばgit cloneコマンドを実行して初期化されたローカルディレクトリ内にある必要があります。ディレクトリがGitリポジトリに関連付けられていない場合、これらのGit設定は空になります。
キー | タイプ | 説明 |
|---|---|---|
| 文字列 | 現在の Git ブランチ名。これは、クローンされたリポジトリからコマンド |
| 文字列 | リポジトリの元の URL。これは、クローンされたリポジトリからコマンド |
例
必要に応じて、最上位レベルのbundleマッピングのgitマッピング内でorigin_urlとbranch設定をオーバーライドできます。
bundle:
git:
origin_url: <some-non-default-origin-url>
branch: <some-non-current-branch-name>