Бөлісу құралы:


Справочник по конфигурации

В этой статье приведены справочные сведения о ключах, поддерживаемых конфигурацией пакетов ресурсов Databricks (YAML). См. раздел "Что такое пакеты ресурсов Databricks?".

Полные примеры пакетов см. в примерах конфигурации пакета и репозитория GitHub.

Артефакты

Type: Map

Задает артефакты для автоматической сборки во время развертываний пакета, которые можно использовать позже при выполнении пакета. Каждый ключ — это имя артефакта, а значение — карта, определяющая параметры сборки артефакта.

Подсказка

Вы можете определить, объединить и переопределить параметры артефактов в пакетах, как описано в переопределении с целевыми параметрами.

Добавлено в Databricks CLI версии 0.229.0

artifacts:
  <artifact-name>:
    <artifact-field-name>: <artifact-field-value>
Ключ Тип Описание
build Струна Необязательный набор команд сборки, выполняемых локально перед развертыванием. Для сборок колес Python интерфейс командной строки Databricks предполагает, что он может найти локальную установку пакета Python wheel для выполнения сборок, и она выполняет команду python setup.py bdist_wheel по умолчанию во время каждого развертывания пакета. Укажите несколько команд сборки в отдельных строках.
Добавлено в Databricks CLI версии 0.229.0
dynamic_version Булев Следует ли динамически обновлять версию wheel на основе метки времени файла whl. Если этот параметр установлен на true, новый код можно развернуть без необходимости обновлять версию в setup.py или pyproject.toml. Этот параметр действителен только в том случае, если type задано значение whl.
Добавлено в Интерфейс командной строки Databricks версии 0.245.0
executable Струна Тип исполняемого файла. Допустимые значения: bash, shи cmd.
Добавлено в Databricks CLI версии 0.229.0
files Последовательность Относительный или абсолютный путь к созданным файлам артефактов. См. артефакты.name.files.
Добавлено в Databricks CLI версии 0.229.0
path Струна Локальный путь каталога для артефакта. Пути относятся к расположению конфигурационного файла пакета. Для сборки колес Python это путь к файлу setup.py колеса Python. Если path не задан, то Databricks CLI пытается найти файл Python wheel setup.py в корневом каталоге пакета.
Добавлено в Databricks CLI версии 0.229.0
type Струна Требуется, если артефакт является колесом Python. Тип артефакта. Допустимые значения — whl и jar. Этот параметр не требуется указывать для создания других артефактов.
Добавлено в Databricks CLI версии 0.229.0

Примеры

Следующая конфигурация создает колесо Python с помощью поэзии:

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

Следующая конфигурация выполняет тесты и создает колесо. Полный учебник по пакету, который используется artifacts для создания колесика, см. в разделе "Создание файла колеса Python" с помощью наборов ресурсов Databricks.

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

      # build the actual artifact
      python setup.py bdist_wheel

    path: .

Пример конфигурации, которая создает JAR-файл и отправляет его в каталог Unity, см. в разделе Пакет, который загружает JAR-файл в каталог Unity.

Артефакты. name.files

Type: Sequence

Относительный или абсолютный путь к созданным файлам артефактов. Используется source для указания встроенных артефактов. Пути относятся к расположению конфигурационного файла пакета.

Добавлено в Databricks CLI версии 0.229.0

Ключ Тип Описание
source Струна Обязательно. Исходный файл артефакта.
Добавлено в Databricks CLI версии 0.229.0

пакет

Type: Map

Атрибуты пакета при развертывании в этом целевом объекте.

Файл конфигурации пакета должен содержать только одно сопоставление верхнего уровня bundle .

Это bundle сопоставление должно содержать name сопоставление, указывающее программное (или логическое) имя пакета. В следующем примере объявляется пакет с программным (или логическим) именем hello-bundle.

bundle:
  name: hello-bundle

Сопоставление bundle также может быть дочерним элементом одного или нескольких целевых объектов в сопоставлении целевых объектов верхнего уровня. Каждое из этих дочерних bundle сопоставлений указывает любые переопределения, отличные от по умолчанию, на целевом уровне.

Добавлено в Databricks CLI версии 0.229.0

Ключ Тип Описание
cluster_id Струна Идентификатор кластера, который будет использоваться для запуска пакета. Этот ключ позволяет указать идентификатор кластера, который будет использоваться в качестве переопределения для кластеров, определенных в другом месте файла конфигурации пакета. Сведения о том, как получить идентификатор кластера, см. в разделе URL-адрес и идентификатор ресурса вычислений.
cluster_id Переопределение предназначено исключительно для сценариев разработки и поддерживается только для целевого объекта, для которого задано mode значение сопоставления с development. Для получения дополнительной информации о сопоставлении target, см. цели.
Добавлено в Databricks CLI версии 0.229.0
compute_id Струна Устарело. Идентификатор вычислительных ресурсов, используемых для запуска пакета.
Добавлено в Databricks CLI версии 0.229.0
databricks_cli_version Струна Версия интерфейса командной строки Databricks, используемая для пакета. См. bundle.databricks_cli_version.
Добавлено в Databricks CLI версии 0.229.0
deployment Карта Определение развертывания пакета. Поддерживаемые атрибуты см. в режимах развертывания пакета ресурсов Databricks. См. bundle.deployment.
Добавлено в Databricks CLI версии 0.229.0
git Карта Сведения об элементе управления версиями Git, связанном с вашим пакетом. Поддерживаемые атрибуты см. git.
Добавлено в Databricks CLI версии 0.229.0
name Струна Имя комплекта.
Добавлено в Databricks CLI версии 0.229.0
uuid Струна Зарезервировано. Универсальный уникальный идентификатор (UUID) для пакета, который однозначно идентифицирует пакет во внутренних системах Databricks. Это создается при инициализации проекта пакета с помощью шаблона Databricks (с помощью команды databricks bundle init).
Добавлено в Databricks CLI версии 0.236.0

