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