Файл dbt_cloud.yml
Файл dbt_cloud.yml хранит учётные данные, которые инструменты dbt — такие как dbt platform CLI, расширение dbt для VS Code и другие — используют для аутентификации в dbt platform. Вы можете скачать его из dbt platform и сохранить локально в каталоге .dbt.
На этой странице описаны:
- Скачивание файла и настройка каталога
.dbtдля dbt platform CLI или расширения для VS Code - Обновление или переключение проектов
- Структура файла и справочник полей
- Сопутствующий блок
dbt-cloudвdbt_project.yml
Файл dbt_cloud.yml содержит ключи API. Храните его в безопасном месте и убедитесь, что вы не добавляете его в систему контроля версий.
Скачивание dbt_cloud.yml
Способ скачивания файла зависит от того, настраиваете ли вы dbt platform CLI или расширение dbt для VS Code. Скачанный файл dbt_cloud.yml содержит ваш персональный токен доступа (PAT).
- В dbt platform выберите проект, с которым хотите работать. Для проекта уже должна быть настроена среда разработки.
- Перейдите в Account settings → Your profile, затем выполните действия для своего инструмента:
- dbt platform CLI: перейдите в CLI → Configure Cloud authentication и нажмите Download CLI configuration file.
- Расширение dbt для VS Code: перейдите в VS Code Extension → Set up your credentials и нажмите Download credentials.
-
Переместите файл в каталог
.dbt. Если у вас ещё нет такого каталога, воспользуйтесь одним из следующих вариантов быстрой настройки (одной командой):- Mac / Linux
- Windows
mkdir -p ~/.dbt && mv ~/Downloads/dbt_cloud.yml ~/.dbt/dbt_cloud.ymlmkdir %USERPROFILE%\.dbt 2>nul & move %USERPROFILE%\Downloads\dbt_cloud.yml %USERPROFILE%\.dbt\dbt_cloud.ymlЕсли имя скачанного файла содержит числовой суффикс (например,
dbt_cloud(2).yml), переименуйте его вdbt_cloud.ymlперед перемещением. dbt platform CLI и расширение ищут файл только с этим точным именем. -
Убедитесь, что
project-idв блокеdbt-cloudфайлаdbt_project.ymlсоответствует проекту, с которым вы работаете. Это регистрирует ваш инструмент, подключает его к dbt platform и позволяет использовать такие возможности платформы, как Mesh и отложенное разрешение ссылок (deferral).
Обновление или переключение проектов
Файл dbt_cloud.yml хранится локально на вашем компьютере и не обновляется автоматически. Обязательно скачивайте его заново в следующих случаях:
- Вы получили доступ к новому проекту и хотите работать с ним локально
- Проект удалён из вашей учётной записи или ваши права доступа к проекту изменились
- Ваш токен изменён или заменён в рамках ротации
- Хост вашей учётной записи изменился, например при переносе учётной записи в другой регион
Файл может содержать несколько проектов из одной учётной записи dbt platform. Чтобы переключиться на другой проект, укажите в context.active-project значение project-id нужного проекта. Активный проект должен соответствовать одному из проектов, перечисленных в projects.
Если вы работаете с несколькими учётными записями dbt platform, храните отдельный файл dbt_cloud.yml для каждой учётной записи и перемещайте нужный файл в каталог .dbt.
Структура файла
Файл dbt_cloud.yml имеет следующую структуру:
version: "1"
context:
active-host: your_active_host # for example, "abc123.us1.dbt.com"
active-project: your_project_id # for example, "123456"
projects:
- project-name: your_project_name
project-id: your_project_id
account-name: your_account_name
account-id: your_account_id
account-host: your_account_host # for example, "abc123.us1.dbt.com"
token-name: your_token_name # for example, "cloud-cli-1234"
token-value: your_token_value
- project-name: your_project_name
project-id: your_project_id
account-name: your_account_name
account-id: your_account_id
account-host: your_account_host
token-name: your_token_name
token-value: your_token_value
Например, если у вас есть учётная запись Jaffle and wizard shop, ваш файл dbt_cloud.yml будет выглядеть следующим образом:
version: "1"
context:
active-host: "abc123.us1.dbt.com"
active-project: "123456"
projects:
- project-name: "Project 1"
project-id: "123"
account-name: "Jaffle and wizard shop"
account-id: "1"
account-host: "abc123.us1.dbt.com"
token-name: "cloud-cli-1091"
token-value: "dbtu_token_value" # this would be a longer token value
- project-name: "Project 2"
project-id: "456"
account-name: "Jaffle and wizard shop"
account-id: "1"
account-host: "abc123.us1.dbt.com"
token-name: "cloud-cli-1091"
token-value: "dbtu_token_value"
- project-name: "Project 3"
project-id: "789"
account-name: "Jaffle and wizard shop"
account-id: "1"
account-host: "abc123.us1.dbt.com"
token-name: "cloud-cli-1091"
token-value: "dbtu_token_value"
Справочник полей
| Поле | Обязательное | Описание |
|---|---|---|
version | Да | Версия схемы файла. В настоящее время — "1". |
context.active-host | Да | Значение account-host, используемое по умолчанию. Его можно найти на странице Account settings. |
context.active-project | Да | Значение project-id проекта, используемого по умолчанию при выполнении команд. Должно совпадать с одним из значений project-id, перечисленных в projects. |
context.defer-env-id | Нет | Идентификатор среды, из которой следует использовать артефакты сборки при отложенном разрешении ссылок. Необязательное переопределение среды отложенного разрешения ссылок, заданной для проекта по умолчанию. Только для dbt platform CLI. См. Настройка отложенного разрешения ссылок. |
projects.project-name | Да | Понятное человеку название проекта. |
projects.project-id | Да | Идентификатор проекта в dbt platform. Его можно найти в URL при просмотре проекта (например, …/projects/123456). |
projects.account-name | Да | Понятное человеку название учётной записи. |
projects.account-id | Да | Идентификатор учётной записи в dbt platform. |
projects.account-host | Да | Хост вашей учётной записи, например cloud.getdbt.com, emea.dbt.com или URL доступа к вашему однопользовательскому экземпляру (single-tenant). |
projects.token-name | Да | Имя персонального токена доступа (PAT). |
projects.token-value | Да | Значение PAT. Обращайтесь с ним как с секретом. |
Блок dbt-cloud в dbt_project.yml
Блок dbt-cloud — это сопутствующая конфигурация, которая находится в файле dbt_project.yml вашего проекта (а не в dbt_cloud.yml). Он сообщает dbt platform CLI, Studio IDE и dbt v2, какому проекту в dbt platform соответствует ваш локальный проект.
name:
version:
# Your project configs...
dbt-cloud:
project-id: your_project_id
defer-env-id: '123456' # optional
| Поле | Обязательное | Описание |
|---|---|---|
project-id | Да | Идентификатор проекта в dbt platform, которому соответствует этот локальный проект. Его можно найти в URL при просмотре проекта (например, https://YOUR_ACCESS_URL/develop/26228/projects/123456 → 123456). |
defer-env-id | Нет | Идентификатор среды, из которой следует использовать артефакты сборки при отложенном разрешении ссылок. Используется для автоматического отложенного разрешения ссылок в dbt v2 и переопределения настроек отложенного разрешения ссылок в dbt platform CLI. |
account_id | Нет | Только для dbt v2. Идентификатор учётной записи dbt platform, которой принадлежит этот локальный проект. Обратите внимание на символ подчёркивания — в отличие от других полей в этом блоке, здесь не используется дефис. |