Настройка и использование dbt Cloud CLI
Узнайте, как настроить dbt Cloud CLI для вашего проекта в dbt Cloud, чтобы выполнять команды dbt, такие как dbt environment show для просмотра конфигурации dbt Cloud или dbt compile для компиляции вашего проекта и проверки моделей и тестов. Вы также получите следующие преимущества:
- Безопасное хранение учетных данных на платформе dbt Cloud.
- Автоматическая отсрочка артефактов сборки в производственную среду вашего Cloud проекта.
- Более быстрые и менее затратные сборки.
- Поддержка dbt Mesh (межпроектные ссылки) и многое другое.
Предварительные условия
- Вы должны настроить проект в dbt Cloud.
- Примечание — Если вы используете dbt Cloud CLI, вы можете подкл ючиться к вашей платформе данных напрямую в интерфейсе dbt Cloud и вам не нужен файл
profiles.yml.
- Примечание — Если вы используете dbt Cloud CLI, вы можете подкл ючиться к вашей платформе данных напрямую в интерфейсе dbt Cloud и вам не нужен файл
- Вы должны иметь учетные данные для личной разработки для этого проекта. dbt Cloud CLI будет использовать эти учетные данные, хранящиеся безопасно в dbt Cloud, для связи с вашей платформой данных.
- Вы должны использовать dbt версии 1.5 или выше. Обратитесь к версиям dbt Cloud для обновления.
Настройка dbt Cloud CLI
После установки dbt Cloud CLI вам нужно настроить его для подключения к проекту в dbt Cloud.
-
В dbt Cloud перейдите в раздел Develop и нажмите Configure dbt Cloud CLI, чтобы скачать файл учетных данных
dbt_cloud.yml.Details
URL-адреса регионов для загрузки учетных данных
Вы также можете скачать учетные данные по ссылкам, предоставленным в зависимости от вашего региона:- Северная Америка: https://cloud.getdbt.com/cloud-cli
- EMEA: https://emea.dbt.com/cloud-cli
- APAC: https://au.dbt.com/cloud-cli
- Североамериканская ячейка 1:
https:/ACCOUNT_PREFIX.us1.dbt.com/cloud-cli - Однопользовательский:
https://YOUR_ACCESS_URL/cloud-cli
-
Сохраните файл
dbt_cloud.ymlв директории.dbt, которая хранит вашу конфигурацию dbt Cloud CLI. Храните его в безопасном месте, так как он содержит API-ключи. Ознакомьтесь с Часто задаваемыми вопросами, чтобы узнать, как создать директорию.dbtи переместить файлdbt_cloud.yml. -
Следуйте инструкциям в баннере и скачайте файл конфигурации в:
- Mac или Linux:
~/.dbt/dbt_cloud.yml - Windows:
C:\Users\yourusername\.dbt\dbt_cloud.yml
- Mac или Linux:
Файл конфигурации выглядит следующим образом:
version: "1"
context:
active-project: "<project id from the list below>"
active-host: "<active host from the list>"
defer-env-id: "<optional defer environment id>"
projects:
- project-name: "<project-name>"
project-id: "<project-id>"
account-name: "<account-name>"
account-id: "<account-id>"
account-host: "<account-host>" # например, "cloud.getdbt.com"
token-name: "<pat-or-service-token-name>"
token-value: "<pat-or-service-token-value>"
- project-name: "<project-name>"
project-id: "<project-id>"
account-name: "<account-name>"
account-id: "<account-id>"
account-host: "<account-host>" # например, "cloud.getdbt.com"
token-name: "<pat-or-service-token-name>"
token-value: "<pat-or-service-token-value>"
-
После загрузки файла конфигурации и создания директории перейдите к проекту dbt в вашем терминале:
cd ~/dbt-projects/jaffle_shop -
В вашем файле
dbt_project.ymlубедитесь, что у вас есть или добавьте секциюdbt-cloudс полемproject-id. Полеproject-idсодержит ID проекта dbt Cloud, который вы хотите использовать.# dbt_project.yml
name:
version:
# Ваши конфигурации проекта...
dbt-cloud:
project-id: PROJECT_ID- Чтобы найти ID вашего проекта, выберите Develop в навигационном меню dbt Cloud. Вы можете использовать URL-адрес, чтобы найти ID проекта. Например, в
https://YOUR_ACCESS_URL/develop/26228/projects/123456ID проекта —123456.
- Чтобы найти ID вашего проекта, выберите Develop в навигационном меню dbt Cloud. Вы можете использовать URL-адрес, чтобы найти ID проекта. Например, в
-
Теперь вы должны быть в состоянии использовать dbt Cloud CLI и выполнять команды dbt, такие как
dbt environment showдля просмотра деталей конфигурации dbt Cloud илиdbt compileдля компиляции моделей в вашем проекте dbt.
С вашим репозиторием, клонированным заново, вы можете добавлять, редактировать и синхронизировать файлы с вашим репозиторием.
Установка переменных окружения
Чтобы установить переменные окружения в dbt Cloud CLI для вашего проекта dbt:
- В dbt Cloud нажмите на имя вашего аккаунта в левом боковом меню и выберите Account settings.
- В разделе Your profile выберите Credentials.
- Нажмите на ваш проект и прокрутите до раздела Environment variables.
- Нажмите Edit в правом нижнем углу и затем устан овите переменные окружения на уровне пользователя.
Использование dbt Cloud CLI
dbt Cloud CLI использует тот же набор команд dbt и команд MetricFlow, что и dbt Core, для выполнения предоставленных вами команд. Например, используйте команду dbt environment для просмотра деталей конфигурации dbt Cloud. С помощью dbt Cloud CLI вы можете:
- Выполнять несколько вызовов параллельно и обеспечивать безопасный параллелизм, который в настоящее время не гарантируется
dbt-core. - Автоматически откладывать артефакты сборки в производственную среду вашего Cloud проекта.
- Поддерживать зависимости проектов, что позволяет вам зависеть от другого проекта, используя сервис метаданных в dbt Cloud.
- Зависимости проектов мгновенно подключаются и ссылаются (или
ref) на публичные модели, определенные в других проектах. Вам не нужно выполнять или анализировать эти модели самостоятельно. Вместо этого вы рассматриваете их как API, который возвращает набор данных.
- Зависимости проектов мгновенно подключаются и ссылаются (или
--helpКак совет, большинство инструментов командной строки имеют флаг --help, чтобы показать доступные команды и аргументы. Используйте флаг --help с dbt двумя способами:
dbt --help: Показывает доступные команды для dbtdbt run --help: Показывает доступные флаги для командыrun
Линтинг SQL файлов
С помощью dbt Cloud CLI вы можете вызвать SQLFluff, который является модульным и настраиваемым линтером SQL, предупреждающим вас о сложных функциях, синтаксисе, форматировании и ошибках компиляции. Многие из тех же флагов, которые вы можете передать SQLFluff, доступны из dbt Cloud CLI.
Доступные команды SQLFluff:
lint— Линтинг SQL файлов, передавая список файлов или из стандартного ввода (stdin).fix— Исправление SQL файлов.format— Автоформатирование SQL файлов.
Чтобы выполнить линтинг SQL файлов, выполните команду следующим образом:
dbt sqlfluff lint [PATHS]... [flags]
Если путь не указан, dbt выполняет линтинг всех SQL файлов в текущем проекте. Чтобы выполнить линтинг конкретного SQL файла или директории, укажите PATHS как путь к SQL файлу(ам) или директории файлов. Чтобы выполнить линтинг нескольких файлов или директорий, передайте несколько флагов PATHS.
Чтобы показать подробную информацию о всех поддерживаемых dbt командах и флагах, выполните команду dbt sqlfluff -h.
Соображения
При выполнении dbt sqlfluff из dbt Cloud CLI важно учитывать следующие моменты:
- dbt читает файл
.sqlfluff, если он существует, для любых пользователь ских конфигураций, которые у вас могут быть. - Для рабочих процессов непрерывной интеграции/непрерывной разработки (CI/CD) ваш проект должен иметь файл
dbt_cloud.yml, и вы успешно выполнили команды из этого проекта dbt. - Команда SQLFluff вернет код выхода 0, если она выполнена с любыми нарушениями в файлах. Это поведение dbt отличается от поведения SQLFluff, где нарушение линтинга возвращает ненулевой код выхода. dbt Labs планирует решить эту проблему в следующем выпуске.