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

Пользовательские настройки

~/.dbt/user_settings.yml — это файл конфигурации пользовательского уровня для личных настроек dbt. Поскольку он всегда находится в ~/.dbt/, его настройки применяются глобально ко всем проектам на вашем компьютере независимо от того, какой проект вы запускаете и где расположен ваш profiles.yml.

На данный момент user_settings.yml в основном заполняется командой dbt login для локальной настройки dbt State (manage_state). Со временем dbt может добавить в этот файл другие флаги пользовательского уровня.

Настройки в этом файле отделены от конфигурации уровня проекта (dbt_project.yml) и конфигурации подключения (profiles.yml). Используйте этот файл для настроек, относящихся к вам, а не к проекту, как альтернативу заданию переменных окружения или заполнению файла .env.

~/.dbt/user_settings.yml
flags:
manage_state: true

Некоторые команды dbt автоматически записывают настройки в этот файл. Вы также можете редактировать его вручную.

При запуске dbt login dbt записывает настройки в user_settings.yml:

  • Вход с помощью учётной записи dbt platform
    • В dbt v2 CLI запрашивает подтверждение перед записью в user_settings.yml.
    • В dbt v1.13 dbt автоматически записывает manage_state: true. Если ранее вы задали manage_state: false, CLI запрашивает подтверждение перед перезаписью этого значения.
    • Настройка manage_state: true включает dbt State локально при каждом выполнении dbt run или dbt build.

Если в user_settings.yml уже задано значение, dbt login запрашивает подтверждение перед его перезаписью.

Приоритет настроек​

user_settings.yml имеет самый низкий приоритет в иерархии флагов dbt. Более специфичные настройки всегда переопределяют его значения. Подробнее о приоритете флагов см. в разделе О флагах (глобальных настройках).

  1. Параметр CLI (наивысший приоритет)
  2. Переменная окружения
  3. Уровень проекта (dbt_project.yml)
  4. Уровень пользователя (~/.dbt/user_settings.yml) (самый низкий приоритет)

Например, если в user_settings.yml задано manage_state: true, но вы запускаете dbt run --no-manage-state, флаг CLI имеет приоритет, и dbt отключает dbt State для этого запуска.

Если dbt State включён локально, но не в dbt platform​

Если в user_settings.yml задано manage_state: true, но dbt State не включён в вашей учётной записи dbt platform, dbt завершится с ошибкой при следующем выполнении dbt run или dbt build. Чтобы устранить проблему, выполните одно из следующих действий:

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

0
Loading