bundle.databricks_cli_version

Сопоставление bundle может содержать databricks_cli_version сопоставление, которое ограничивает версию интерфейса командной строки Databricks, необходимую для пакета. Это может предотвратить проблемы, вызванные использованием сопоставлений, которые не поддерживаются в определенной версии интерфейса командной строки Databricks.

Версия интерфейса командной строки Databricks соответствует семантическому версионированию, а databricks_cli_version сопоставление поддерживает указание ограничений версии. Если текущее databricks --version значение не находится в пределах, указанных в сопоставлении пакета databricks_cli_version, возникает ошибка при databricks bundle validate выполнении над пакетом. В следующих примерах демонстрируется некоторый распространенный синтаксис ограничения версии:

bundle:
  name: hello-bundle
  databricks_cli_version: '0.218.0' # require Databricks CLI 0.218.0
bundle:
  name: hello-bundle
  databricks_cli_version: '0.218.*' # allow all patch versions of Databricks CLI 0.218
bundle:
  name: my-bundle
  databricks_cli_version: '>= 0.218.0' # allow any version of Databricks CLI 0.218.0 or higher
bundle:
  name: my-bundle
  databricks_cli_version: '>= 0.218.0, <= 1.0.0' # allow any Databricks CLI version between 0.218.0 and 1.0.0, inclusive

bundle.deployment

Type: Map

Определение развертывания пакета

Добавлено в Databricks CLI версии 0.229.0

Ключ Тип Описание
fail_on_active_runs Булев Происходит ли сбой при активных запусках. Если для этого задано значение true, развертывание, которое выполняется, может быть прервано.
Добавлено в Databricks CLI версии 0.229.0
lock Карта Атрибуты блокировки развертывания. См. bundle.deployment.lock.
Добавлено в Databricks CLI версии 0.229.0

bundle.deployment.lock

Type: Map

Атрибуты блокировки развертывания.

Добавлено в Databricks CLI версии 0.229.0

Ключ Тип Описание
enabled Булев Включена ли эта блокировка.
Добавлено в Databricks CLI версии 0.229.0
force Булев Следует ли принудительно применить эту блокировку, если она включена.
Добавлено в Databricks CLI версии 0.229.0

экспериментальный

Type: Map

Определяет атрибуты для экспериментальных функций.

Добавлено в Databricks CLI версии 0.229.0

Ключ Тип Описание
python Карта Устарело. Вместо этого используйте сопоставление python верхнего уровня.
Добавлено в Databricks CLI версии 0.238.0
python_wheel_wrapper Булев Следует ли использовать оболочку колеса Python.
Добавлено в Databricks CLI версии 0.229.0
scripts Карта Команды для выполнения.
Добавлено в Databricks CLI версии 0.229.0
skip_artifact_cleanup Булев Определяет, следует ли пропускать удаление .internal папки в пределах workspace.artifact_path. По умолчанию эта папка удаляется перед отправкой новых артефактов сборки (например, колес Python) во время развертывания. Установите для true сохранения существующих артефактов во всех развертываниях.
Добавлено в Databricks CLI версии 0.254.0
skip_name_prefix_for_schema Булев Следует ли пропускать добавление префикса (задано presets.name_prefix в или вычисляемом случае mode: development) в имена схем каталога Unity, определенных в пакете.
Добавлено в Интерфейс командной строки Databricks версии 0.255.0
use_legacy_run_as Булев Следует ли использовать устаревшее поведение run_as.
Добавлено в Databricks CLI версии 0.229.0

включать

Type: Sequence

Указывает список глобов пути, содержащих файлы конфигурации для включения в пакет. Эти глобы пути относятся к расположению файла конфигурации пакета, в котором указаны глобы пути. databricks.ymlПомимо этого, необходимо использовать include массив, чтобы указать все файлы конфигурации для включения в пакет.

Подсказка

Чтобы включить или исключить другие файлы в пакет, используйте включение и исключение.

Этот include массив может отображаться только как сопоставление верхнего уровня.

Добавлено в Databricks CLI версии 0.229.0

В следующем примере конфигурации содержится три файла конфигурации. Эти файлы находятся в той же папке, что и файл конфигурации пакета:

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

В следующем примере конфигурации содержатся все файлы с именами файлов, начинающимися bundle и заканчивающимися .yml. Эти файлы находятся в той же папке, что и файл конфигурации пакета:

include:
  - 'bundle*.yml'

Разрешения

Type: Sequence

Определяет разрешения для применения к ресурсам, определенным в пакете, где каждый элемент в последовательности является разрешением для определенной сущности. Смотрите раздел "Настройка разрешений для ресурсов" в пакетах ресурсов Databricks.

Допустимые уровни разрешений верхнего уровня: CAN_VIEWи CAN_MANAGECAN_RUN.

Если вы хотите применить разрешения к конкретному ресурсу, см. статью "Определение разрешений для определенного ресурса".

Добавлено в Databricks CLI версии 0.229.0

