Передача данных в эндпоинт-приемник Yandex Data Streams
С помощью сервиса Yandex Data Transfer вы можете переносить данные в очередь Yandex Data Streams и реализовывать различные сценарии обработки и трансформации данных. Для реализации трансфера:
- Ознакомьтесь с возможными сценариями передачи данных.
- Настройте один из поддерживаемых источников данных.
- Настройте эндпоинт-приемник в Yandex Data Transfer.
- Cоздайте и запустите трансфер.
- Выполняйте необходимые действия по работе с базой и контролируйте трансфер.
- При возникновении проблем, воспользуйтесь готовыми решениями по их устранению.
Сценарии передачи данных в Yandex Data Streams
-
Захват изменений данных — это процесс отслеживания изменений в базе данных и поставка этих изменений потребителям. Применяется для приложений, которые чувствительны к изменению данных в реальном времени.
-
Поставка данных — процесс доставки произвольных данных в целевые хранилища. Процесс поставки включает извлечение данных из очереди и их десериализацию с последующей трансформацией данных в формат целевого хранилища.
-
Миграция — перенос данных из одного хранилища в другое. Часто это перенос базы из устаревших локальных баз в управляемые облачные.
Подробное описание возможных сценариев передачи данных в Yandex Data Transfer см. в разделе Практические руководства.
Настройка источника данных
Настройте один из поддерживаемых источников данных:
- PostgreSQL;
- MySQL®;
- Apache Kafka®;
- Managed Service for YDB;
- Airbyte®;
- YDS;
- Yandex Object Storage.
- Elasticsearch;
- OpenSearch.
Полный список поддерживаемых источников и приемников в Yandex Data Transfer см. в разделе Доступные трансферы.
Настройка эндпоинта-приемника Yandex Data Streams
При создании или изменении эндпоинта вы можете задать:
- Настройки подключения к потоку данных в Yandex Data Streams и настройки сериализации. Это обязательные параметры.
- Расширенные настройки.
Основные настройки
-
База данных — выберите базу данных Yandex Managed Service for YDB, зарегистрированную в Yandex Data Streams в качестве приемника.
-
Поток — укажите имя потока, ассоциированного с базой данных.
-
Сервисный аккаунт — выберите или создайте сервисный аккаунт с ролью
yds.editor
, от имени которого сервис Data Transfer будет подключаться к приемнику данных. -
Группы безопасности — выберите облачную сеть для размещения эндпоинта и группы безопасности для сетевого трафика.
Это позволит применить к ВМ и кластерам в выбранной сети указанные правила групп безопасности без изменения настроек этих ВМ и кластеров. Подробнее см. в разделе Сеть в Yandex Data Transfer.
Расширенные настройки
- Сохранять порядок транзакций — не разбивать поток событий на независимые очереди по таблицам.
Настройки сериализации
-
Настройки сериализации — выберите тип сериализации:
Auto
илиDebezium
.- Настройки сериализации Debezium — укажите параметры сериализации Debezium.
После настройки источника и приемника данных создайте и запустите трансфер.
Решение проблем, возникающих при переносе данных
См. полный список рекомендаций в разделе Решение проблем.
Прерывание трансфера с ошибкой
Трансфер типа Репликация или Копирование и репликация прерывается с ошибкой.
Текст ошибки:
/Ydb.PersQueue.V1.PersQueueService/AddReadRule failed: OVERLOADED
Трансфер прерывается из-за ограничения облачной квоты
Решение:
- Увеличьте в квотах Managed Service for YDB на облако с нужной базой данных значение характеристики Количество схемных операций в минуту и активируйте трансфер повторно.
Редиректы Cloud Functions
В трансферах из Data Streams или Apache Kafka® в редких случаях может возникнуть ошибка:
redirect to SOME_URL is requested but no redirects are allowed.
Возможная причина:
На источнике настроено использование функции Cloud Functions, которая возвращает не данные, а редирект на другой URL.
Решение:
По соображениям безопасности такие редиректы запрещены. Воздержитесь от использования редиректов в Cloud Functions в трансферах.