Перейти к основному содержимому

Конфигурации переменных окружения

Переменные окружения содержат префикс DBT_. Для получения списка всех переменных окружения dbt, которые вы можете установить, обратитесь к Доступные флаги.

Env var

$ export DBT_<THIS-CONFIG>=True
dbt run

Для получения более подробной информации ознакомьтесь с нашей страницей environment variables page.

Приоритет конфигурации

Существует несколько способов задания флагов, выбор которых зависит от сценария использования:

  • Флаги уровня проекта flags в dbt_project.yml: Определяют версионируемые значения по умолчанию для всех, кто запускает этот проект. Также позволяют включать или отключать изменения поведения, чтобы управлять миграцией с устаревшей функциональности.
  • Переменные окружения: Позволяют задавать разное поведение в разных средах выполнения (разработка vs. продакшн vs. continuous integration), а также разное поведение для разных пользователей в среде разработки (например, на основе личных предпочтений).
  • Опции CLI: Определяют поведение, специфичное для данного запуска. Поддерживаются для всех команд dbt.

Всегда «побеждает» наиболее специфичная настройка. Если один и тот же флаг задан во всех трёх местах, приоритет будет следующим: сначала опция CLI, затем переменная окружения и, наконец, значение из dbt_project.yml. Если флаг не задан ни в одном из этих мест, будет использовано значение по умолчанию, определённое внутри dbt.

Большинство флагов можно задать всеми тремя способами:

# dbt_project.yml
flags:
# значение по умолчанию для запуска этого проекта — везде, всегда, для всех
fail_fast: true
# установить эту переменную окружения в значение 'True' (синтаксис bash)
export DBT_FAIL_FAST=1
dbt run
dbt run --fail-fast # установить True для этого конкретного запуска
dbt run --no-fail-fast # установить False

Существует две категории исключений:

  1. Флаги, задающие пути к файлам: Флаги с путями к файлам, которые важны для выполнения во время запуска (например, --log-path или --state), нельзя задавать в dbt_project.yml. Чтобы переопределить значения по умолчанию, используйте опции CLI или переменные окружения (DBT_LOG_PATH, DBT_STATE). Флаги, которые указывают dbt, где искать ресурсы проекта (например, model-paths), задаются в dbt_project.yml, но как ключи верхнего уровня, вне словаря flags; предполагается, что такие настройки полностью статичны и никогда не меняются в зависимости от команды или среды выполнения.
  2. Opt-in флаги: Флаги, отвечающие за включение или отключение изменений поведения, могут быть определены только в dbt_project.yml. Предполагается, что они задаются в системе контроля версий и изменяются через pull/merge request. Их значения не должны длительное время различаться между запусками, средами или пользователями.

Нашли ошибку?

0
Loading