Ключ Тип Описание
group_name Струна Имя группы, которая имеет набор разрешений на определённом уровне.
Добавлено в Databricks CLI версии 0.229.0
level Струна Разрешенное разрешение для пользователя, группы, субъекта-службы, определенного для этого разрешения. Допустимые значения этого ключа различаются в зависимости от того, определены ли разрешения на верхнем уровне пакета или для определенного ресурса. Смотрите раздел "Настройка разрешений для ресурсов" в пакетах ресурсов Databricks.
Добавлено в Databricks CLI версии 0.229.0
service_principal_name Струна Имя субъекта-службы, которому задан набор разрешений на уровне.
Добавлено в Databricks CLI версии 0.229.0
user_name Струна Имя пользователя, которому назначен набор разрешений на определённом уровне.
Добавлено в Databricks CLI версии 0.229.0

Пример

В следующем примере конфигурации определяются уровни разрешений для пользователя, группы и субъекта-службы, которые применяются ко всем ресурсам, определенным в resources пакете:

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

Предустановки

Type: Map

Определяет настройки развертывания пакета. Дополнительные сведения см. в разделе "Пользовательские предустановки".

Если исключение не указано для предустановки, если modepresets оба и задано, предустановки переопределяют поведение режима по умолчанию и параметры отдельных ресурсов переопределяют предустановки.

Добавлено в Databricks CLI версии 0.229.0

Предустановка Описание
artifacts_dynamic_version Следует ли динамически обновлять версию whl артефактов во время развертывания. Допустимые значения: true или false. Если указан параметр конфигурации верхнего уровня artifacts.dynamic_version, он переопределяет этот предустановленный параметр.
Добавлено в Databricks CLI версии 0.256.0
jobs_max_concurrent_runs Количество максимально допустимых одновременных запусков заданий.
Добавлено в Databricks CLI версии 0.229.0
name_prefix Префиксная строка, которая добавляется к именам ресурсов.
Добавлено в Databricks CLI версии 0.229.0
pipelines_development Следует ли блокировать развертывания конвейеров в режиме разработки. Допустимые значения: true или false.
Добавлено в Databricks CLI версии 0.229.0
source_linked_deployment Указывают ли ресурсы, созданные во время развертывания, на исходные файлы в рабочей области, а не на их копии в рабочей области.
Добавлено в Databricks CLI версии 0.236.0
tags Набор тегов key:value, которые применяются ко всем ресурсам, поддерживающим теги, включая задания и эксперименты. Пакеты ресурсов Databricks не поддерживают теги для schema ресурса.
Добавлено в Databricks CLI версии 0.229.0
trigger_pause_status Состояние приостановки для применения ко всем триггерам и расписаниям. Допустимые значения: PAUSED или UNPAUSED.
Если mode задано значение development, trigger_pause_status всегда имеет значение PAUSED.
Добавлено в Databricks CLI версии 0.229.0

питон

Type: Map

Настраивает загрузку кода Python, определенного в пакете databricks-bundles. Дополнительные сведения см. в разделе "Конфигурация пакета" в Python.

Перемещен из experimental Databricks CLI версии 0.275.0

Ключ Тип Описание
mutators Последовательность Мутаторы содержат список полностью квалифицированных путей к функциям мутатора, например [my_project.mutators:add_default_cluster].
Добавлено в Databricks CLI версии 0.238.0
resources Последовательность Ресурсы содержат список полных путей функций для загрузки ресурсов, определенных в коде Python, таких как ["my_project.resources:load_resources"]
Добавлено в Databricks CLI версии 0.238.0
venv_path Струна Путь к виртуальной среде. Если этот параметр включен, код Python выполняется в этой среде. Если он отключен, по умолчанию используется интерпретатор Python, доступный в текущей оболочке.
Добавлено в Databricks CLI версии 0.238.0

ресурсы

Type: Map

Определяет ресурсы для пакета, где каждый ключ — имя ресурса, а значение — карта, определяющая ресурс. Дополнительная информация о поддерживаемых ресурсах Databricks Asset Bundles и справочнике по определению ресурсов см. в ресурсах Databricks Asset Bundles.

Сопоставление resources может отображаться как сопоставление верхнего уровня или может быть дочерним объектом одного или нескольких целевых объектов в сопоставлении целевых объектов верхнего уровня и включает ноль или один из поддерживаемых типов ресурсов. Каждое сопоставление типов ресурсов включает в себя одно или несколько отдельных объявлений ресурсов, которые должны иметь уникальное имя. Эти декларации отдельных ресурсов используют данные запроса операции создания соответствующего объекта, выраженные в YAML, чтобы определить ресурс. Поддерживаемые свойства ресурса — это поддерживаемые поля соответствующего объекта.

Полезные данные запроса на создание операций описаны в справочнике по REST API Databricks, а команда databricks bundle schema выводит все поддерживаемые схемы объектов. Кроме того, команда databricks bundle validate возвращает предупреждения, если в файлах конфигурации пакета обнаружены неизвестные свойства ресурсов.

Для получения дополнительной информации о ресурсах, поддерживаемых в пакетах, а также о распространённых конфигурациях и примерах, см. ресурсы комплектов Databricks и примеры конфигурации пакетов.

Добавлено в Databricks CLI версии 0.229.0

resources:
  <resource-type>:
    <resource-name>:
      <resource-field-name>: <resource-field-value>
