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

Настройка 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 вы подключаетесь.
urlURL 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