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

Настройка DeltaStream

  • Поддерживается: Community
  • Авторы: DeltaStream Team
  • Репозиторий GitHub: deltastreaminc/dbt-deltastream
  • Пакет PyPI: dbt-deltastream
  • Канал в Slack: #db-deltastream
  • Поддерживаемая версия dbt Core: v1.10.0 и новее
  • Поддержка dbt: Не поддерживается
  • Минимальная версия платформы данных: ?

Установка dbt-deltastream

Установите адаптер с помощью pip. До версии 1.8 установка адаптера автоматически устанавливала dbt-core и любые дополнительные зависимости. Начиная с 1.8 установка адаптера не устанавливает dbt-core автоматически. Это потому, что версии адаптеров и dbt Core были развязаны, и мы больше не хотим перезаписывать существующие установки dbt-core. Используйте следующую команду для установки:

python -m pip install dbt-core dbt-deltastream

Настройка dbt-deltastream

Конфигурацию, специфичную для DeltaStream, см. на странице настроек DeltaStream.

Подключение к DeltaStream с помощью dbt-deltastream​

Чтобы подключиться к DeltaStream из dbt, вам необходимо добавить профиль в файл profiles.yml. Профиль DeltaStream должен соответствовать следующему синтаксису:

profiles.yml
<profile-name>:
target: <target-name>
outputs:
<target-name>:
type: deltastream

# Required parameters
token: [ your-api-token ] # Authentication token for DeltaStream API
database: [ your-database ] # Target database name
schema: [ your-schema ] # Target schema name
organization_id: [ your-org-id ] # Organization identifier

# Optional parameters
url: [ https://api.deltastream.io/v2 ] # DeltaStream API URL, defaults to https://api.deltastream.io/v2
timezone: [ UTC ] # Timezone for operations, defaults to UTC
session_id: [ <empty string> ] # Custom session identifier for debugging purpose
role: [ <empty string> ] # User role
store: [ <empty string> ] # Target store name
compute_pool: [ <empty string> ] # Compute pool name to be used if any else use the default compute pool

Описание полей профиля DeltaStream​

ПолеОбязательноеОписание
type✅Должно быть указано либо в profiles.yml, либо в файле dbt_project.yml. Значение должно быть deltastream.
token✅Токен аутентификации для API DeltaStream. Рекомендуется хранить его в безопасном месте, предпочтительно в виде переменной окружения.
database✅Имя целевой базы данных по умолчанию в DeltaStream, в которой будут создаваться модели dbt.
schema✅Имя целевой схемы по умолчанию в указанной базе данных.
organization_id✅Идентификатор организации, который определяет, к какой организации DeltaStream вы подключаетесь.
url❌URL API DeltaStream. Если не указан, по умолчанию используется https://api.deltastream.io/v2.
timezone❌Часовой пояс для выполнения операций. Если не указан, по умолчанию используется UTC.
session_id❌Пользовательский идентификатор сессии для целей отладки. Помогает отслеживать операции в логах DeltaStream.
role❌Роль пользователя внутри организации DeltaStream. Если не указана, используется роль по умолчанию, связанная с токеном.
store❌Имя целевого хранилища по умолчанию. Хранилища представляют собой подключения к внешним системам (Kafka, PostgreSQL и т.д.) в DeltaStream.
compute_pool❌Имя пула вычислительных ресурсов, который будет использоваться для моделей, требующих вычислительных ресурсов. Если не указано, используется пул по умолчанию.
Loading table...

Рекомендации по безопасности​

При настройке проекта для продакшена настоятельно рекомендуется использовать переменные окружения для хранения конфиденциальной информации, такой как токен аутентификации:

profiles.yml
your_profile_name:
target: prod
outputs:
prod:
type: deltastream
token: "{{ env_var('DELTASTREAM_API_TOKEN') }}"
database: "{{ env_var('DELTASTREAM_DATABASE') }}"
schema: "{{ env_var('DELTASTREAM_SCHEMA') }}"
organization_id: "{{ env_var('DELTASTREAM_ORG_ID') }}"

Устранение проблем с подключением​

Если у вас возникают проблемы с подключением к DeltaStream из dbt, проверьте следующее:

Проблемы с аутентификацией​

  • Убедитесь, что ваш API-токен действителен и не истёк
  • Проверьте, что у токена есть необходимые разрешения для целевой организации
  • Убедитесь, что значение organization_id соответствует вашей организации DeltaStream

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

0
Loading