Ключ Тип Описание
alerts Карта Определения оповещений (версии 2) для пакета, где каждый ключ — это имя оповещения. См. оповещение.
Добавлено в Databricks CLI версии 0.279.0
apps Карта Определения приложений Databricks для пакета, где каждый ключ — это имя приложения. См. app.
Добавлено в Интерфейс командной строки Databricks версии 0.239.0
catalogs Карта Определения каталога (каталога Unity) для пакета, где каждый ключ — это имя каталога. См. каталоги.
Добавлено в Databricks CLI версии 0.287.0
clusters Карта Определения кластера для пакета, где каждый ключ — это имя кластера. См. кластер.
Добавлено в Databricks CLI версии 0.229.0
dashboards Карта Определения панели мониторинга для пакета, где каждый ключ — это имя панели мониторинга. См. панель мониторинга .
Добавлено в Databricks CLI версии 0.232.0
database_catalogs Карта Определения каталога базы данных для пакета, где каждый ключ — это имя каталога базы данных. См. database_catalog.
Добавлено в Databricks CLI версии 0.265.0
database_instances Карта Определения экземпляра базы данных для пакета, где каждый ключ — это имя экземпляра базы данных. См. database_instance.
Добавлено в Databricks CLI версии 0.265.0
experiments Карта Определения экспериментов для пакета, где каждый ключ — это имя эксперимента. См. эксперимент.
Добавлено в Databricks CLI версии 0.229.0
jobs Карта Определения заданий для пакета, где каждый ключ — это имя задания. См. задание.
Добавлено в Databricks CLI версии 0.229.0
model_serving_endpoints Карта Определения конечных точек обслуживания модели для пакета, где каждый ключ — это имя конечной точки обслуживания модели. См. model_serving_endpoint.
Добавлено в Databricks CLI версии 0.229.0
models Карта Определения модели для пакета, где каждый ключ — это имя модели. См. модель (устаревшая версия).
Добавлено в Databricks CLI версии 0.229.0
pipelines Карта Определения конвейера для пакета, где каждый ключ — это имя конвейера. См. конвейер.
Добавлено в Databricks CLI версии 0.229.0
postgres_branches Карта Определения ветви Postgres для пакета, где каждый ключ — это имя ветви Lakebase. См. postgres_branch.
Добавлено в Databricks CLI версии 0.287.0
postgres_endpoints Карта Определения конечных точек Postgres для пакета, где каждый ключ — это имя конечной точки вычислений Lakebase. См. postgres_endpoint.
Добавлено в Databricks CLI версии 0.287.0
postgres_projects Карта Определения проекта Postgres для пакета, где каждый ключ — это имя проекта Lakebase. См. postgres_project.
Добавлено в Databricks CLI версии 0.287.0
quality_monitors Карта Определения монитора качества для пакета, где каждый ключ — это имя монитора качества. См. quality_monitor (каталог Unity).
Добавлено в Databricks CLI версии 0.229.0
registered_models Карта Определения зарегистрированной модели для пакета, где каждый ключ — это имя зарегистрированной модели каталога Unity. См. registered_model (каталог Unity).
Добавлено в Databricks CLI версии 0.229.0
schemas Карта Определения схемы для пакета, где каждый ключ — это имя схемы. См. схему (каталог Unity).
Добавлено в Databricks CLI версии 0.229.0
secret_scopes Карта Определения области секрета для пакета, где каждый ключ — это имя области секрета. См. secret_scope.
Добавлено в Databricks CLI версии 0.252.0
sql_warehouses Карта Определения хранилища SQL для пакета, где каждый ключ — это имя хранилища SQL. См. sql_warehouse.
Добавлено в Databricks CLI версии 0.260.0
synced_database_tables Карта Синхронизированные определения таблицы базы данных для пакета, где каждый ключ — это имя таблицы базы данных. См. synced_database_table.
Добавлено в Databricks CLI версии 0.266.0
volumes Карта Определения томов для пакета, где каждый ключ — это название тома. См. volume (Unity Catalog).
Добавлено в Databricks CLI версии 0.236.0

Пример

В следующем примере конфигурации определяется ресурс задания:

resources:
  jobs:
    hello-job:
      name: hello-job
      tasks:
        - task_key: hello-task
          existing_cluster_id: 1234-567890-abcde123
          notebook_task:
            notebook_path: ./hello.py

запуск_как

Type: Map

Удостоверение (user_name или service_principal_name) для запуска рабочих процессов наборов ресурсов Databricks. Он предоставляет возможность отделять учетные данные, используемые для развертывания задания пакета или конвейерного задания, от учетных данных, используемых для выполнения задания или конвейерного задания. См. Задайте идентификатор выполнения для рабочего процесса пакетов ресурсов Databricks.

Добавлено в Databricks CLI версии 0.229.0

Ключ Тип Описание
service_principal_name Струна Идентификатор приложения активного субъекта-службы. Для этого поля требуется роль servicePrincipal/user.
Добавлено в Databricks CLI версии 0.229.0
user_name Струна Электронная почта активного пользователя рабочей области. Пользователи, не являющиеся администраторами, могут задать это поле только для собственного сообщения электронной почты.
Добавлено в Databricks CLI версии 0.229.0

Сценарии

Type: Map

Скрипты, которые можно запустить с помощью bundle run. Каждый именованный скрипт в сопоставлении scripts содержит содержимое с командами. См. статью "Выполнение скриптов".

Добавлено в Databricks CLI версии 0.259.0

scripts:
  <script-name>:
    <script-field-name>: <script-field-value>
Ключ Тип Описание
content Струна Команды для выполнения
Добавлено в Databricks CLI версии 0.259.0

