声明性自动化捆绑资源

声明性自动化捆绑包(以前称为 Databricks 资产捆绑包)允许指定捆绑包在捆绑配置中的 resources 映射中使用的Azure Databricks资源的相关信息。 请参阅 资源参考

本页提供捆绑包支持的所有资源类型的配置参考,并提供了每个受支持类型的详细信息和示例。 有关其他示例,请参阅捆绑包配置示例

用于验证 YAML 配置的捆绑包的 JSON 架构位于 Databricks CLI GitHub存储库中

提示

若要为任何现有资源生成 YAML,请使用 databricks bundle generate 命令。 请参阅 databricks 捆绑包生成

支持的资源

下表列出了捆绑包(YAML 和 Python(如果适用)支持的资源类型。 可以通过在捆绑包中定义资源并部署捆绑包来创建一些资源,并且某些资源只能通过引用要包含在捆绑包中的现有资产来创建。

资源配置定义与 Databricks REST API 对象相对应的 Databricks 对象。 REST API 对象支持的创建请求字段(以 YAML 表示)是资源支持的密钥。 下表中提供了每个资源的相应对象的文档链接。

提示

如果在捆绑包配置文件中发现未知资源属性,databricks bundle validate 命令将返回警告。

资源 Python 支持 相应的 REST API 对象
警报 警报对象
目录 (Unity 目录) Catalog 对象
群集 群集对象
仪表板 仪表板对象
实验 试验对象
external_location (Unity 目录) 外部位置对象
instance_pool 实例池对象
作业 作业 作业对象
job_run 作业运行对象
模型(旧版) 模型(旧版)对象
管道 管道 Pipeline 对象
registered_model (Unity Catalog) 已注册的模型对象
架构 (Unity 目录) Schemas Schema 对象
secret (Unity 目录) 秘密对象
秘密范围 机密范围对象
sql_warehouse SQL 仓库对象
(Unity Catalog) 体积 卷对象

警报

Type: Map

警报资源定义 SQL 警报(v2)。

在 Databricks CLI 版本 0.279.0 中添加

alerts:
  <alert-name>:
    <alert-field-name>: <alert-field-value>
密钥 类型 DESCRIPTION
custom_description 字符串 可选。 警报的自定义说明。 支持胡须模板。
在 Databricks CLI 版本 0.279.0 中添加
custom_summary 字符串 可选。 警报的自定义摘要。 支持胡须模板。
在 Databricks CLI 版本 0.279.0 中添加
display_name 字符串 必填。 警报的显示名称,例如 Example alert
在 Databricks CLI 版本 0.279.0 中添加
evaluation 地图 必填。 警报评估配置 请参阅 alert.evaluation
在 Databricks CLI 版本 0.279.0 中添加
file_path 字符串 警报资产的本地文件路径。
在 Databricks CLI 版本 0.282.0 中添加
lifecycle 地图 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期
在 Databricks CLI 版本 0.279.0 中添加
parent_path 字符串 可选。 包含警报的文件夹的工作区路径。 只能在创建时设置,不能更新。 示例:/Users/someone@example.com
在 Databricks CLI 版本 0.279.0 中添加
permissions 序列 警报权限。 查看 权限
在 Databricks CLI 版本 0.279.0 中添加
query_text 字符串 必填。 要运行的查询的文本,例如SELECT 1
在 Databricks CLI 版本 0.279.0 中添加
run_as 地图 可选。 指定用于运行警报的身份。 此字段允许将警报配置为作为特定用户或服务主体运行。 请参阅 run_as
  • 对于用户标识:将user_name设置为活动工作区用户的电子邮件。 用户只能将其设置为自己的电子邮件。
  • 对于服务主帐户:将 service_principal_name 设为应用程序 ID。 需要拥有 servicePrincipal 或 user 角色。 如果未指定,警报将作为请求用户运行。

在 Databricks CLI 版本 0.279.0 中添加
schedule 地图 必填。 警报的调度配置。 请参阅 alert.schedule
在 Databricks CLI 版本 0.279.0 中添加
warehouse_id 字符串 必填。 附加到警报的 SQL 仓库的 ID,例如a7066a8ef796be84
在 Databricks CLI 版本 0.279.0 中添加

警报.评估

Type: Map

警报评估配置

密钥 类型 DESCRIPTION
comparison_operator 字符串 用于在警报评估中进行比较的运算符。
empty_result_state 字符串 如果结果为空,则为警报状态。 避免将此字段设置为 UNKNOWN,因为 UNKNOWN 的状态计划弃用。
notification 地图 当警报触发时需通知的用户或其他对象。 请参阅 alert.evaluation.notification
source 地图 用于评估警报的结果中的源列。 请参阅 alert.evaluation.source
threshold 地图 用于警报评估的阈值。 这可以是列或值。 请参阅 alert.evaluation.threshold

alert.evaluation.notification

Type: Map

当警报触发时需通知的用户或其他对象。

密钥 类型 DESCRIPTION
notify_on_ok 布尔 可选。 警报返回正常时是否通知警报订阅者。
retrigger_seconds 整数 可选。 警报在允许发送另一个通知之前触发后等待的秒数。 如果设置为 0 或省略,则警报不会在第一个触发器之后发送任何进一步通知。 设置此值为1可使警报在每次评估满足条件时发送通知,从而有效地使警报始终重新触发以进行通知。
subscriptions 序列 可选。 通知订阅的无序列表。 请参阅 alert.evaluation.notification.subscriptions

alert.evaluation.notification.subscriptions

Type: Sequence

无序的通知订阅列表。

列表中的每个项都是一个 AlertSubscription

密钥 类型 DESCRIPTION
destination_id 字符串 通知目标的 ID。
user_email 字符串 要通知的用户的电子邮件地址。

alert.evaluation.source

Type: Map

用于评估警报的结果中的源列。

密钥 类型 DESCRIPTION
aggregation 字符串 要应用于源列的聚合方法。 有效值为SUM、、COUNT、、COUNT_DISTINCTAVGMEDIAN、、 MINMAXSTDDEV
display 字符串 源数据列的显示名称。
name 字符串 查询结果中的源列的名称。

alert.evaluation.threshold

Type: Map

应用于警报评估的阈值可以是一个列或一个值。

密钥 类型 DESCRIPTION
column 地图 用于作为阈值的列引用。 请参阅 alert.evaluation.source
value 地图 要用作阈值的文本值。 请参阅 alert.evaluation.threshold.value

警报评估阈值.值

Type: Map

要用作阈值的文本值。 指定以下值类型之一。

密钥 类型 DESCRIPTION
bool_value 布尔 可选。 阈值的布尔值,例如 true
double_value Double 可选。 阈值的数值,例如 1.25
string_value 字符串 可选。 阈值的字符串值,例如 test

alert.schedule

Type: Map

警报的调度配置。

密钥 类型 DESCRIPTION
pause_status 字符串 可选。 此计划是否处于暂停状态。 有效值: UNPAUSEDPAUSED。 默认值:UNPAUSED
quartz_cron_schedule 字符串 必填。 使用硅语法的 cron 表达式,指定此管道的计划。 Quartz 格式以 Quartz 调度器格式进行描述。
timezone_id 字符串 必填。 Java时区 ID。计划将使用此时区解决。 这将与 quartz_cron_schedule 结合使用,以确定时间表。 有关详细信息,请参阅 SET 时区

例子

以下示例配置使用简单的评估定义警报:

resources:
  alerts:
    my_alert:
      display_name: my_alert
      evaluation:
        comparison_operator: EQUAL
        source:
          name: '1'
        threshold:
          value:
            double_value: 2
      query_text: select 2
      schedule:
        quartz_cron_schedule: '44 19 */1 * * ?'
        timezone_id: Europe/Amsterdam
      warehouse_id: 799f096837fzzzz4

以下示例配置定义了一个警报,其中包含使用聚合评估并发送通知的权限:

resources:
  alerts:
    my_alert:
      permissions:
        - level: CAN_MANAGE
          user_name: someone@example.com
      custom_summary: 'My alert'
      display_name: 'My alert'
      evaluation:
        comparison_operator: 'EQUAL'
        notification:
          notify_on_ok: false
          retrigger_seconds: 1
        source:
          aggregation: 'MAX'
          display: '1'
          name: '1'
        threshold:
          value:
            double_value: 2
      query_text: 'select 2'
      schedule:
        pause_status: 'UNPAUSED'
        quartz_cron_schedule: '44 19 */1 * * ?'
        timezone_id: 'Europe/Amsterdam'
      warehouse_id: 799f096837fzzzz4

catalogs

Type: Map

目录资源允许在捆绑包中定义目录(Unity 目录)。

注释

仅当使用 直接部署引擎时,才支持使用声明性自动化捆绑包来定义目录。

在 Databricks CLI 版本 0.287.0 中添加

catalogs:
  <catalog-name>:
    <catalog-field-name>: <catalog-field-value>
密钥 类型 DESCRIPTION
comment 字符串 用户提供的目录自由格式文本说明。
在 Databricks CLI 版本 0.287.0 中添加
connection_name 字符串 与外部数据源的连接的名称。
在 Databricks CLI 版本 0.287.0 中添加
custom_max_retention_hours 整数 目录的最大保留时间为小时。
在Databricks CLI 1.5.0版本中添加
grants 序列 与目录关联的授予。 请参阅 授予
在 Databricks CLI 版本 0.287.0 中添加
lifecycle 地图 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期
在 Databricks CLI 版本 0.287.0 中添加
managed_encryption_settings 地图 控制托管目录数据的 CMK 加密。 请参阅 catalog.managed_encryption_settings
在 Databricks CLI 版本 0.298.0 中添加
name 字符串 必填。 目录的名称。
在 Databricks CLI 版本 0.287.0 中添加
options Object 附加到安全对象的键值属性的映射。
在 Databricks CLI 版本 0.287.0 中添加
properties Object 附加到安全对象的键值属性的映射。
在 Databricks CLI 版本 0.287.0 中添加
provider_name 字符串 OpenSharing 提供程序的名称。 OpenSharing 目录是基于远程共享服务器上的 OpenSharing 共享的目录。 请参阅 什么是 OpenSharing?
在 Databricks CLI 版本 0.287.0 中添加
share_name 字符串 共享提供程序下共享的名称。
在 Databricks CLI 版本 0.287.0 中添加
storage_root 字符串 目录中托管表的存储根 URL。
在 Databricks CLI 版本 0.287.0 中添加

示例:

# databricks.yml
bundle:
  name: catalogs-example
  engine: direct # catalogs require the direct deployment engine

resources:
  catalogs:
    my_catalog:
      name: my_catalog
      comment: 'Catalog created by Declarative Automation Bundles'
      properties:
        purpose: 'Testing'
      grants:
        - principal: someone@example.com
          privileges:
            - USE_CATALOG
            - CREATE_SCHEMA

  schemas:
    my_schema:
      name: my_schema
      catalog_name: ${resources.catalogs.my_catalog.name}
      comment: 'Schema in custom catalog'

catalog.managed_encryption_settings

Type: Map

托管目录数据的加密设置。 用于配置客户管理的密钥(CMK)。

在 Databricks CLI 版本 0.298.0 中添加

密钥 类型 DESCRIPTION
azure_encryption_settings 地图 可选Azure设置 - 仅当使用 Azure CMK 时才是必需的。
在 Databricks CLI 版本 0.298.0 中添加
azure_key_vault_key_id 字符串 Azure中的 AKV URL,否则为 null。
在 Databricks CLI 版本 0.298.0 中添加
customer_managed_key_id 字符串 否则,AWS 和 GCP 中的 CMK UUID 为 null。
在 Databricks CLI 版本 0.298.0 中添加

群集

Type: Map

群集资源定义 群集

clusters:
  <cluster-name>:
    <cluster-field-name>: <cluster-field-value>
密钥 类型 DESCRIPTION
apply_policy_default_values 布尔 设置为 true 时,策略中的固定值和默认值将用于省略的字段。 设置为 false 时,将仅应用策略中的固定值。
autoscale 地图 为了根据负载自动纵向扩展和缩减群集所需的参数。 请参阅 autoscale
autotermination_minutes 整数 在群集处于非活动状态(以分钟为单位)后自动终止群集。 如果未设置,则不会自动终止此群集。 如果指定,阈值必须介于 10 到 10000 分钟之间。 用户还可以将此值设置为 0 以显式禁用自动终止。
aws_attributes 地图 与 Amazon Web Services 上运行的群集相关的属性。 如果未在创建群集时指定,将使用一组默认值。 请参阅 aws_attributes
azure_attributes 地图 与在Azure上运行的群集相关的属性。 如果未在创建群集时指定,将使用一组默认值。 请参阅 azure_attributes
cluster_log_conf 地图 用于将 Spark 日志传送到长期存储目标的配置。 请参阅 cluster_log_conf
cluster_name 字符串 用户请求的群集名称。 这不必是唯一的。 如果未在创建时指定,群集名称将为空字符串。
custom_tags 地图 群集资源的其他标记。 除了 default_tags,Databricks 还会使用这些标记来标记所有群集资源(例如,AWS 实例和 EBS 卷)。
data_security_mode 字符串 从群集访问数据时要使用的数据治理模型。 有效值包括 DATA_SECURITY_MODE_AUTODATA_SECURITY_MODE_STANDARDDATA_SECURITY_MODE_DEDICATEDNONEUSER_ISOLATIONSINGLE_USER 旧别名分别用于 DATA_SECURITY_MODE_STANDARDDATA_SECURITY_MODE_DEDICATED/或。 从 Databricks Runtime 15.0 开始,模式 LEGACY_* 已弃用。
docker_image 地图 自定义 Docker 映像。 请参阅 docker_image
driver_instance_pool_id 字符串 群集所属的驱动程序实例池的可选 ID。 如果未分配驱动程序池,池群集将使用 ID 为 (instance*pool_id) 的实例池。
driver_node_type_flexibility 地图 驱动程序节点的灵活节点类型配置。 请参阅 cluster.driver_node_type_flexibility
在 Databricks CLI 版本 0.285.0 中添加
driver_node_type_id 字符串 Spark 驱动程序的节点类型。 此字段可选。 如果未设置,驱动程序节点类型将设置为值 node_type_id。 如果node_type_id设置了此字段,virtual_cluster_size则不应设置此字段。 如果同时driver_node_type_idnode_type_id指定和virtual_cluster_size指定,driver_node_type_idnode_type_id优先。
enable_elastic_disk 布尔 自动缩放本地存储:启用后,当 Spark 辅助角色在磁盘空间不足时,此群集将动态获取额外的磁盘空间。 此功能需要特定的 AWS 权限才能正常运行 - 有关详细信息,请参阅用户指南。
enable_local_disk_encryption 布尔 是否在群集 VM 的本地磁盘上启用 LUKS。
init_scripts 序列 用于存储初始化脚本的配置。 可以指定任意数量的目标。 这些脚本会按照所提供的顺序依次执行。 请参阅 init_scripts
instance_pool_id 字符串 群集所属的实例池的可选 ID。
is_single_node 布尔 仅在满足kind = CLASSIC_PREVIEW条件时才能使用此字段。 设置为 true 时,Databricks 将自动设置单个节点相关 custom_tagsspark_conf以及 num_workers
在 Databricks CLI 版本 0.237.0 中添加
kind 字符串 此计算规范描述的计算类型。
在 Databricks CLI 版本 0.237.0 中添加
lifecycle 地图 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期
在 Databricks CLI 版本 0.268.0 中添加
node_type_id 字符串 此字段通过单个值对提供给此群集中的每个 Spark 节点的资源进行编码。 例如,可以针对内存或计算密集型工作负载对 Spark 节点进行预配和优化。 可以使用 列表节点类型 API 检索可用节点类型的列表
num_workers 整数 此群集应该拥有的工作节点的数目。 群集有一个 Spark 驱动器和 num_workers 执行器,总共 num_workers + 1 个 Spark 节点。
permissions 序列 群集权限。 查看 权限
policy_id 字符串 用于创建群集(如果适用)的群集策略的 ID。
remote_disk_throughput 整数 每秒远程磁盘吞吐量(以字节为单位)。
在 Databricks CLI 版本 0.257.0 中添加
runtime_engine 字符串 确定群集的运行时引擎是 STANDARDPHOTON
single_user_name 字符串 如果 data*security_mode 为 SINGLE_USER,则为单个用户名。
spark_conf 地图 一个对象,其中包含一组可选的由用户指定的 Spark 配置键值对。 用户还可以通过spark.driver.extraJavaOptionsspark.executor.extraJavaOptions分别传入驱动程序和执行程序的额外 JVM 选项字符串。
spark_env_vars 地图 一个对象,其中包含一组可选的由用户指定的环境变量键值对。
spark_version 字符串 群集的 Spark 版本,例如 3.3.x-scala2.11 可以使用 列表可用的 Spark 版本 API 检索可用的 Spark 版本列表。
ssh_public_keys 序列 将会添加到此群集中各个 Spark 节点的 SSH 公钥内容。 相应的私钥可用于在端口ubuntu上使用用户名2200登录。 最多可以指定 10 个密钥。
total_initial_remote_disk_size 整数 初始远程磁盘大小总计(以字节为单位)。
在 Databricks CLI 版本 0.257.0 中添加
use_ml_runtime 布尔 仅在满足kind = CLASSIC_PREVIEW条件时才能使用此字段。 effective_spark_versionspark_version(Databricks Runtime 版本)确定、此字段 use_ml_runtime,以及 node_type_id 是否为 GPU 节点。
在 Databricks CLI 版本 0.237.0 中添加
worker_node_type_flexibility 地图 辅助角色节点的灵活节点类型配置。 请参阅 cluster.worker_node_type_flexibility
在 Databricks CLI 版本 0.285.0 中添加
workload_type 地图 显示群集工作负荷类型的群集属性。 请参阅 workload_type

cluster.autoscale(自动扩展)

Type: Map

用于根据负载自动纵向扩展和缩减群集的参数。

密钥 类型 DESCRIPTION
min_workers 整数 群集在未充分利用时可纵向缩减到的最小工作器数。 此数量也是群集在创建后将会具有的初始工作人员数量。
max_workers 整数 群集在负载过高时可纵向扩展到的最大工作器数。 max_workers 必须严格大于 min_workers

cluster.azure_attributes

Type: Map

与在Azure上运行的群集相关的属性。

密钥 类型 DESCRIPTION
first_on_demand 整数 群集的第一个 first_on_demand 节点将放置在按需实例上。
availability 字符串 用于在 first_on_demand 节点之后的所有节点的可用性类型。 有效值为 SPOT_AZUREON_DEMAND_AZURESPOT_WITH_FALLBACK_AZURE。 如果 first_on_demand 为零,则该可用性类型用于整个集群。
capacity_reservation_group 字符串 用于启动虚拟机的Azure容量预留组资源ID,格式为 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}。 指定后,虚拟机会根据提供的容量预留启动。
只有当工作区使用注入的VNet(客户定义的VNet,未由Databricks管理)时,才能指定容量预留。 databricks-login-prod企业应用必须获得以下四个权限:Microsoft.Compute/capacityReservationGroups/read、、 Microsoft.Compute/capacityReservationGroups/deploy/actionMicrosoft.Compute/capacityReservationGroups/capacityReservations/readMicrosoft.Compute/capacityReservationGroups/capacityReservations/deploy/action
在Databricks CLI 1.5.0版本中添加
log_analytics_info 地图 Azure Log Analytics代理的配置。 请参阅 log_analytics_info

