# Подключение YDB к dbt v1

Локальная разработка

## Обзор dbt-ydb

* **Сопровождение**: YDB Team
* **Авторы**: YDB Team
* **Репозиторий GitHub**: [ydb-platform/dbt-ydb](https://github.com/ydb-platform/dbt-ydb)[![](https://img.shields.io/github/stars/ydb-platform/dbt-ydb?style=for-the-badge)](https://github.com/ydb-platform/dbt-ydb)
* **Пакет PyPI**: `dbt-ydb` [![](https://badge.fury.io/py/dbt-ydb.svg)](https://badge.fury.io/py/dbt-ydb)
* **Канал Slack**: [n/a]()
* **Поддерживаемая версия dbt v1**: v1.8.0 и новее
* **Поддержка dbt**: Not Supported
* **Минимальная версия платформы данных**: n/a

## Установка dbt-ydb

Самый простой способ установить адаптер — использовать pip:

`python -m pip install dbt-ydb`

При установке `dbt-ydb` также будут установлены `dbt-core` и все необходимые зависимости.

## Настройка dbt-ydb

Для специфичной для YDB конфигурации, пожалуйста, обратитесь к разделу [Конфигурация YDB](https://docs.getdbt.tech/reference/resource-configs/no-configs.md)

Для получения дополнительной информации см. GitHub-репозиторий: [ydb-platform/dbt-ydb](https://github.com/ydb-platform/dbt-ydb)

## Подключение к YDB

Чтобы подключиться к YDB из dbt, необходимо добавить [профиль](https://docs.getdbt.tech/docs/local/profiles.yml.md) в файл `profiles.yml`. Профиль YDB имеет следующий синтаксис:

profiles.yml

```yaml
profile-name:
  target: dev
  outputs:
    dev:
      type: ydb
      host: localhost
      port: 2136
      database: /local
      schema: empty_string
      secure: False
      root_certificates_path: empty_string

      # Static credentials
      username: empty_string
      password: empty_string

      # Access token credentials
      token: empty_string

      # Service account credentials
      service_account_credentials_file: empty_string
```

### Все параметры конфигурации

| Параметр                            | Обязательный? | По умолчанию   | Описание                                                                                                    |
| ----------------------------------- | ------------- | -------------- | ----------------------------------------------------------------------------------------------------------- |
| host                                | Да            |                | Хост YDB                                                                                                    |
| port                                | Да            |                | Порт YDB                                                                                                    |
| database                            | Да            |                | База данных YDB                                                                                             |
| schema                              | Нет           | `empty_string` | Необязательная подпапка для моделей dbt. Используйте пустую строку или `/` для использования корневой папки |
| secure                              | Нет           | False          | Если включено, будет использоваться протокол `grpcs`                                                        |
| root\_certificates\_path            | Нет           | `empty_string` | Необязательный путь к файлу корневых сертификатов                                                           |
| username                            | Нет           | `empty_string` | Имя пользователя YDB для аутентификации со статическими учетными данными                                    |
| password                            | Нет           | `empty_string` | Пароль YDB для аутентификации со статическими учетными данными                                              |
| token                               | Нет           | `empty_string` | Токен YDB для аутентификации с токеном доступа                                                              |
| service\_account\_credentials\_file | Нет           | `empty_string` | Путь к файлу учетных данных сервисного аккаунта для аутентификации с учетными данными сервисного аккаунта   |