Примеры

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

синхронизировать

Type: Map

Файлы и пути к файлам для включения или исключения в пакет.

Добавлено в Databricks CLI версии 0.229.0

Ключ Тип Описание
exclude Последовательность Список файлов или папок, которые следует исключить из пакета. См. раздел "Включить и исключить".
Добавлено в Databricks CLI версии 0.229.0
include Последовательность Список файлов или папок для включения в пакет. См. раздел "Включить и исключить".
Добавлено в Databricks CLI версии 0.229.0
paths Последовательность Пути локальных папок, которые могут находиться вне корневого каталога пакета, для синхронизации с рабочей областью при развертывании пакета. См. раздел sync.paths.
Добавлено в Databricks CLI версии 0.229.0

включить и исключить

Сопоставления include и exclude в сопоставлении sync указывают список файлов или папок для включения или исключения из развертываний пакетов в зависимости от следующих правил:

  • На основе любого списка глобов файлов и путей в файле в .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

Затем все файлы в папке my_package/dist с расширением *.whl, кроме файла с именем delete-me.whl, будут включены. Другие файлы в папке my_package/dist также не включены.

Сопоставление sync также можно объявить в targets сопоставлении для определенного целевого объекта. Любое сопоставление sync, объявленное в целевом объекте, объединяется с любыми сопоставлениями верхнего уровня sync. Например, продолжая работу с предыдущим примером, следующее include сопоставление на targets уровне объединяется с include сопоставлением в сопоставлении верхнего уровня sync :

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

sync.paths

Сопоставление sync может содержать другое сопоставление paths, указывающее пути для локальной синхронизации с рабочей областью. Сопоставление paths позволяет использовать общие файлы между пакетами, а также может применяться для синхронизации файлов, расположенных вне корневого каталога пакета. (Корневой каталог пакета — это расположение файла databricks.yml.) Это особенно полезно, если у вас есть один репозиторий, в котором размещено несколько пакетов и требуется совместно использовать библиотеки, файлы кода или конфигурацию.

Указанные пути должны быть относительными к файлам и каталогам, привязанным к папке, в которой paths задано сопоставление. Если одно или несколько значений пути поднимается по каталогу до предка корня пакета, то корневой путь динамически определяется, чтобы структура папок оставалась нетронутой. Например, если корневая папка пакета называется my_bundle , эта конфигурация databricks.yml синхронизирует common папку, расположенную над корнем пакета, и сам корневой каталог пакета:

sync:
  paths:
    - ../common
    - .

Развертывание этого пакета приводит к следующей структуре папок в рабочей области:

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

Цели

Type: Map

Определяет контексты целевого объекта развертывания для пакета. Каждый целевой объект — это уникальная коллекция артефактов, параметров рабочей области Azure Databricks, а также сведения о целевом ресурсе.

Сопоставление targets состоит из одного или нескольких целевых сопоставлений, которые должны иметь уникальное программное (или логическое) имя. Это сопоставление является необязательным, но настоятельно рекомендуется.

Параметры в targets сопоставлении имеют приоритет над параметрами, указанными в рабочей области верхнего уровня, артефактах и сопоставлениях ресурсов .

Целевой объект также может переопределить значения любых переменных верхнего уровня.

Добавлено в Databricks CLI версии 0.229.0

targets:
  <target-name>:
    <target-field-name>: <target-field-value>
Ключ Тип Описание
artifacts Карта Артефакты, которые необходимо включить в целевое развертывание. См. артефакты.
Добавлено в Databricks CLI версии 0.229.0
bundle Карта Атрибуты пакета при развертывании в этом целевом объекте. См. пакет.
Добавлено в Databricks CLI версии 0.229.0
cluster_id Струна Идентификатор кластера, используемого для этого целевого объекта.
Добавлено в Databricks CLI версии 0.229.0
compute_id Струна Устарело. Идентификатор вычислительных ресурсов, используемых для этого целевого объекта.
default Булев Указывает, является ли этот целевой объект целевым объектом по умолчанию. См. целевые объекты.name.default.
Добавлено в Databricks CLI версии 0.229.0
git Карта Параметры управления версиями Git для целевого объекта. См. git.
Добавлено в Databricks CLI версии 0.229.0
mode Струна Режим развертывания целевого объекта. Допустимые значения: development или production. См. целевые объекты.режим развертывания name.mode и Databricks Asset Bundle.
Добавлено в Databricks CLI версии 0.229.0
permissions Последовательность Разрешения для развертывания и запуска пакета в целевом объекте. Просмотр разрешений.
Добавлено в Databricks CLI версии 0.229.0
presets Карта Предустановки развертывания для целевого объекта. См. целевые объекты.name.presets.
Добавлено в Databricks CLI версии 0.229.0
resources Карта Определения ресурсов для целевого объекта. См. ресурсы.
Добавлено в Databricks CLI версии 0.229.0
run_as Карта Учетная запись, используемая для запуска пакета. См. run_as и указание удостоверения выполнения для рабочего процесса пакетов ресурсов Databricks.
Добавлено в Databricks CLI версии 0.229.0
sync Карта Локальные пути для синхронизации с целевой рабочей областью при запуске или развертывании пакета. См. синхронизацию с.
Добавлено в Databricks CLI версии 0.229.0
variables Карта Пользовательские определения переменных для целевого объекта. См. переменные.
Добавлено в Databricks CLI версии 0.229.0
workspace Карта Рабочая область Databricks для целевого объекта. См. рабочую область .
Добавлено в Databricks CLI версии 0.229.0