cluster.azure_attributes.log_analytics_info

Type: Map

Azure Log Analytics代理的配置。

密钥 类型 DESCRIPTION
log_analytics_workspace_id 字符串 Azure Log Analytics工作区的 ID。
log_analytics_primary_key 字符串 Azure Log Analytics工作区的主键。

集群.cluster_log_conf

用于将 Spark 日志传送到长期存储目标的配置。

密钥 类型 DESCRIPTION
dbfs 地图 群集日志传递的 DBFS 位置。 请参阅 dbfs
volumes 地图 用于群集日志传送的卷的位置。 请参阅

cluster.cluster_log_conf.dbfs

Type: Map

群集日志传递的 DBFS 位置。

密钥 类型 DESCRIPTION
destination 字符串 群集日志传递的 DBFS 路径(例如, dbfs:/cluster-logs)。

cluster.cluster_log_conf.volumes

Type: Map

用于群集日志传送的卷的位置。

密钥 类型 DESCRIPTION
destination 字符串 群集日志传送的卷路径(例如, /Volumes/catalog/schema/volume/cluster_log)。

cluster.docker_image

Type: Map

自定义 Docker 映像配置。

密钥 类型 DESCRIPTION
url 字符串 Docker 映像的 URL。
basic_auth 地图 Docker 存储库的基本身份验证。 请参阅 basic_auth

