配置参考

本文提供了 Databricks 资产捆绑包配置 (YAML) 支持的键的参考。 请参阅什么是 Databricks 资产捆绑包?

有关完整的捆绑包示例,请参阅 捆绑包配置示例捆绑包示例 GitHub 存储库

项目

定义用于构建工件的设置。

类型 描述
build 字符串 一组可选的生成命令,用于在部署之前在本地运行。
executable 字符串 可执行类型。 有效值为 bashshcmd
files 地图 生成的工件文件的相对或绝对路径,定义为 artifact_file
path 字符串 项目的目录的本地路径。
type 字符串 如果项目是 Python 滚轮,则为必需项。 工件的类型。 有效值为 whljar

项目

定义用于生成项目的属性,其中每个键都是项目的名称,值是一个映射,用于定义项目生成设置。 有关 artifacts 映射的信息,请参阅项目

可以在 targets 映射中替代捆绑配置顶层中定义的项目设置。 请参阅在 Databricks 资产捆绑包中定义项目设置

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

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

artifact_file

定义捆绑包中的项目文件。

类型 描述
source 字符串 必填。 项目源文件。

bundle

捆绑包的属性。 请参阅 bundle

类型 描述
cluster_id 字符串 用于运行捆绑包的群集的 ID。 请参阅 cluster_id
databricks_cli_version 字符串 要用于捆绑包的 Databricks CLI 版本。 请参阅 databricks_cli_version
deployment 地图 捆绑部署的定义。 有关受支持的属性,请参阅 deploymentDatabricks 资产捆绑包部署模式
git 地图 与捆绑包关联的 Git 版本控制详细信息。 有关支持的属性,请参阅 gitgit
name 字符串 必填。 捆绑包的名称。
uuid 字符串 保留。 捆绑包的通用唯一标识符(UUID),用于唯一标识内部 Databricks 系统中的捆绑包。 当使用 Databricks 模板(使用 databricks bundle init 命令)初始化捆绑项目时,将生成此项。

部署

定义软件包部署属性。

类型 描述
fail_on_active_runs 布尔 是否在活动运行时失败。 如果设置为 true 可以中断正在运行的部署。
lock 地图 部署锁定属性。 请参阅 lock

experimental

定义实验性特征的属性。

类型 描述
python_wheel_wrapper 布尔 是否使用 Python 滚轮包装器。
scripts 命令(字符串) 要运行的命令
use_legacy_run_as 布尔 是否使用旧版 run_as 行为。

git

定义与捆绑包关联的 Git 版本控制详细信息。 请参阅 git

类型 描述
origin_url 字符串 存储库的源 URL。 请参阅 git
branch 字符串 Git 分支名称。 请参阅 git

grant

定义对 Unity 目录对象的访问。 有关详细信息,请参阅 使用 Unity 目录连接到云对象存储和服务。

类型 描述
principal 字符串 必填。 将被授予特权的主体的名称。
privileges 字符串 必填。 给指定实体授予的权限。

以下示例使用授权定义 Unity 目录架构:

resources:
  schemas:
    my_schema:
      name: test-schema
      grants:
        - principal: users
          privileges:
            - CAN_MANAGE
        - principal: my_team
          privileges:
            - CAN_READ
      catalog_name: main
      comment: "my schema with grants"

lock

定义包部署锁定属性。

类型 描述
enabled 布尔 是否启用此锁。
force 布尔 如果启用,是否强制此锁定。

许可

定义特定实体的权限。 请参阅 permissions为 Databricks 资产捆绑包中的资源设置权限

类型 描述
group_name 字符串 具有 level 中设置的权限的组的名称。
level 字符串 必填。 为此权限定义的用户、组、服务主体所允许的权限。
service_principal_name 字符串 具有 level 中设置的权限的服务主体的名称。
user_name 字符串 具有 level 中设置的权限的用户的名称。

权限

定义应用于软件包中所定义的试验、作业、流水线和模型的权限序列,其中序列中的每一项都是特定实体的权限

请参阅 permissions为 Databricks 资产捆绑包中的资源设置权限

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

定义捆绑包部署预设。 请参阅自定义预设

类型 描述
jobs_max_concurrent_runs 整数 作业的最大并发运行数。
name_prefix 字符串 捆绑包的作业运行的前缀。
pipelines_development 布尔 是否应在开发模式下锁定管道部署。
source_linked_deployment 布尔 是否将部署链接到捆绑包源。
tags 地图 捆绑包部署的标记。
trigger_pause_status 字符串 要应用于所有作业触发器和计划的暂停状态。 有效值为 PAUSEDUNPAUSED

资源

用于定义捆绑包资源的映射,其中每个键是资源的名称,值是定义该资源的映射。 有关 Databricks 资产捆绑包支持的资源和资源定义参考的详细信息,请参阅 Databricks 资产捆绑包资源

resources:
  <resource-type>s:
    <resource-name>:
      <resource-field-name>: <resource-field-value>
