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

Файл dbt_cloud.yml

Файл dbt_cloud.yml хранит учётные данные, которые инструменты dbt — такие как dbt platform CLI, расширение dbt для VS Code и другие — используют для аутентификации в dbt platform. Вы можете скачать его из dbt platform и сохранить локально в каталоге .dbt.

На этой странице описаны:

Храните этот файл в безопасности

Файл dbt_cloud.yml содержит ключи API. Храните его в безопасном месте и убедитесь, что вы не добавляете его в систему контроля версий.

Скачивание dbt_cloud.yml​

Способ скачивания файла зависит от того, настраиваете ли вы dbt platform CLI или расширение dbt для VS Code. Скачанный файл dbt_cloud.yml содержит ваш персональный токен доступа (PAT).

  1. В dbt platform выберите проект, с которым хотите работать. Для проекта уже должна быть настроена среда разработки.
  2. Перейдите в 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.
  1. Переместите файл в каталог .dbt. Если у вас ещё нет такого каталога, воспользуйтесь одним из следующих вариантов быстрой настройки (одной командой):

    mkdir -p ~/.dbt && mv ~/Downloads/dbt_cloud.yml ~/.dbt/dbt_cloud.yml
     Создание и перемещение каталога .dbt вручную

    Если у вас ещё нет директории .dbt, рекомендуется выполнить следующие шаги, чтобы создать её. Если директория .dbt у вас уже есть, переместите файл dbt_cloud.yml внутрь неё. Ниже приведена справочная информация о директории .dbt:

    • Директория .dbt — это скрытая папка в корне вашей файловой системы. Она используется для хранения конфигурационных файлов dbt. Префикс . делает папку скрытой, поэтому по умолчанию она не отображается в Finder или File Explorer.
    • Чтобы увидеть скрытые файлы и папки, нажмите Command + Shift + G на macOS или Ctrl + Shift + G на Windows. Это откроет диалог «Go to Folder», в котором можно перейти к директории .dbt.
    1. Клонируйте репозиторий вашего проекта dbt на локальный компьютер.
    2. Используйте команду mkdir, указав после неё имя папки, которую хотите создать.
    • Если вы используете macOS, добавьте префикс ~, чтобы создать папку .dbt в корне вашей файловой системы:
      • macOS: mkdir ~/.dbt
      • Windows: mkdir %USERPROFILE%\.dbt

    Если имя скачанного файла содержит числовой суффикс (например, dbt_cloud(2).yml), переименуйте его в dbt_cloud.yml перед перемещением. dbt platform CLI и расширение ищут файл только с этим точным именем.

  2. Убедитесь, что 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 имеет следующую структуру:

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 будет выглядеть следующим образом:

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 соответствует ваш локальный проект.

dbt_project.yml
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, которой принадлежит этот локальный проект. Обратите внимание на символ подчёркивания — в отличие от других полей в этом блоке, здесь не используется дефис.

Связанная документация​

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

0
Loading