Цели. name.default

Чтобы задать целевое значение по умолчанию для команд пакета, сопоставьте default с true. Например, этот целевой объект называется целевым объектом dev по умолчанию:

targets:
  dev:
    default: true

Если целевой объект по умолчанию не настроен или вы хотите проверить, развернуть и запустить задания или конвейеры в определенном целевом объекте, используйте -t параметр команд пакета.

Следующие команды проверяют, развертывают и выполняют my_job внутри целей dev и prod.

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

В следующем примере объявляется два целевых объекта. Первый целевой объект имеет имя dev и является целевым объектом по умолчанию, используемым при отсутствии целевого объекта для команд пакета. Второй целевой объект имеет имя prod и используется только в том случае, если этот целевой объект указан для команд пакета.

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

Цели. name.mode

Чтобы упростить разработку и рекомендации по CI/CD, наборы активов Databricks предоставляют режимы развертывания для целевых объектов, которые устанавливают поведение по умолчанию для предварительных и рабочих рабочих процессов. Некоторые поведения также настраиваются с помощью целевых объектов.name.presets.

Дополнительные сведения см. в режимах развертывания пакета ресурсов Databricks.

Подсказка

Чтобы задать удостоверения запуска для пакетов, можно указать run_as для каждого целевого объекта, как описано в разделе "Указание удостоверения запуска для рабочего процесса пакетов активов Databricks".

Чтобы указать, что целевой объект рассматривается как объект разработки, добавьте mode набор сопоставлений development. Чтобы указать, что цель обрабатывается как производственная, добавьте набор сопоставленийmodeproduction. Например, объект с именем prod рассматривается как производственный целевой объект.

targets:
  prod:
    mode: production

Цели. name.presets

Вы можете настроить некоторые из поведения целевого развертывания mode с помощью presets сопоставления.

Список доступных предустановок см. в разделе "Пользовательские предустановки".

В следующем примере показана настраиваемая производственная цель, которая добавляет префиксы и теги ко всем производственным ресурсам.

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

Переменные

Type: Map

Определяет пользовательскую переменную для пакета. Для каждой переменной задайте необязательное описание, значение по умолчанию, укажите, является ли переменная сложным типом, или настройку поиска для получения значения идентификатора, используя следующий формат:

variables:
  <variable-name>:
    description: <variable-description>
    default: <optional-default-value>
    type: <optional-type-value> # "complex" is the only valid value
    lookup:
      <optional-object-type>: <optional-object-name>

Замечание

Предполагается, что переменные имеют тип string, если type не задано значение complex. См. раздел "Определение сложной переменной".

Чтобы ссылаться на пользовательскую переменную в конфигурации пакета, используйте замену ${var.<variable_name>}.

Дополнительные сведения о пользовательских переменных и подстановках см. в разделе Подстановки и переменные в пакетах ресурсов Databricks.

Добавлено в Databricks CLI версии 0.229.0

Ключ Тип Описание
default Любое Значение по умолчанию для переменной.
Добавлено в Databricks CLI версии 0.229.0
description Струна Описание переменной.
Добавлено в Databricks CLI версии 0.229.0
lookup Карта Имя alert, cluster_policy, cluster, dashboard, instance_pool, job, metastore, pipeline, query, service_principalили объект warehouse, для которого требуется получить идентификатор. См. переменные.name.lookup.
Добавлено в Databricks CLI версии 0.229.0
type Струна Тип переменной, простой или сложной. Задайте этот ключ только в том случае, если переменная сложна. Допустимые значения: complex.
Добавлено в Databricks CLI версии 0.229.0

Переменные. name.lookup

Type: Map

Имя оповещения, cluster_policy, кластера, панели мониторинга, instance_pool, задания, хранилища метаданных, конвейера, запроса, service_principal или объекта хранилища, для которого требуется получить идентификатор. Для получения информации об использовании поиска, см. раздел "Получение значения идентификатора объекта".

Добавлено в Databricks CLI версии 0.229.0

Ключ Тип Описание
alert Струна Имя оповещения, для которого требуется получить идентификатор.
Добавлено в Databricks CLI версии 0.229.0
cluster Струна Имя кластера, для которого требуется получить идентификатор.
Добавлено в Databricks CLI версии 0.229.0
cluster_policy Струна Имя cluster_policy, для которого требуется получить идентификатор.
Добавлено в Databricks CLI версии 0.229.0
dashboard Струна Имя панели мониторинга, для которой требуется получить идентификатор.
Добавлено в Databricks CLI версии 0.229.0
instance_pool Струна Имя instance_pool, для которого требуется получить идентификатор.
Добавлено в Databricks CLI версии 0.229.0
job Струна Имя задания, для которого требуется получить идентификатор.
Добавлено в Databricks CLI версии 0.229.0
metastore Струна Имя хранилища метаданных, для которого требуется получить идентификатор.
Добавлено в Databricks CLI версии 0.229.0
notification_destination Струна Имя "notification_destination", для которого нужно получить идентификатор.
Добавлено в Databricks CLI версии 0.236.0
pipeline Струна Имя конвейера, для которого требуется получить идентификатор.
Добавлено в Databricks CLI версии 0.229.0
query Струна Имя запроса, для которого требуется получить идентификатор.
Добавлено в Databricks CLI версии 0.229.0
service_principal Струна Имя service_principal, для которого требуется получить идентификатор.
Добавлено в Databricks CLI версии 0.229.0
warehouse Струна Имя хранилища, для которого требуется получить идентификатор.
Добавлено в Databricks CLI версии 0.229.0