cluster.docker_image.basic_auth

Type: Map

Docker 存储库的基本身份验证。

密钥 类型 DESCRIPTION
username 字符串 Docker 注册表身份验证的用户名。
password 字符串 Docker 注册表身份验证的密码。

集群.初始化脚本

Type: Map

用于存储初始化脚本的配置。 必须至少指定一个位置类型。

密钥 类型 DESCRIPTION
dbfs 地图 init 脚本的 DBFS 位置。 请参阅 dbfs
workspace 地图 初始化脚本的工作区位置。 请参阅 workspace
abfss 地图 init 脚本的 ABFSS 位置。 请参阅 abfss
volumes 地图 init 脚本的 Unity 目录卷位置。 请参阅

cluster.init_scripts.dbfs

Type: Map

init 脚本的 DBFS 位置。

密钥 类型 DESCRIPTION
destination 字符串 init 脚本的 DBFS 路径。

集群.初始化脚本.工作区

Type: Map

初始化脚本的工作区位置。

密钥 类型 DESCRIPTION
destination 字符串 init 脚本的工作区路径。

cluster.init_scripts.abfss

Type: Map

init 脚本的 ABFSS 位置。

密钥 类型 DESCRIPTION
destination 字符串 初始化脚本的 ABFSS 路径。

cluster.init_scripts.volumes

Type: Map

init 脚本的卷位置。

密钥 类型 DESCRIPTION
destination 字符串 init 脚本的 Unity 目录卷路径。

cluster.driver_node_type_flexibility

Type: Map

驱动程序节点的灵活节点类型配置。

在 Databricks CLI 版本 0.285.0 中添加

密钥 类型 DESCRIPTION
alternate_node_type_ids 序列 当主节点类型不可用时用作回退的节点类型 ID 的列表。
在 Databricks CLI 版本 0.285.0 中添加

cluster.worker_node_type_flexibility

Type: Map

辅助角色节点的灵活节点类型配置。

在 Databricks CLI 版本 0.285.0 中添加

密钥 类型 DESCRIPTION
alternate_node_type_ids 序列 当主节点类型不可用时用作回退的节点类型 ID 的列表。
在 Databricks CLI 版本 0.285.0 中添加

集群.工作负载类型

Type: Map

显示群集工作负荷类型的群集属性。

密钥 类型 DESCRIPTION
clients 地图 定义客户端可以使用群集的类型。 请参阅 客户端

集群.工作负载类型.客户端

Type: Map

此计算工作负荷的客户端类型。

密钥 类型 DESCRIPTION
jobs 布尔 群集是否可以运行作业。
notebooks 布尔 群集是否可以运行笔记本。

例子

以下示例使用 Databricks Runtime 15.4 LTS 和群集策略为当前用户创建专用(单用户)群集:

resources:
  clusters:
    my_cluster:
      num_workers: 0
      node_type_id: 'i3.xlarge'
      driver_node_type_id: 'i3.xlarge'
      spark_version: '15.4.x-scala2.12'
      spark_conf:
        'spark.executor.memory': '2g'
      autotermination_minutes: 60
      enable_elastic_disk: true
      single_user_name: ${workspace.current_user.userName}
      policy_id: '000128DB309672CA'
      enable_local_disk_encryption: false
      data_security_mode: SINGLE_USER
      runtime_engine: STANDARD

此示例创建一个简单的群集 my_cluster ,并将其设置为用于运行笔记本的 my_job群集:

bundle:
  name: clusters

resources:
  clusters:
    my_cluster:
      num_workers: 2
      node_type_id: 'i3.xlarge'
      autoscale:
        min_workers: 2
        max_workers: 7
      spark_version: '13.3.x-scala2.12'
      spark_conf:
        'spark.executor.memory': '2g'

  jobs:
    my_job:
      tasks:
        - task_key: test_task
          notebook_task:
            notebook_path: './src/my_notebook.py'
          existing_cluster_id: ${resources.clusters.my_cluster.id}

仪表板

Type: Map

仪表板资源允许您在捆绑包中管理 AI/BI 仪表板。 有关 AI/BI 仪表板的信息,请参阅仪表板

如果您部署了一个捆绑包,其中包含本地环境中的仪表板,然后使用 UI 修改该仪表板,则通过 UI 进行的修改不会应用在本地捆绑包中的仪表板 JSON 文件上,除非您使用 bundle generate 显式更新该文件。 可以使用 --watch 持续轮询和检索仪表板的更改。 请参阅 databricks 捆绑包生成

此外,如果尝试从本地环境部署包含与远程工作区中的仪表板 JSON 文件不同版本的仪表板 JSON 文件的捆绑包,则会发生错误。 若要使用本地工作区强制部署并覆盖远程工作区中的仪表板,请使用 --force 选项。 请参阅 databricks 捆绑包部署

在 Databricks CLI 版本 0.232.0 中添加

注释

将声明性自动化捆绑包与 仪表板 Git 支持配合使用时,通过添加 同步映射 来阻止生成重复的仪表板,以排除仪表板以文件同步:

