Настройка и использование 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/123456
ID проекта —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 планирует решить эту проблему в следующем выпуске.