рабочее пространство

Type: Map

Определяет рабочую область Databricks для пакета. Файл конфигурации пакета может содержать только одно сопоставление верхнего уровня workspace, чтобы указать любые параметры рабочей области Azure Databricks, отличные от параметров по умолчанию.

Это важно

Допустимые пути рабочей области Databricks начинаются с /Workspace, а для артефактов также поддерживаются пути, начинающиеся с /Volumes. Пользовательские пути рабочей области автоматически добавляются в начале с /Workspace, поэтому, если вы используете замену пути рабочей области в своем пользовательском пути, например, ${workspace.file_path}, вам не нужно добавлять /Workspace к пути.

Добавлено в Databricks CLI версии 0.229.0

Ключ Тип Описание
artifact_path Струна Путь артефакта, используемый в рабочей области как для развертываний, так и для выполнения рабочих процессов
Добавлено в Databricks CLI версии 0.229.0
auth_type Струна Используемый тип проверки подлинности, особенно важный в случаях, когда интерфейс командной строки Databricks вызывает непредвиденный тип проверки подлинности. См. раздел "Авторизация доступа к ресурсам Azure Databricks".
Добавлено в Databricks CLI версии 0.229.0
azure_client_id Струна Идентификатор клиента Azure. См. проверку подлинности рабочей области.
Добавлено в Databricks CLI версии 0.229.0
azure_environment Струна Среда Azure. См. проверку подлинности рабочей области.
Добавлено в Databricks CLI версии 0.229.0
azure_login_app_id Струна Идентификатор приложения для входа Azure. См. проверку подлинности рабочей области.
Добавлено в Databricks CLI версии 0.229.0
azure_tenant_id Струна Идентификатор клиента Azure. См. проверку подлинности рабочей области.
Добавлено в Databricks CLI версии 0.229.0
azure_use_msi Булев Следует ли использовать MSI для Azure. См. проверку подлинности рабочей области.
Добавлено в Databricks CLI версии 0.229.0
azure_workspace_resource_id Струна Идентификатор ресурса рабочей области Azure. См. проверку подлинности рабочей области.
Добавлено в Databricks CLI версии 0.229.0
client_id Струна Идентификатор клиента для рабочей области. См. проверку подлинности рабочей области.
Добавлено в Databricks CLI версии 0.229.0
file_path Струна Путь к файлу, используемый в рабочей области как для развертываний, так и для выполнения рабочих процессов. См. workspace.file_path.
Добавлено в Databricks CLI версии 0.229.0
google_service_account Струна Имя учетной записи службы Google. См. проверку подлинности рабочей области.
Добавлено в Databricks CLI версии 0.229.0
host Струна URL-адрес узла рабочей области Databricks. См. Имена экземпляров рабочей области, URL-адреса и идентификаторы.
host Установка сопоставления указывает интерфейсу командной строки Databricks найти соответствующий профиль в файле .databrickscfg, а затем использовать поля этого профиля для определения используемого типа проверки подлинности Databricks. Если в .databrickscfg файле существует несколько профилей с host соответствующим полем, необходимо использовать profile сопоставление (или --profile-p параметры командной строки) для указания профиля.
Добавлено в Databricks CLI версии 0.229.0
profile Струна Имя профиля рабочей области Databricks. См. раздел workspace.profile.
Добавлено в Databricks CLI версии 0.229.0
resource_path Струна Путь к ресурсу рабочей области
Добавлено в Databricks CLI версии 0.230.0
root_path Струна Корневой путь рабочей области Databricks. См. workspace.root_path.
Добавлено в Databricks CLI версии 0.229.0
state_path Струна Путь к состоянию рабочей области. Этот ключ по умолчанию соответствует пути по умолчанию и представляет путь ${workspace.root}/state в рабочей области для хранения сведений о состоянии Terraform о развертываниях.
Добавлено в Databricks CLI версии 0.229.0

Проверка подлинности рабочей области