类型 描述
clusters 地图 捆绑包的群集定义,其中每个密钥都是群集的名称。 请参阅 cluster
dashboards 地图 捆绑包的仪表板定义,其中每个键都是仪表板的名称。 请参阅 dashboard
experiments 地图 捆绑包的试验定义,其中每个键都是试验的名称。 请参阅 experiment
jobs 地图 捆绑包中作业的定义,其中每个键都是该作业的名称。 请参阅 job
model_serving_endpoints 地图 捆绑包中模型服务端点的定义,其中每个键名都是模型服务端点的名称。 请参阅 model_serving_endpoint
models 地图 捆绑包的模型定义,其中每个键都是模型的名称。 请参阅 模型(旧版)
pipelines 地图 捆绑包的管道定义,其中每个键都是管道的名称。 请参阅 pipeline
quality_monitors 地图 捆绑包的质量监视器定义,其中每个键都是质量监视器的名称。 请参阅 quality_monitor (Unity Catalog)
registered_models 地图 捆绑包的已注册模型定义,其中每个密钥都是 Unity 目录注册模型的名称。 请参阅 registered_model (Unity Catalog)
schemas 地图 捆绑包的架构定义,其中每个密钥都是架构的名称。 请参阅 架构(Unity Catalog)
volumes 地图 捆绑包的卷定义,其中每个键都是卷的名称。 请参阅 volume (Unity Catalog)

run_as

运行 Databricks 资产捆绑包工作流时要使用的标识。 请参阅指定 Databricks 资产捆绑包工作流的运行标识

类型 描述
service_principal_name 字符串 活动服务主体的应用程序 ID。 设置此字段需要 servicePrincipal/user 角色。
user_name 字符串 活动工作区用户的电子邮件。 非管理员用户只能将此字段设置为自己的电子邮件。

同步

要包含或排除在集合中的文件和文件路径。 请参阅同步

类型 描述
exclude 序列 要从捆绑包中排除的文件或文件夹的列表。
include 序列 要包含在捆绑包中的文件或文件夹的列表。
paths 序列 在部署捆绑包时同步到工作区的本地文件夹路径(可以是捆绑包根目录外部)。

目标

定义捆绑包的部署目标。 请参阅目标

类型 描述
artifacts 地图 要包含在目标部署中的项目。 请参阅项目
bundle 地图 部署到此目标的捆绑包属性。
cluster_id 字符串 要用于此目标的群集的 ID。
compute_id 字符串 已弃用。 要用于此目标的计算的 ID。
default 布尔 此目标是否为默认目标。
git 地图 目标的 Git 版本控制设置。 请参阅 git
mode 字符串 目标的部署模式。 有效值为 developmentproduction。 请参阅 Databricks 资产捆绑包部署模式
permissions 序列 在目标中部署和运行捆绑包的权限。 请参阅权限
presets 地图 目标的部署预设。 请参阅预设
resources 地图 目标的资源定义。 请参阅资源
run_as 地图 用于运行捆绑包的标识。 请参阅 run_as指定 Databricks 资产捆绑包工作流的运行标识
sync 地图 运行或部署捆绑包时同步到目标工作区的本地路径。 请参阅 sync
variables 地图 目标的自定义变量定义。 请参阅 variablesDatabricks 资产捆绑包中的替换和变量
workspace 地图 目标的 Databricks 工作区。 workspace

变量

一个“映射”,用于定义捆绑包的自定义变量。在这个映射中,每个键是变量的名称,而每个值则是一个用于定义变量的映射。 请参阅 Databricks 资产捆绑包中的替换和变量

类型 描述
变量名称 地图 变量的定义。 请参阅 variable-name

变量名称

每个变量定义具有以下属性:

类型 描述
description 字符串 变量的说明。
lookup 字符串 要为其检索 ID 的 alertcluster_policyclusterdashboardinstance_pooljobmetastorepipelinequeryservice_principalwarehouse 对象的名称。
type 字符串 变量的类型。 有效值为 complex

工作空间

定义捆绑包的 Databricks 工作区。 请参阅 workspace

类型 描述
artifact_path 字符串 在工作区中用于部署和工作流运行的项目路径
auth_type 字符串 身份验证类型。
azure_client_id 字符串 Azure 客户端 ID。
azure_environment 字符串 Azure 环境。
azure_login_app_id 字符串 Azure 登录应用 ID。
azure_tenant_id 字符串 Azure 租户 ID。
azure_use_msi 布尔 是否对 Azure 使用 MSI。
azure_workspace_resource_id 字符串 Azure 工作区资源 ID。
client_id 字符串 工作区的客户端 ID。
file_path 字符串 在工作区中用于部署和工作流运行的文件路径。
google_service_account 字符串 Google 服务帐户名称。
host 字符串 Databricks 工作区主机 URL。
profile 字符串 Databricks 工作区配置文件名称。
resource_path 字符串 工作区资源路径。
root_path 字符串 Databricks 工作区根路径。
state_path 字符串 工作区状态路径。