sync:
  exclude:
    - src/*.lvdash.json
dashboards:
  <dashboard-name>:
    <dashboard-field-name>: <dashboard-field-value>
密钥 类型 DESCRIPTION
dataset_catalog 字符串 仪表板中所有数据集使用的默认目录值(如果未在查询中指定)。 有关设置此字段的示例配置,请参阅 仪表板目录和架构参数化
在 Databricks CLI 版本 0.283.0 中添加
dataset_schema 字符串 仪表板中所有数据集使用的默认架构值(如果未在查询中指定)。 有关设置此字段的示例配置,请参阅 仪表板目录和架构参数化
在 Databricks CLI 版本 0.283.0 中添加
display_name 字符串 仪表板的显示名称。
在 Databricks CLI 版本 0.232.0 中添加
embed_credentials 布尔 捆绑包部署标识凭据是否用于为所有仪表板查看器执行查询。 如果设置为 false,则使用查看者的凭据。 默认值为 false
在 Databricks CLI 版本 0.232.0 中添加
etag 字符串 仪表板的实体标记。 可以在更新时选择提供,以确保自上次读取以来仪表板未被修改。
在 Databricks CLI 版本 0.234.0 中添加
file_path 字符串 仪表板资产的本地路径,包括文件名。 导出的仪表板始终具有文件扩展名 .lvdash.json
在 Databricks CLI 版本 0.232.0 中添加
lifecycle 地图 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期
parent_path 字符串 包含仪表板的文件夹的工作区路径。 包括前导斜杠和无尾部斜杠。
在 Databricks CLI 版本 0.232.0 中添加
path 字符串 仪表板资产的工作区路径,包括资产名称。
在 Databricks CLI 版本 0.234.0 中添加
permissions 序列 仪表板权限。 查看 权限
在 Databricks CLI 版本 0.232.0 中添加
serialized_dashboard 任意 以序列化字符串形式表示的仪表板的内容。
在 Databricks CLI 版本 0.232.0 中添加
warehouse_id 字符串 用于运行仪表板的仓库 ID。
在 Databricks CLI 版本 0.232.0 中添加

示例:

以下示例包括并将示例的 NYC 出租车行程分析仪表板部署到 Databricks 工作区。

resources:
  dashboards:
    nyc_taxi_trip_analysis:
      display_name: 'NYC Taxi Trip Analysis'
      file_path: ../src/nyc_taxi_trip_analysis.lvdash.json
      warehouse_id: ${var.warehouse_id}

试验

Type: Map

试验资源允许在捆绑包中定义 MLflow 试验 。 有关 MLflow 试验的信息,请参阅使用 MLflow 试验组织训练运行

experiments:
  <experiment-name>:
    <experiment-field-name>: <experiment-field-value>
密钥 类型 DESCRIPTION
artifact_location 字符串 存储试验项目的位置。 该位置必须包含 URI 方案,例如 dbfs:s3:。 若要将项目存储在 Unity 目录卷中(建议使用 MLflow 2.15.0 或更高版本),请使用表单 dbfs:/Volumes/<catalog>/<schema>/<volume>/<path>的路径。 请参阅 从工作区创建试验
lifecycle 地图 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期
在 Databricks CLI 版本 0.268.0 中添加
name 字符串 标识试验的易记名称。 例如 /Workspace/Users/someone@example.com/my_experiment,试验名称必须是 Databricks 工作区中的绝对路径。
permissions 序列 试验的权限。 查看 权限
tags 序列 其他元数据键值对。 请参阅 标记。 若要设置试验的说明,请使用 mlflow.note.content 标记。 若要附加无服务器预算策略,请使用 mlflow.workload_creation_policy_id 标记。 请参阅 使用无服务器使用策略的属性使用情况

示例:

以下示例定义所有用户都可以查看的试验:

resources:
  experiments:
    experiment:
      name: /Workspace/Users/someone@example.com/my_experiment
      permissions:
        - level: CAN_READ
          group_name: users
      tags:
        - key: mlflow.note.content
          value: MLflow experiment used to track runs

external_location (Unity 目录)

Type: Map

外部位置资源允许在捆绑包中定义 外部位置 (Unity 目录)。

注释

仅当使用 直接部署引擎时,才支持使用声明性自动化捆绑包来定义外部位置。

在 Databricks CLI 版本 0.289.0 中添加

external_locations:
  <external-location-name>:
    <external-location-field-name>: <external-location-field-value>
密钥 类型 DESCRIPTION
comment 字符串 用户提供的外部位置的免费格式文本说明。
在 Databricks CLI 版本 0.289.0 中添加
credential_name 字符串 必填。 用于此位置的存储凭据的名称。
在 Databricks CLI 版本 0.289.0 中添加
enable_file_events 布尔 是否对此外部位置启用文件事件。 默认为 true。 实际应用的值可能因服务器端默认值而异。 检查 effective_enable_file_events 有效状态。
在 Databricks CLI 版本 0.289.0 中添加
encryption_details 地图 适用于连接到云存储的客户端的加密选项。 请参阅 external_location.encryption_details
在 Databricks CLI 版本 0.289.0 中添加
fallback 布尔 指示是否为此外部位置启用了回退模式。 启用回退模式后,如果 Unity 目录凭据不足,则对位置的访问将回退到群集凭据。
在 Databricks CLI 版本 0.289.0 中添加
file_event_queue 地图 此外部位置的文件事件队列设置。 enable_file_events如果没有false,则必须定义此键,并且必须完全具有一个记录的属性。 请参阅 external_location.file_event_queue
在 Databricks CLI 版本 0.289.0 中添加
grants 序列 与外部位置关联的授予。 请参阅 授予
在 Databricks CLI 版本 0.289.0 中添加
lifecycle 地图 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期
在 Databricks CLI 版本 0.289.0 中添加
name 字符串 必填。 外部位置的名称。
在 Databricks CLI 版本 0.289.0 中添加
read_only 布尔 指示外部存储位置是否为只读。
在 Databricks CLI 版本 0.289.0 中添加
skip_validation 布尔 跳过与外部位置关联的存储凭据的验证。
在 Databricks CLI 版本 0.289.0 中添加
url 字符串 必填。 外部位置的路径 URL。
在 Databricks CLI 版本 0.289.0 中添加

external_location.encryption_details

Type: Map

适用于连接到云存储的客户端的加密选项。

密钥 类型 DESCRIPTION
sse_encryption_details 地图 与 Amazon S3 通信的客户端的服务器端加密属性。

external_location.file_event_queue

Type: Map

此外部位置的文件事件队列设置。

密钥 类型 DESCRIPTION
managed_aqs 地图 托管Azure 队列存储设置。
provided_aqs 地图 用户提供的Azure 队列存储设置。

示例:

# databricks.yml
bundle:
  name: external-locations-example
  engine: direct # External locations require the direct deployment engine

resources:
  external_locations:
    my_external_location:
      name: my_external_location
      url: 's3://my-bucket/my-path'
      credential_name: my_storage_credential
      comment: 'External location created by Databricks Asset Bundles'
      grants:
        - principal: someone@example.com
          privileges:
            - CREATE_EXTERNAL_TABLE
            - READ_FILES

作业

Type: Map

声明性自动化捆绑包Python支持作业。 请参阅 databricks.bundles.jobs

作业资源允许你在捆绑包中定义 作业及其相应的任务

有关工作的更多信息,请参阅 Lakeflow 工作。 有关使用声明性自动化捆绑包模板创建作业的教程,请参阅 使用声明性自动化捆绑包开发作业

jobs:
  <job-name>:
    <job-field-name>: <job-field-value>
密钥 类型 DESCRIPTION
budget_policy_id 字符串 要用于此作业的用户指定预算策略的 ID。 如果未指定,则创建或修改作业时,可以应用默认预算策略。 请参阅 effective_budget_policy_id 了解此工作负载使用的预算策略。
在 Databricks CLI 版本 0.231.0 中添加
continuous 地图 此作业的可选连续属性。 连续属性将确保始终有一个运行在执行。 schedulecontinuous 中只能使用一个。 请参阅 continuous
deployment 地图 由外部源管理的作业的部署信息。 请参阅 部署
description 字符串 作业的可选说明。 UTF-8 编码的最大长度为 27700 个字符。
email_notifications 地图 一组可选的电子邮件地址,在此作业的运行开始或完成时,以及在删除此作业时,这些电子邮件地址将会收到通知。 请参阅 email_notifications
environments 序列 此作业的无服务器任务可以引用的任务执行环境规范列表。 需要存在环境以支持无服务器任务。 对于无服务器笔记本任务,可以在笔记本环境面板中访问环境。 对于其他无服务器任务,需要使用任务设置中的environment_key指定任务环境。 请参阅 environments
format 字符串 已弃用。 作业的格式。
git_source 地图 远程 Git 存储库的可选规范,其中包含任务使用的源代码。 请参阅 job.git_source
重要:不推荐将git_source字段和任务source字段设置为GIT用于捆绑包,因为可能导致本地相对路径不会指向 Git 存储库中的相同内容,而捆绑包要求,已部署作业的内容要与部署时使用的本地副本保持一致。
相反,会在本地克隆存储库并在此存储库中设置捆绑包项目,以便任务源是工作区。
health 地图 可为此作业定义的一组可选运行状况规则。 查看 健康
job_clusters 序列 此作业的任务可以共享和重复使用的作业群集规范列表。 请参阅 job_clusters
lifecycle 地图 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期
在 Databricks CLI 版本 0.268.0 中添加
max_concurrent_runs 整数 作业的最大允许并发运行数,可选。 如果希望能够以并发方式执行同一作业的多个运行,请设置此值。
name 字符串 可选的作业名称。 UTF-8 编码的最大长度为 4096 字节。
notification_settings 地图 向此作业的每个 email_notificationswebhook_notifications 发送通知时使用的可选通知设置。 请参阅 notification_settings
parameters 序列 作业级参数定义。 请参阅 job.parameters
performance_target 字符串 定义在无服务器上运行的执行的性能或成本效益。
在 Databricks CLI 版本 0.241.0 中添加
permissions 序列 作业的权限。 查看 权限
queue 地图 作业的队列设置。 请参阅 queue
run_as 地图 该工作作为用户或服务主体运行。 该字段表示该作业的 run_as 显式配置。 如果未指定,作业将作为创建作业的用户运行。 应指定user_nameservice_principal_name其中之一。 否则,将引发错误。 请参阅 run_as
schedule 地图 此作业的可选定期计划。 默认行为是,只有通过在作业 UI 中单击“立即运行”或向该作业发送 API 请求 runNow来触发时,作业才会运行。 请参阅 计划
tags 地图 与作业关联的标记映射。 这些内容作为作业群集的群集标记转发到群集,并且受到与群集标记相同的限制。 最多可以向作业添加 25 个标记。
tasks 序列 此作业要执行的任务规范列表。 请参阅 在声明性自动化捆绑包中向作业添加任务
在 Databricks CLI 版本 0.237.0 中添加
timeout_seconds 整数 可选的超时设置,应用于此作业的每个运行。 值 0 意味着无超时。
trigger 地图 满足某些条件时触发运行的配置。 请参阅 触发器
usage_policy_id 字符串 用于此作业的无服务器使用策略的 ID。
在 Databricks CLI 版本 0.273.0 中添加
webhook_notifications 地图 此作业的运行开始或完成时要通知的系统通知 ID 的集合。 请参阅 webhook_notifications

作业.连续性

Type: Map

连续作业执行的配置。

密钥 类型 DESCRIPTION
pause_status 字符串 是否暂停连续作业。 有效值: PAUSEDUNPAUSED
task_retry_mode 字符串 说明持续作业如何应用任务级别重试。 有效值为 NEVERON_FAILURE。 默认为 NEVER

作业部署

Type: Map

由外部源管理的作业的部署信息。

密钥 类型 DESCRIPTION
kind 字符串 部署类型。 例如,BUNDLE
metadata_file_path 字符串 用于部署的元数据文件路径

job.邮件通知

Type: Map

作业运行的电子邮件通知设置。

密钥 类型 DESCRIPTION
on_start 序列 运行启动时要通知的电子邮件地址列表。
on_success 序列 运行成功时要通知的电子邮件地址列表。
on_failure 序列 运行失败时要通知的电子邮件地址列表。
on_duration_warning_threshold_exceeded 序列 当运行持续时间超过警告阈值时通知的电子邮件地址列表。
no_alert_for_skipped_runs 布尔 是否选择跳过发送运行被跳过时的警报。
on_streaming_backlog_exceeded 序列 任何流超过任何流积压工作阈值时要通知的电子邮件地址列表。 可以使用以下指标在health字段中设置流式积压工作阈值:STREAMING_BACKLOG_BYTESSTREAMING_BACKLOG_RECORDSSTREAMING_BACKLOG_SECONDSSTREAMING_BACKLOG_FILES。 警报基于这些指标的 10 分钟平均值。 如果问题仍然存在,则每 30 分钟重新发送一次通知。

job.environments

Type: Sequence

任务执行环境规范的列表,供作业中的无服务器任务引用。

列表中的每一项都是一个JobEnvironment:

密钥 类型 DESCRIPTION
environment_key 字符串 环境的关键。 它必须在作业中是唯一的。
spec 地图 表示无服务器环境的实体。 请参阅 job.environments.spec

job.environments.spec

Type: Map

表示无服务器环境的实体。

密钥 类型 DESCRIPTION
client 字符串 已弃用。 客户端版本。
dependencies 序列 此环境中的 pip 版本支持的 pip 依赖项列表。
environment_version 字符串 必填。 环境使用的环境版本。 每个版本都附带特定的Python版本和一组Python包。 版本是一个字符串,由整数组成。

job.git_source

Type: Map

作业源代码的 Git 存储库配置。

密钥 类型 DESCRIPTION
git_branch 字符串 要签出和使用此作业的分支的名称。 此字段不能与 git_taggit_commit 同时指定。
git_commit 字符串 要签出和使用此作业的提交。 此字段不能与 git_branchgit_tag 同时指定。
git_provider 字符串 用于托管 Git 存储库的服务的唯一标识符。 该值不区分大小写。 有效值为 gitHub:、bitbucketCloud、、gitLabazureDevOpsServicesgitHubEnterprisebitbucketServer. gitLabEnterpriseEdition
git_snapshot 地图 运行作业时远程存储库的只读状态。 此字段仅在作业执行时包含。 请参阅 git_snapshot
git_tag 字符串 要签出和使用此作业的标记的名称。 此字段不能与 git_branchgit_commit 同时指定。
git_url 字符串 要由此作业克隆的存储库的 URL。
sparse_checkout 地图 Git 存储库的稀疏签出配置。 请参阅 job.git_source.sparse_checkout
在 Databricks CLI 版本 0.290.0 中添加

job.git_source.sparse_checkout

Type: Map

Git 存储库的稀疏签出配置。

在 Databricks CLI 版本 0.290.0 中添加

密钥 类型 DESCRIPTION
patterns 序列 用于稀疏结帐的模式列表。
在 Databricks CLI 版本 0.290.0 中添加

job.git_source.git_snapshot

Type: Map

只读提交信息快照。

密钥 类型 DESCRIPTION
used_commit 字符串 用于执行运行的提交。 如果 git_branch 已指定,则指向运行时分支的 HEAD。如果 git_tag 已指定,则指向提交标记所指向的提交。

作业健康

Type: Map

健康监控配置用于作业。

密钥 类型 DESCRIPTION
rules 序列 作业健康规则列表。 每个规则都包含一个 metricop (运算符) 和 value。 请参阅 job.health.rules

job.health.rules

Type: Sequence

作业健康规则列表。

列表中的每一项都是一个JobHealthRule:

密钥 类型 DESCRIPTION
metric 字符串 指定正在针对特定健康规则进行评估的健康指标。
  • RUN_DURATION_SECONDS:运行所需的总时间(以秒为单位)。
  • STREAMING_BACKLOG_BYTES:估计所有流中等待使用的数据的最大字节数。 此度量处于公共预览阶段。
  • STREAMING_BACKLOG_RECORDS:估计所有流之间的最大偏移滞后时间。 此度量处于公共预览阶段。
  • STREAMING_BACKLOG_SECONDS:估计所有流的最大使用者延迟。 此度量处于公共预览阶段。
  • STREAMING_BACKLOG_FILES:估计所有流中未处理文件的最大数目。 此度量处于公共预览阶段。
op 字符串 指定用于将运行状况指标值与指定阈值进行比较的运算符。
value 整数 指定运行状况指标应遵循的阈值以满足运行状况规则。

作业.作业集群

Type: Sequence

此作业的任务可以共享和重复使用的作业群集规范列表。 无法在共享作业群集中声明库。 必须在任务设置中声明依赖库。

列表中的每一项都是一个JobCluster:

密钥 类型 DESCRIPTION
job_cluster_key 字符串 作业群集的唯一名称。 此字段是必需的,并且必须在作业中是唯一的。 JobTaskSettings 可以引用此字段来确定要为任务执行启动的群集。
new_cluster 地图 如果new_cluster,则说明为每个任务创建的群集。 请参阅 群集

作业.通知设置

Type: Map

适用于作业中所有通知的通知设置。

密钥 类型 DESCRIPTION
no_alert_for_skipped_runs 布尔 是否选择跳过发送运行被跳过时的警报。
no_alert_for_canceled_runs 布尔 是否跳过发送已取消运行的警报。

job.parameters

Type: Sequence

作业参数定义列表。

列表中的每一项都是一个JobParameter:

密钥 类型 DESCRIPTION
default 字符串 必填。 参数的默认值,例如“users”。
name 字符串 必填。 定义的参数的名称,例如“table”。 有效值仅包含字母数字字符、_-.

任务队列

Type: Map

作业的队列设置。

密钥 类型 DESCRIPTION
enabled 布尔 是否为作业启用排队。

任务计划

Type: Map

定时计划配置用于定期执行作业。

密钥 类型 DESCRIPTION
quartz_cron_expression 字符串 使用 Quartz 语法的 Cron 表达式,用于指定任务的运行时间。 例如, 0 0 9 * * ? 每天上午 9:00 UTC 运行作业。
timezone_id 字符串 计划安排所用的时区。 例如,America/Los_AngelesUTC
pause_status 字符串 计划是否暂停。 有效值: PAUSEDUNPAUSED

任务触发器

Type: Map

事件驱动作业执行的触发器配置。

密钥 类型 DESCRIPTION
file_arrival 地图 基于文件到达的触发器。 请参阅 file_arrival
table 地图 基于表的触发器。 请参阅
table_update 地图 基于表更新的触发器。 请参阅 table_update
periodic 地图 定期触发器。 请参阅 定期
pause_status 字符串 无论触发器是否暂停。 有效值: PAUSEDUNPAUSED

job.trigger.file_arrival

Type: Map

根据文件到达事件进行配置触发。

密钥 类型 DESCRIPTION
url 字符串 要监视新文件的文件路径。
min_time_between_triggers_seconds 整数 触发器事件之间的最短时间(以秒为单位)。
wait_after_last_change_seconds 整数 在触发前最后一个文件更改后的等待时间(以秒为单位)。

job.trigger.table

Type: Map

基于表的触发器配置。

密钥 类型 DESCRIPTION
table_names 序列 要监视的表名列表。
condition 字符串 触发作业必须满足的 SQL 条件。

作业.触发器.表更新

Type: Map

基于表更新的触发配置。

密钥 类型 DESCRIPTION
table_names 序列 要监视更新的表名列表。
condition 字符串 触发作业必须满足的 SQL 条件。
wait_after_last_change_seconds 整数 在最新一次的表更新后触发之前的等待时间(以秒为单位)。

任务.触发.周期性

Type: Map

定时触发配置。

密钥 类型 DESCRIPTION
interval 整数 定期触发器的间隔值。
unit 字符串 间隔的时间单位。 有效值:HOURS、、DAYSWEEKS.

job.webhook_notifications

Type: Map

作业运行的 Webhook 通知设置。

密钥 类型 DESCRIPTION
on_start 序列 在运行开始时需要通知的 Webhook 通知 ID 列表。
on_success 序列 运行成功时要通知的 Webhook 通知 ID 的列表。
on_failure 序列 运行失败时要通知的 Webhook 通知 ID 的列表。
on_duration_warning_threshold_exceeded 序列 当运行持续时间超过警告阈值时要通知的 Webhook 通知 ID 的列表。
on_streaming_backlog_exceeded 序列 当任何流超出任何流积压工作阈值时要调用的系统通知 ID 的列表。 可以使用以下指标在health字段中设置流式积压工作阈值:STREAMING_BACKLOG_BYTESSTREAMING_BACKLOG_RECORDSSTREAMING_BACKLOG_SECONDSSTREAMING_BACKLOG_FILES。 警报基于这些指标的 10 分钟平均值。 如果问题仍然存在,则每 30 分钟重新发送一次通知。 最多可以指定 3 个目标。

例子

以下示例使用一个笔记本任务定义具有资源键 hello-job 的作业:

resources:
  jobs:
    hello-job:
      name: hello-job
      tasks:
        - task_key: hello-task
          notebook_task:
            notebook_path: ./hello.py

以下示例使用 SQL 笔记本定义作业:

resources:
  jobs:
    job_with_sql_notebook:
      name: 'Job to demonstrate using a SQL notebook with a SQL warehouse'
      tasks:
        - task_key: notebook
          notebook_task:
            notebook_path: ./select.sql
            warehouse_id: 799f096837fzzzz4

有关其他作业配置示例,请参阅 作业配置

有关如何定义作业任务及覆盖作业设置的信息,请参阅:

job_run

Type: Map

job_run资源作为捆绑部署的一部分触发了现有作业的运行。 与定义作业的 作业不同,作业运行通过ID引用已有的作业。

注释

只有在使用 直接部署引擎时,才支持使用声明式自动化捆绑来定义作业运行。

在 Databricks CLI 版本 1.7.0 中添加

job_runs:
  <job_run-name>:
    <job_run-field-name>: <job_run-field-value>
密钥 类型 DESCRIPTION
idempotency_token 字符串 可选令牌,用于保证作业运行请求的幂等性。 如果已存在具有提供的令牌的运行,该请求将不会创建新运行,而是会返回现有运行的 ID。 如果删除具有提供的令牌的运行,则返回错误。
如果指定幂等性令牌,则可在失败时重试,直到该请求成功。 Databricks 保证只有一个运行是使用该幂等令牌启动的。 此令牌最多只能包含 64 个字符。
在 Databricks CLI 版本 1.7.0 中添加
job_id 整数 必填。 要运行的作业的 ID。
在 Databricks CLI 版本 1.7.0 中添加
job_parameters 地图 运行中使用的作业级参数,例如 param: overriding_val
在 Databricks CLI 版本 1.7.0 中添加
lifecycle 地图 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期
在 Databricks CLI 版本 1.7.0 中添加
only 序列 要在其中运行的任务密钥的列表。 如果未提供该字段,则执行作业中的所有任务。
任务键前缀为 + “也运行其上游任务”,或 + 以“后缀”表示同时执行下游任务。 比如,运行 +my_taskmy_task 和它的上游所有东西,运行 my_task+my_task 和所有下游,然后 +my_task+ 两者都运行。 任务键如果没有, + 只运行该任务。
在 Databricks CLI 版本 1.7.0 中添加
performance_target 字符串 无服务器作业上的性能模式。 性能目标确定运行时的计算性能或成本效益水平,并覆盖作业级别定义的性能目标。 有效值为 STANDARD,支持无服务器工作负载的成本效益高执行,以及 PERFORMANCE_OPTIMIZED,通过快速扩展和优化集群性能优先提升启动和执行时间。
在 Databricks CLI 版本 1.7.0 中添加
pipeline_params 地图 运行中流水线任务的刷新设置。 参见 job_run.pipeline_params
在 Databricks CLI 版本 1.7.0 中添加
queue 地图 运行的队列设置。 设置为 enabledtrue 启用运行队列。
在 Databricks CLI 版本 1.7.0 中添加

job_run.pipeline_params

Type: Map

运行中流水线任务的刷新设置。

在 Databricks CLI 版本 1.7.0 中添加

密钥 类型 DESCRIPTION
full_refresh 布尔 是否触发Spark声明式流水线的全面刷新。
在 Databricks CLI 版本 1.7.0 中添加
full_refresh_selection 序列 (测试版)一份需要通过全面刷新更新的表格列表。
在 Databricks CLI 版本 1.7.0 中添加
refresh_flow_selection 序列 (测试版)流程名称用于选择性刷新。 这些与其他选择性刷新选项 refresh_selectionfull_refresh_selection和 合并,以确定最终需要刷新的流集合。
在 Databricks CLI 版本 1.7.0 中添加
refresh_selection 序列 (测试版)一份无需完全刷新即可更新的表格列表。
在 Databricks CLI 版本 1.7.0 中添加
reset_checkpoint_selection 序列 (测试版)一份可在不清除数据的情况下重置检查点的流流列表。
在 Databricks CLI 版本 1.7.0 中添加

示例:

以下示例触发了对已有作业的运行,覆盖了一个作业参数,并将运行限制为单个任务及其上游任务:

resources:
  job_runs:
    my_job_run:
      job_id: 123456789
      job_parameters:
        catalog: main
      only:
        - +my_task

模型(旧版)

Type: Map

借助模型资源,可以在捆绑包中定义旧模型。 Databricks 建议改用 Unity Catalog 注册的模型

管道

Type: Map

声明性自动化捆绑包Python支持管道。 请参阅 databricks.bundles.pipelines

使用管道资源可以创建 管道。 有关管道的信息,请参阅 Spark 声明性管道。 有关使用声明性自动化捆绑包模板创建管道的教程,请参阅 使用声明性自动化捆绑包开发管道

pipelines:
  <pipeline-name>:
    <pipeline-field-name>: <pipeline-field-value>
密钥 类型 DESCRIPTION
allow_duplicate_names 布尔 如果为 false,则名称与其他管道的名称冲突时,部署将失败。
在 Databricks CLI 版本 0.261.0 中添加
budget_policy_id 字符串 此管道的预算政策。
在 Databricks CLI 版本 0.230.0 中添加
cascade_on_destroy 布尔 销毁流水线是否也会删除其数据集(具体化视图、流表和视图)。 当服务器未设置时,服务器默认值生效。 设置为 以 false 保留销毁时的数据集。 支持直接部署引擎。
在Databricks CLI版本1.12.0中添加
catalog 字符串 Unity Catalog 中要将数据从此管道发布到的目录。 如果指定了target,此管道中的表将在target中的catalog架构内发布(例如 catalog.target.table)。 如果未 target 指定,则不会将任何数据发布到 Unity 目录。
channel 字符串 Lakeflow 管道发布通道,指定要使用的 Lakeflow 管道版本。
clusters 序列 此管道部署的群集设置。 请参阅 群集
configuration 地图 此管道执行的配置。
continuous 布尔 管道是连续运行的还是触发运行的。 这将替换 trigger
deployment 地图 此管道的部署类型。 请参阅 部署
development 布尔 管道是否处于开发模式。 默认值为 false。
dry_run 布尔 管道是否为干运行管道。
edition 字符串 管道产品版本。
environment 地图 此管道的环境规范用于在无服务器计算平台上安装依赖项。 查看 环境。 此密钥仅在 Databricks CLI 版本 0.258 及更高版本中受支持。
在 Databricks CLI 版本 0.257.0 中添加
event_log 地图 此管道的事件日志配置。 请参阅 event_log
在 Databricks CLI 版本 0.246.0 中添加
filters 地图 该筛选器用于确定要包含在已部署图形中的管道包。 请参阅 筛选器
gateway_definition 地图 网关管道的配置。 这些设置不能与设置一起使用 ingestion_definition
id 字符串 此管道的唯一标识符。
ingestion_definition 地图 托管引入管道的配置。 这些设置不能与librariesschematargetcatalog设置一起使用。 请参阅 ingestion_definition
libraries 序列 此部署所需的库或代码列表。 请参阅 pipeline.libraries
lifecycle 地图 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期
在 Databricks CLI 版本 0.268.0 中添加
name 字符串 此管道的易记名称。
notifications 序列 此管道的通知设置。 请参阅 通知
parameters 地图 流水线执行的默认参数,每个键是参数名称,值为参数值。 JSON格式的最大总大小为10,000字符。
permissions 序列 管道的权限。 查看 权限
photon 布尔 是否为此管道启用了 Photon。 如果 serverless 设置为 true,则忽略此键。
restart_window 地图 定义此管道的重启窗口。 可以在此窗口中重启管道,而无需落后。
root_path 字符串 此管道的根路径。 在 Databricks 用户界面中编辑管道时,此目录用作根目录,并在管道执行期间执行Python源时将其添加到 sys.path。
在 Databricks CLI 版本 0.253.0 中添加
run_as 地图 管道运行时使用的身份。 如果未指定,则管道将以创建它的用户身份运行。 只能指定user_nameservice_principal_name。 如果同时指定了两者,则会引发错误。 请参阅 run_as
在 Databricks CLI 版本 0.241.0 中添加
schema 字符串 作为表的读取来源或发布目标的默认架构(数据库)。
在 Databricks CLI 版本 0.230.0 中添加
serverless 布尔 是否为此管道启用了无服务器计算。
storage 字符串 用于存储检查点和表的 DBFS 根目录。
tags 地图 与流水线相关的标签映射。 这些内容作为群集标记转发到群集,因此受到相同的限制。 最多可以向管道添加 25 个标记。
在 Databricks CLI 版本 0.256.0 中添加
target 字符串 要将此管道中的表添加到的目标架构(数据库)。 必须指定 schematarget 中的一个。 若要发布到 Unity 目录,还指定 catalog。 用于创建管道的此旧字段已弃用,以支持 schema 字段。
usage_policy_id 字符串 用于此管道的无服务器使用策略的 ID。
在 Databricks CLI 版本 0.273.0 中添加

管道部署 (pipeline deployment)

Type: Map

管道的部署类型配置。

密钥 类型 DESCRIPTION
kind 字符串 部署类型。 例如,BUNDLE
metadata_file_path 字符串 用于部署的元数据文件路径

流水线.环境

Type: Map

用于在无服务器计算上安装依赖项的环境规范。

密钥 类型 DESCRIPTION
dependencies 序列 此环境中的 pip 版本支持的 pip 依赖项列表。 每个依赖项都是 pip 需求文件中的一行
environment_version 字符串 (测试版)例如,用于执行客户Python代码的无服务器Python环境的环境版本。4 每个环境版本都包含特定的 Python 版本和一套经过精心设计的预装库,并定义了版本,提供一个稳定且可复现的执行环境。 Databricks 支持每个环境版本的三年生命周期。 有关可用版本及其包含的包,请参见 无服务器环境版本
在 Databricks CLI 版本 0.294.0 中添加

流水线.事件日志

Type: Map

管道的事件日志配置。

密钥 类型 DESCRIPTION
catalog 字符串 事件日志被发布在 Unity Catalog 所属的目录下。
name 字符串 在 Unity Catalog 中发布事件日志的名称。
schema 字符串 活动日志发布于 Unity Catalog 架构下。

管道.过滤器

Type: Map

用于确定在已部署图表中需纳入的管道包的筛选器。

密钥 类型 DESCRIPTION
include 序列 要包含的包名称的列表。
exclude 序列 要排除的包名称的列表。

pipeline.数据摄取定义

Type: Map

托管引入管道的配置。 这些设置不能与librariesschematargetcatalog设置一起使用。

密钥 类型 DESCRIPTION
connection_name 字符串 要用于引入的连接的名称。 若要以编程方式为支持仅限 API 的身份验证的连接器创建连接,请在 databricks connections create 预部署脚本或作业任务中使用。
connector_type 字符串 可选。 源的连接器类型。 有效值为 CDCQUERY_BASED
在 Databricks CLI 版本 0.296.0 中添加
data_staging_options 地图 可选。 暂存数据存储的位置。 这需要从包含网关管道的 CDC 托管引入管道迁移到合并的 CDC 托管引入管道。 如果未指定,则会在顶级管道定义中指定的目录和架构/目标中创建暂存数据的卷。
在 Databricks CLI 版本 0.296.0 中添加
full_refresh_window 地图 可选。 一个窗口,指定 CDC 中快照查询的一组时间范围。
ingest_from_uc_foreign_catalog 布尔 不可变。 如果设置为 true,管道将直接从 Unity 目录外部目录引入表,而无需指定 Unity 目录连接或引入网关。 source_catalog IngestionConfig 对象中的字段被解释为要从中引入的 Unity 目录外部目录。
在 Databricks CLI 版本 0.279.0 中添加
ingestion_gateway_id 字符串 引入网关的 ID。
objects 序列 必填。 指定要复制的表和复制表的目标的设置。 每个对象可以是 SchemaSpecTableSpecReportSpec
source_type 字符串 使用 source_configurations时是必需的。 指定连接器类型(例如,POSTGRESQL)。 MYSQL
source_configurations 序列 目录级源配置参数。 使用此字段时,还必须指定 source_type。 请参阅 source_configurations
table_configuration 地图 引入表的配置。 请参阅 table_configuration

SchemaSpec

Type: Map

用于从架构中引入所有表的架构对象规范。

密钥 类型 DESCRIPTION
source_schema 字符串 要引入的源架构的名称。
destination_catalog 字符串 Unity Catalog 中目标目录的名称。
destination_schema 字符串 Unity 目录中的目标架构的名称。
table_configuration 地图 应用于该架构中所有表的配置。 请参阅 pipeline.ingestion_definition.table_configuration

TableSpec

Type: Map

用于导入特定表的表对象规范。

密钥 类型 DESCRIPTION
source_schema 字符串 包含表的源架构的名称。
source_table 字符串 要引入的源表的名称。
destination_catalog 字符串 Unity Catalog 中目标目录的名称。
destination_schema 字符串 Unity 目录中的目标架构的名称。
destination_table 字符串 Unity Catalog中的目标表名称。
table_configuration 地图 此特定表的配置。 请参阅 pipeline.ingestion_definition.table_configuration

报告规范 (ReportSpec)

Type: Map

用于引入分析报表的报表对象规范。

密钥 类型 DESCRIPTION
source_url 字符串 源报表的 URL。
source_report 字符串 源报表的名称或标识符。
destination_catalog 字符串 Unity Catalog 中目标目录的名称。
destination_schema 字符串 Unity 目录中的目标架构的名称。
destination_table 字符串 报告数据目标表的名称。
table_configuration 地图 报表表的配置。 请参阅 pipeline.ingestion_definition.table_configuration

pipeline.ingestion_definition.source_configurations

Type: Sequence

源的配置。 序列中的每个元素都是包含目录级配置的 Map。

密钥 类型 DESCRIPTION
catalog 地图 目录级源配置参数。 请参阅 目录

pipeline.ingestion_definition.source_configurations.catalog

Type: Map

目录级源配置参数

密钥 类型 DESCRIPTION
postgres 地图 特定于 Postgres 的目录级配置参数。 包含一个slot_config键,该键是一个Map,代表用于逻辑复制的 Postgres 插槽配置。
source_catalog 字符串 源目录名称。

pipeline.数据导入定义.表配置

Type: Map

引入表的配置选项。

密钥 类型 DESCRIPTION
exclude_columns 序列 列出要在数据摄取过程中排除的列名。 未指定时,include_columns 完全控制要引入的列。 指定后,所有其他列(包括未来的列)将自动纳入数据引入过程。 此字段与 include_columns 互斥。
include_columns 序列 要包含用于引入的列名的列表。 如果未指定,将包含除其中列 exclude_columns 以外的所有列。 将来的列将被自动包含。 指定后,所有其他将来的列将自动排除在引入之外。 此字段与 exclude_columns 互斥。
primary_keys 序列 用于作为表主键的列名列表。
sequence_by 序列 指定源数据中事件的逻辑顺序的列名。 Spark 声明性管道使用此排序来处理顺序无序到达的更改事件。

管道.库

Type: Sequence

定义此管道所需的库或代码列表。

列表中的每个项都是一个定义:

密钥 类型 DESCRIPTION
file 地图 定义管道并存储在 Databricks Repos中的文件的路径。 请参阅 pipeline.libraries.file
glob 地图 用于包含源代码的统一字段。 每个条目可以是笔记本路径、文件路径或结束 /**的文件夹路径。 此字段不能与 notebookfile 一起使用。 请参阅 pipeline.libraries.glob
notebook 地图 定义管道并存放在 Databricks 工作区的笔记本的路径。 请参阅 pipeline.libraries.notebook
whl 字符串 此字段已弃用

pipeline.libraries.file

Type: Map

定义管道并存储在 Databricks Repos中的文件的路径。

密钥 类型 DESCRIPTION
path 字符串 源代码的绝对路径。

pipeline.libraries.glob

Type: Map

用于包含源代码的统一字段。 每个条目可以是笔记本路径、文件路径或结束 /**的文件夹路径。 此字段不能与 notebookfile 一起使用。

密钥 类型 DESCRIPTION
include 字符串 要包含管道的源代码

pipeline.libraries.notebook

Type: Map

定义管道并存放在 Databricks 工作区的笔记本的路径。

密钥 类型 DESCRIPTION
path 字符串 源代码的绝对路径。

pipeline.notifications

Type: Sequence

此管道的通知设置。 序列中的每个项都是通知配置。

密钥 类型 DESCRIPTION
alerts 序列 触发通知的警报列表。 有效值包括on-update-success,,on-update-failureon-update-fatal-failureon-flow-failure
email_recipients 序列 触发配置的警报时要通知的电子邮件地址列表。

示例:

以下示例定义了一个使用资源键 hello-pipeline 的管道:

resources:
  pipelines:
    hello-pipeline:
      name: hello-pipeline
      clusters:
        - label: default
          num_workers: 1
      development: true
      continuous: false
      channel: CURRENT
      edition: CORE
      photon: false
      libraries:
        - notebook:
            path: ./pipeline.py

有关其他管道配置示例,请参阅 管道配置

注册模型(Unity Catalog)

Type: Map

使用注册的模型资源,可以在 Unity Catalog 中定义模型。 有关 Unity Catalog 注册的模型的信息,请参阅在 Unity Catalog 中管理模型生命周期

registered_models:
  <registered_model-name>:
    <registered_model-field-name>: <registered_model-field-value>
密钥 类型 DESCRIPTION
aliases 序列 与已注册的模型关联的别名列表。 请参阅 registered_model.aliases
在 Databricks CLI 版本 0.273.0 中添加
catalog_name 字符串 架构和已注册模型所在的目录的名称。
comment 字符串 附加到已注册模型的注释。
created_at 整数 自 Unix 纪元以来注册的模型的创建时间戳(以毫秒为单位)。
在 Databricks CLI 版本 0.273.0 中添加
created_by 字符串 创建已注册模型的用户的标识符。
在 Databricks CLI 版本 0.273.0 中添加
full_name 字符串 已注册模型的三级(完全限定)名称。
在 Databricks CLI 版本 0.273.0 中添加
grants 序列 与注册模型关联的授予。 请参阅 授予
lifecycle 地图 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期
在 Databricks CLI 版本 0.268.0 中添加
metastore_id 字符串 元存储的唯一标识符。
在 Databricks CLI 版本 0.273.0 中添加
name 字符串 已注册模型的名称。
owner 字符串 拥有已注册模型的用户的标识符。
在 Databricks CLI 版本 0.273.0 中添加
schema_name 字符串 已注册模型所在的架构的名称。
storage_location 字符串 存储模型版本数据文件的云存储位置。
updated_at 字符串 自 Unix 纪元以来已注册模型的上次更新时间戳(以毫秒为单位)。
在 Databricks CLI 版本 0.273.0 中添加
updated_by 字符串 上次更新已注册模型的用户的标识符。
在 Databricks CLI 版本 0.273.0 中添加

registered_model.aliases

Type: Sequence

与已注册的模型关联的别名列表。

列表中的每个项都是一个 Alias

密钥 类型 DESCRIPTION
alias_name 字符串 别名的名称,例如“champion”或“latest_stable”
catalog_name 字符串 包含模型版本的目录的名称
id 字符串 别名的唯一标识符
model_name 字符串 模型版本的父注册模型的名称,相对于父架构
schema_name 字符串 包含模型版本的架构的名称,相对于父目录
version_num 整数 此别名指向的模型版本的整数版本号。

示例:

以下示例在 Unity Catalog 中定义已注册的模型:

resources:
  registered_models:
    model:
      name: my_model
      catalog_name: ${bundle.target}
      schema_name: mlops_schema
      comment: Registered model in Unity Catalog for ${bundle.target} deployment target
      grants:
        - privileges:
            - EXECUTE
          principal: account users

架构 (Unity Catalog)

Type: Map

声明性自动化捆绑包Python支持架构。 请参阅 databricks.bundles.schemas

架构资源类型允许您为工作流和管道中的表及其他资产定义 Unity Catalog 架构,这些工作流和管道是作为捆绑包的一部分创建的。 不同于其他资源类型,架构具有以下限制:

  • 构架资源的所有者始终是部署用户,不能更改。 如果在捆绑包中指定了 run_as,则构架上的操作将忽略它。
  • 只有相应的构架对象创建 API 支持的字段才可用于架构资源。 例如,不支持 enable_predictive_optimization,因为它仅在更新 API 上可用。
schemas:
  <schema-name>:
    <schema-field-name>: <schema-field-value>
密钥 类型 DESCRIPTION
catalog_name 字符串 父目录的名称。
comment 字符串 用户提供的自由格式文本说明。
custom_max_retention_hours 整数 模式的最大保留时间(小时)是定制的。
在Databricks CLI 1.5.0版本中添加
grants 序列 与架构关联的授予。 请参阅 授予
lifecycle 地图 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期
在 Databricks CLI 版本 0.268.0 中添加
name 字符串 相对于父目录的架构名称。
properties 地图 附加到架构的键值属性的映射。
storage_root 字符串 架构中托管表的存储根 URL。

例子

以下示例定义了一个管道,其中包含资源密钥 my_pipeline ,该管道创建一个 Unity 目录架构,该架构将密钥 my_schema 作为目标。 此示例使用 替换

resources:
  pipelines:
    my_pipeline:
      name: test-pipeline
      libraries:
        - notebook:
            path: ../src/nb.ipynb
        - file:
            path: ../src/range.sql
      development: true
      catalog: ${resources.schemas.my_schema.catalog_name}
      target: ${resources.schemas.my_schema.id}

  schemas:
    my_schema:
      name: test-schema
      catalog_name: main
      comment: This schema was created by Declarative Automation Bundles.

声明性自动化捆绑包不支持顶级授权映射,因此,如果要为架构设置授权,请在映射中定义架构的 schemas 授予。 有关授予的详细信息,请参阅显示、授予和撤销权限

以下示例使用授予定义 Unity Catalog 架构:

resources:
  schemas:
    my_schema:
      name: test-schema
      grants:
        - principal: users
          privileges:
            - SELECT
        - principal: my_team
          privileges:
            - MANAGE
      catalog_name: main

机密 (Unity 目录)

Type: Map

秘密资源允许你定义存储在 Unity 目录中的秘密。 秘密是三级命名空间对象(catalog.schema.secret),用于安全存储敏感的凭证数据,如密码、令牌和密钥。

注释

只有在使用 直接部署引擎时,才支持使用声明式自动化捆绑来定义秘密。

在Databricks CLI版本1.12.0中添加

secrets:
  <secret-name>:
    <secret-field-name>: <secret-field-value>
密钥 类型 DESCRIPTION
catalog_name 字符串 必填。 目录名称,即模式和秘密所在的目录。
在Databricks CLI版本1.12.0中添加
comment 字符串 用户提供的自由文本描述。 字符必须在1到65536之间。
在Databricks CLI版本1.12.0中添加
expire_time 字符串 用户提供密钥的有效期。 该字段表示何时不应再使用该秘密,并可能在界面中显示为警告。 它纯粹是信息性质,不会触发任何自动操作,也不影响秘密的生命周期。
在Databricks CLI版本1.12.0中添加
name 字符串 必填。 秘密名称相对于其父模式。
在Databricks CLI版本1.12.0中添加
owner 字符串 秘密的主人。 创建时默认使用创建原则。 可以更新以将秘密的所有权转移给另一个委托人。
在Databricks CLI版本1.12.0中添加
schema_name 字符串 必填。 秘密所在的模式名称。
在Databricks CLI版本1.12.0中添加
value 字符串 必填。 隐藏的数值。 该字段仅输入,不会在响应中返回——使用 effective_value 该字段(通过 GetSecret ,设 include_valuetrue)读取秘密值。 最大容量为60 KiB(加密前)。 接受的内容包括密码、令牌、密钥及其他敏感凭证数据。 字符必须在1到61440个之间。
在Databricks CLI版本1.12.0中添加

例子

以下示例定义了一个 Unity 目录秘密,其值由部署时的 bundle 变量提供:

bundle:
  name: my-bundle

variables:
  my_secret_value:
    description: 'Secret value passed at deploy time'

resources:
  secrets:
    my_secret:
      catalog_name: main
      schema_name: default
      name: my_api_key
      value: ${var.my_secret_value}
      comment: 'API key for external service'

密钥范围

Type: Map

secret_scope资源允许在捆绑包中定义 机密范围 。 有关机密范围的信息,请参阅 机密管理

在 Databricks CLI 版本 0.252.0 中添加

secret_scopes:
  <secret_scope-name>:
    <secret_scope-field-name>: <secret_scope-field-value>
密钥 类型 DESCRIPTION
backend_type 字符串 将使用该作用域创建的后端类型。 如果未指定,则默认为 DATABRICKS.
在 Databricks CLI 版本 0.252.0 中添加
keyvault_metadata 地图 机密范围的元数据(如果为 backend_typeAZURE_KEYVAULT)。 请参阅 keyvault_metadata
在 Databricks CLI 版本 0.252.0 中添加
lifecycle 地图 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期
在 Databricks CLI 版本 0.268.0 中添加
name 字符串 用户请求的范围名称。 范围名称是唯一的。
在 Databricks CLI 版本 0.252.0 中添加
permissions 序列 应适用于密钥作用域的权限。 权限通过机密范围 ACL 进行管理。 查看 权限
在 Databricks CLI 版本 0.252.0 中添加

secret_scope.keyvault_metadata

Type: Map

Azure 密钥保管库支持的机密范围的元数据。

密钥 类型 DESCRIPTION
resource_id 字符串 密钥保管库的Azure资源 ID。
dns_name 字符串 Azure 密钥保管库的 DNS 名称。

例子

以下示例定义使用密钥保管库后端的机密范围:

resources:
  secret_scopes:
    secret_scope_azure:
      name: test-secrets-azure-backend
      backend_type: 'AZURE_KEYVAULT'
      keyvault_metadata:
        resource_id: my_azure_keyvault_id
        dns_name: my_azure_keyvault_dns_name

以下示例使用机密范围和权限设置自定义 ACL:

resources:
  secret_scopes:
    my_secret_scope:
      name: my_secret_scope
      permissions:
        - user_name: admins
          level: WRITE
        - user_name: users
          level: READ

有关演示如何使用捆绑包中读取机密范围的任务定义机密范围和作业的示例捆绑包,请参阅 bundle 示例GitHub存储库

SQL数据仓库

Type: Map

SQL 仓库资源允许在捆绑包中定义 SQL 仓库 。 有关 SQL 仓库的信息,请参阅 Azure Databricks 上的 Data warehouseing。

在 Databricks CLI 版本 0.260.0 中添加

sql_warehouses:
  <sql-warehouse-name>:
    <sql-warehouse-field-name>: <sql-warehouse-field-value>
密钥 类型 DESCRIPTION
auto_stop_mins 整数 SQL 仓库在被自动停止之前,必须处于空闲状态的时间量(例如,没有 RUNNING 查询)。 有效值为0,表示无自动停止,或大于或等于10(经典/专业)或1(无服务器)。 默认是120(经典/专业版)和10(无服务器)。
在 Databricks CLI 版本 0.260.0 中添加
channel 地图 通道详细信息。 请参阅 频道
在 Databricks CLI 版本 0.260.0 中添加
cluster_size 字符串 为此仓库分配的群集的大小。 增加 Spark 群集的大小可让你对它运行更大的查询。 如果要增加并发查询数,请优化max_num_clusters。 有关支持的值,请参阅 cluster_size
在 Databricks CLI 版本 0.260.0 中添加
creator_name 字符串 创建仓库的用户的名称。
在 Databricks CLI 版本 0.260.0 中添加
enable_photon 布尔 仓库是否应使用 Photon 优化群集。 默认值为 false。
在 Databricks CLI 版本 0.260.0 中添加
enable_serverless_compute 布尔 仓库是否应使用无服务器计算。
在 Databricks CLI 版本 0.260.0 中添加
instance_profile_arn 字符串 已弃用。 用于将 IAM 角色传递给群集的实例配置文件。
在 Databricks CLI 版本 0.260.0 中添加
lifecycle 地图 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期
在 Databricks CLI 版本 0.268.0 中添加
max_num_clusters 整数 自动缩放程序创建的最大群集数,用于处理并发查询。 值必须小于或等于 30 且大于或等于 min_num_clusters。 如果未设置,则默认为min_clusters。
在 Databricks CLI 版本 0.260.0 中添加
min_num_clusters 整数 将为此 SQL 仓库维护的可用群集的最小数量。 增加这可确保越来越多的群集始终运行,因此可能会减少新查询的冷启动时间。 这类似于资源管理器中保留核心与可吊销核心的比较。 值必须大于 0 且小于或等于 min(max_num_clusters,30)。 默认值为 1。
在 Databricks CLI 版本 0.260.0 中添加
name 字符串 群集的逻辑名称。 该名称在组织内必须唯一且少于 100 个字符。
在 Databricks CLI 版本 0.260.0 中添加
permissions 序列 要应用于仓库的权限。 查看 权限
在 Databricks CLI 版本 0.260.0 中添加
tags 地图 仓库的一组自定义标记。 请参阅 sql_warehouse.tags
在 Databricks CLI 版本 0.260.0 中添加
warehouse_type 字符串 仓库类型。 有效值为 PROCLASSIC。 如果要使用无服务器计算,请将此字段设置为 PRO ,并将该字段 enable_serverless_compute 设置为 true
在 Databricks CLI 版本 0.260.0 中添加

sql_warehouse.channel

Type: Map

SQL 仓库的通道配置。

密钥 类型 DESCRIPTION
name 字符串 通道的名称。 有效值包括 CHANNEL_NAME_CURRENTCHANNEL_NAME_PREVIEWCHANNEL_NAME_CUSTOM
dbsql_version 字符串 自定义通道的 DBSQL 版本。

sql_warehouse.tags

Type: Map

SQL 仓库的自定义标记。

密钥 类型 DESCRIPTION
custom_tags 序列 一组键值对,用于标识与此 SQL 仓库关联的所有资源(例如 AWS 实例和 EBS 卷)上的标记。 标记数必须小于 45。

示例:

以下示例定义 SQL 仓库:

resources:
  sql_warehouses:
    my_sql_warehouse:
      name: my_sql_warehouse
      cluster_size: X-Large
      enable_serverless_compute: true
      max_num_clusters: 3
      min_num_clusters: 1
      auto_stop_mins: 60
      warehouse_type: PRO
      tags:
        custom_tags:
          - key: 'bizunit'
            value: 'commercial'
          - key: 'area'
            value: 'marketing'

卷 (Unity Catalog)

Type: Map

声明性自动化捆绑包Python支持卷。 请参阅 databricks.bundles.volumes

使用 volume 资源类型,可以将 Unity Catalog 作为捆绑包的一部分进行定义并创建。 部署定义了卷的捆绑包时,请注意:

  • 在工作区中存在卷之前,不能在捆绑包的 artifact_path 中引用卷。 因此,如果要使用声明性自动化捆绑包创建卷,必须先在捆绑包中定义卷,将其部署到创建卷,然后在后续部署中 artifact_path 引用该卷。
  • 部署目标配置了 dev_${workspace.current_user.short_name} 后,捆绑包中的卷不会追加 mode: development 前缀。 但是,可以手动配置此前缀。 请参阅自定义预设

在 Databricks CLI 版本 0.236.0 中添加

volumes:
  <volume-name>:
    <volume-field-name>: <volume-field-value>
密钥 类型 DESCRIPTION
catalog_name 字符串 架构和卷的目录的名称。
在 Databricks CLI 版本 0.236.0 中添加
comment 字符串 附加到卷的注释。
在 Databricks CLI 版本 0.236.0 中添加
grants 序列 与卷关联的授予。 请参阅 授予
在 Databricks CLI 版本 0.236.0 中添加
lifecycle 地图 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期
在 Databricks CLI 版本 0.268.0 中添加
name 字符串 卷的名称。
在 Databricks CLI 版本 0.236.0 中添加
schema_name 字符串 卷所在的架构的名称。
在 Databricks CLI 版本 0.236.0 中添加
storage_location 字符串 云上的存储位置。
在 Databricks CLI 版本 0.236.0 中添加
volume_type 字符串 卷类型,EXTERNALMANAGED。 外部卷位于指定的外部位置。 托管卷位于由父架构、父目录或元存储指定的默认位置。 请参阅 托管卷与外部卷

示例:

以下示例创建具有键 my_volume_id 的 Unity Catalog 卷。

resources:
  volumes:
    my_volume_id:
      catalog_name: main
      name: my_volume
      schema_name: my_schema

有关运行写入 Unity 目录卷中的文件的作业的示例捆绑包,请参阅 bundle 示例GitHub存储库

常见对象

授权

Type: Map

定义要授予该主体的主体和特权。 有关授予的详细信息,请参阅显示、授予和撤销权限

密钥 类型 DESCRIPTION
principal 字符串 将被授予特权的主体的名称。 可以是用户、组或服务主体。
privileges 序列 给指定实体授予的权限。 有效值取决于资源类型(例如,SELECT、、MODIFYCREATEUSAGEREAD_FILESWRITE_FILES、、EXECUTE、 )。 ALL_PRIVILEGES

示例:

以下示例使用授予定义 Unity Catalog 架构:

resources:
  schemas:
    my_schema:
      name: test-schema
      grants:
        - principal: users
          privileges:
            - SELECT
        - principal: my_team
          privileges:
            - MANAGE
      catalog_name: main

生命周期

Type: Map

包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。

在 Databricks CLI 版本 0.268.0 中添加

密钥 类型 DESCRIPTION
prevent_destroy 布尔 用于防止资源被销毁的生命周期设置。
在 Databricks CLI 版本 0.268.0 中添加
started 布尔 生命周期设置,用于在启动模式下部署资源。 仅在 直接部署模式下支持应用、群集和sql_warehouses。
在 Databricks CLI 版本 0.297.0 中添加 (应用)
在 Databricks CLI 版本 1.1.0 中添加 (群集)
在 Databricks CLI 版本 1.2.0 中添加 (sql_warehouses)