Сопоставление рабочей области также может содержать сопоставления, чтобы указать используемый механизм проверки подлинности Databricks. Если они не указаны в сопоставлении рабочих областей верхнего уровня, их необходимо указать в сопоставлении рабочих областей как дочерний объект одного или нескольких целевых объектов в сопоставлении целевых объектов верхнего уровня.

  • Для проверки подлинности OAuth между компьютерами (M2M) используется сопоставление client_id . Кроме того, можно задать это значение в локальной переменной DATABRICKS_CLIENT_IDсреды. Или вы можете создать профиль конфигурации со значением client_id, а затем указать имя профиля с помощью сопоставления profile (или, используя параметры --profile или -p, при выполнении команд проверки, развертывания, запуска и уничтожения с интерфейсом командной строки Databricks). См Авторизация доступа сервисного принципала к Azure Databricks с помощью OAuth.

    Замечание

    Нельзя указать значение секрета OAuth Azure Databricks в файле конфигурации пакета. Вместо этого задайте переменную DATABRICKS_CLIENT_SECRETлокальной среды. Кроме того, можно добавить значение client_secret в профиль конфигурации, а затем указать имя профиля с помощью сопоставления profile (или использовать параметры --profile и -p при выполнении команд проверки, развертывания, запуска и удаления с помощью интерфейса командной строки Databricks CLI).

  • Для авторизации в Azure CLI используется сопоставление azure_workspace_resource_id. Кроме того, можно задать это значение в локальной переменной DATABRICKS_AZURE_RESOURCE_IDсреды. Или вы можете создать профиль конфигурации со значением azure_workspace_resource_id, а затем указать имя профиля с помощью сопоставления profile (или, используя параметры --profile или -p, при выполнении команд проверки, развертывания, запуска и уничтожения с интерфейсом командной строки Databricks). Ознакомьтесь с проверкой подлинности с помощью Azure CLI.

  • Для аутентификации клиента Azure с помощью субъектов-служб используются сопоставления azure_workspace_resource_id, azure_tenant_id и azure_client_id. Кроме того, эти значения можно задать в переменных DATABRICKS_AZURE_RESOURCE_IDARM_TENANT_IDлокальной среды и ARM_CLIENT_IDсоответственно. Или можно создать профиль конфигурации с помощью значений azure_workspace_resource_id, azure_tenant_id и azure_client_id, а затем указать имя профиля с помощью сопоставления profile (или используя параметры --profile или -p при выполнении команд проверки, развертывания, запуска и уничтожения через интерфейс командной строки Databricks). Узнайте, как выполнять аутентификацию с использованием субъектов-служб Microsoft Entra.

    Замечание

    Нельзя указать значение секрета клиента Azure в файле конфигурации пакета. Вместо этого задайте переменную ARM_CLIENT_SECRETлокальной среды. Кроме того, можно добавить значение azure_client_secret в профиль конфигурации, а затем указать имя профиля с помощью сопоставления profile (или использовать параметры --profile и -p при выполнении команд проверки, развертывания, запуска и удаления с помощью интерфейса командной строки Databricks CLI).

  • Для проверки подлинности управляемых удостоверений Azure используются сопоставления azure_use_msi, azure_client_id и azure_workspace_resource_id. Кроме того, эти значения можно задать в переменных ARM_USE_MSIARM_CLIENT_IDлокальной среды и DATABRICKS_AZURE_RESOURCE_IDсоответственно. Или можно создать профиль конфигурации с помощью значений azure_use_msi, azure_client_id и azure_workspace_resource_id, а затем указать имя профиля с помощью сопоставления profile (или используя параметры --profile или -p при выполнении команд проверки, развертывания, запуска и уничтожения через интерфейс командной строки Databricks). Ознакомьтесь с проверкой подлинности с помощью управляемых удостоверений Azure.

  • Сопоставление azure_environment указывает тип среды Azure (например, Public, UsGov, Китай и Германия) для определенного набора конечных точек API. Значение по умолчанию — PUBLIC. Кроме того, можно задать это значение в локальной переменной ARM_ENVIRONMENTсреды. Кроме того, можно добавить значение azure_environment в профиль конфигурации, а затем указать имя профиля с помощью сопоставления profile (или использовать параметры --profile и -p при выполнении команд проверки, развертывания, запуска и удаления с помощью интерфейса командной строки Databricks CLI).

  • Сопоставление azure_login_app_id не работает и зарезервировано для внутреннего использования.

workspace.root_path

Это сопоставление workspace может содержать сопоставление root_path для указания корневого пути, отличного от стандартного, который используется в рабочей области как для развертывания, так и для запуска рабочих процессов, например:

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

По умолчанию интерфейс командной строки Databricks использует стандартный путь root_path, который включает /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/${bundle.target}.

workspace.artifact_path

Это workspace сопоставление также может содержать artifact_path сопоставление, чтобы указать нестандартный путь артефакта для использования в рабочем пространстве как для развертываний, так и для запусков рабочих процессов, например:

workspace:
  artifact_path: /Workspace/Users/${workspace.current_user.userName}/.bundle/${bundle.name}/my-envs/${bundle.target}/artifacts

По умолчанию интерфейс командной строки Databricks использует стандартный путь artifact_path, который включает ${workspace.root}/artifacts.

Замечание

Сопоставление artifact_path не поддерживает пути, относящиеся к файловой системе Databricks (DBFS).

workspace.file_path

Это workspace сопоставление также может содержать file_path сопоставление, чтобы указать путь к файлу, не являющийся значением по умолчанию, который используется в рабочей области для развертываний и выполнения рабочих процессов, например:

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

По умолчанию интерфейс командной строки Databricks использует стандартный путь file_path, который включает ${workspace.root}/files.

Это важно

Пользовательские переменные для этих значений проверки подлинности нельзя указать с помощью синтаксиса${var.*}.

workspace.profile

Замечание

Databricks рекомендует использовать сопоставление host (или параметры --profile или -p при выполнении команд проверки, развертывания, запуска и уничтожения пакета с помощью интерфейса командной строки Databricks) вместо сопоставления profile, так как это делает файлы конфигурации пакета более универсальными.

Сопоставление profile указывает имя профиля конфигурации, используемого для проверки подлинности в этой рабочей области Azure Databricks. Этот профиль конфигурации сопоставляется с созданным при настройке интерфейса командной строки Databricks.

Общие объекты

Git

Type: Map

Определяет данные о системе контроля версий Git. Это полезно для распространения метаданных развертывания, которые можно использовать позже для идентификации ресурсов. Например, можно отслеживать происхождение репозитория задачи, развернутой с помощью CI/CD.

При каждом выполнении команды bundle, такой как validate, deploy или run, команда 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}.

Примеры

При необходимости можно переопределить origin_url параметры и branch параметры в git сопоставлении сопоставления верхнего уровня bundle :

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