Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Data Transfer
  • Доступные трансферы
  • Начало работы
    • Все инструкции
    • Подготовка к трансферу
      • Управление эндпоинтами
      • Миграция эндпоинтов в другую зону доступности
        • Источник
        • Приемник
    • Управление трансфером
    • Работа с базами данных во время трансфера
    • Мониторинг состояния трансфера
  • Решение проблем
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • Обучающие курсы

В этой статье:

  • Сценарии передачи данных в Yandex Data Streams
  • Настройка источника данных
  • Настройка эндпоинта-приемника Yandex Data Streams
  • Основные настройки
  • Расширенные настройки
  • Настройки сериализации
  • Решение проблем, возникающих при переносе данных
  • Прерывание трансфера с ошибкой
  • Редиректы Cloud Functions
  1. Пошаговые инструкции
  2. Настройка эндпоинтов
  3. Yandex Data Streams
  4. Приемник

Передача данных в эндпоинт-приемник Yandex Data Streams

Статья создана
Yandex Cloud
Обновлена 4 апреля 2025 г.
  • Сценарии передачи данных в Yandex Data Streams
  • Настройка источника данных
  • Настройка эндпоинта-приемника Yandex Data Streams
    • Основные настройки
    • Расширенные настройки
    • Настройки сериализации
  • Решение проблем, возникающих при переносе данных
    • Прерывание трансфера с ошибкой
    • Редиректы Cloud Functions

С помощью сервиса Yandex Data Transfer вы можете переносить данные в очередь Yandex Data Streams и реализовывать различные сценарии обработки и трансформации данных. Для реализации трансфера:

  1. Ознакомьтесь с возможными сценариями передачи данных.
  2. Настройте один из поддерживаемых источников данных.
  3. Настройте эндпоинт-приемник в Yandex Data Transfer.
  4. Cоздайте и запустите трансфер.
  5. Выполняйте необходимые действия по работе с базой и контролируйте трансфер.
  6. При возникновении проблем, воспользуйтесь готовыми решениями по их устранению.

Сценарии передачи данных в Yandex Data StreamsСценарии передачи данных в Yandex Data Streams

  1. Захват изменений данных — это процесс отслеживания изменений в базе данных и поставка этих изменений потребителям. Применяется для приложений, которые чувствительны к изменению данных в реальном времени.

    • Захват изменений MySQL® и поставка в YDS;
    • Захват изменений PostgreSQL и поставка в YDS;
    • Захват изменений YDB и поставка в YDS.
  2. Поставка данных — процесс доставки произвольных данных в целевые хранилища. Процесс поставки включает извлечение данных из очереди и их десериализацию с последующей трансформацией данных в формат целевого хранилища.

    • Поставка данных из Apache Kafka® в YDS.
  3. Миграция — перенос данных из одного хранилища в другое. Часто это перенос базы из устаревших локальных баз в управляемые облачные.

Подробное описание возможных сценариев передачи данных в 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 Data Streams и настройки сериализации. Это обязательные параметры.
  • Расширенные настройки.

Основные настройкиОсновные настройки

Консоль управления
  • База данных — выберите базу данных Yandex Managed Service for YDB, зарегистрированную в Yandex Data Streams в качестве приемника.

  • Поток — укажите имя потока, ассоциированного с базой данных.

  • Сервисный аккаунт — выберите или создайте сервисный аккаунт с ролью yds.editor, от имени которого сервис Data Transfer будет подключаться к приемнику данных.

  • Группы безопасности — выберите облачную сеть для размещения эндпоинта и группы безопасности для сетевого трафика.

    Это позволит применить к ВМ и кластерам в выбранной сети указанные правила групп безопасности без изменения настроек этих ВМ и кластеров. Подробнее см. в разделе Сеть в Yandex Data Transfer.

Расширенные настройкиРасширенные настройки

Консоль управления
  • Сохранять порядок транзакций — не разбивать поток событий на независимые очереди по таблицам.

  • Кодеки сжатия — укажите требуемый формат сжатия данных: GZIP, ZSTD или Без сжатия.

Настройки сериализацииНастройки сериализации

Консоль управления
  • В блоке Настройки сериализации выберите тип сериализации:

    • Auto — автоматическая сериализация.

    • Debezium — сериализация по стандартам Debezium:

      • Выберите схему ключа сообщения (соответствует Debezium-параметру key.converter).
      • Выберите схему значения сообщения (соответствует Debezium-параметру value.converter).
      • При необходимости задайте Настройки сериализации Debezium в формате Параметр-Значение.

Если вы хотите использовать JSON-схемы в Yandex Schema Registry, сохраняя совместимость схем при добавлении и удалении опциональных полей, укажите следующие настройки:

  • Настройки сериализации — Debezium.

  • Чтобы использовать Schema Registry для ключей, выберите Схема ключа сообщения — JSON (посредством Schema Registry). Чтобы использовать Schema Registry для значений, выберите Схема значения сообщения — JSON (посредством Schema Registry).

    • URL — эндпоинт пространства имен Schema Registry. Вы можете скопировать эндпоинт из подсказки по подключению к пространству имен Schema Registry на вкладке Debezium, в параметре value.converter.schema.registry.url.

      Важно

      В пространстве имен должна быть выставлена Политика проверок совместимости для JSON — optional friendly.

    • Имя пользователя — api-key.

    • Пароль — значение API-ключа с ограниченной областью действия для подключения к Schema Registry. Чтобы получить значение:

      1. Создайте API-ключ с ограниченной областью действия и поместите его в локальную переменную SECRET:

        yc iam api-key create --folder-id <идентификатор_каталога> \
          --service-account-name <имя_сервисного_аккаунта_для_работы_со_Schema_Registry> \
          --scopes yc.schema-registry.schemas.manage \
          --expires-at '2030-01-01T00:00:00Z' >./api-key.yaml && \
        SECRET=`cat ./api-key.yaml | grep 'secret:' | awk '{print $2}'`
        
      2. Выведите в терминал значение переменной SECRET:

        echo $SECRET
        
      3. Скопируйте полученное значение и вставьте его в поле Пароль в окне создания эндпоинта.

  • В блоке Настройки сериализации Debezium:

    • Чтобы генерировать закрытую схему для ключей, добавьте параметр key.converter.dt.json.generate.closed.content.schema со значением true.
    • Чтобы генерировать закрытую схему для значений, добавьте параметр value.converter.dt.json.generate.closed.content.schema со значением true.

После настройки источника и приемника данных создайте и запустите трансфер.

Решение проблем, возникающих при переносе данныхРешение проблем, возникающих при переносе данных

  • Прерывание трансфера с ошибкой
  • Редиректы Cloud Functions

См. полный список рекомендаций в разделе Решение проблем.

Прерывание трансфера с ошибкойПрерывание трансфера с ошибкой

Трансфер типа Репликация или Копирование и репликация прерывается с ошибкой.

Текст ошибки:

/Ydb.PersQueue.V1.PersQueueService/AddReadRule failed: OVERLOADED

Трансфер прерывается из-за ограничения облачной квоты на количество операций с Managed Service for YDB.

Решение:

  1. Увеличьте в квотах Managed Service for YDB на облако с нужной базой данных значение характеристики Количество схемных операций в минуту и активируйте трансфер повторно.

Редиректы Cloud FunctionsРедиректы Cloud Functions

В трансферах из Data Streams или Apache Kafka® в редких случаях может возникнуть ошибка:

redirect to SOME_URL is requested but no redirects are allowed.

Возможная причина:

На источнике настроено использование функции Cloud Functions, которая возвращает не данные, а редирект на другой URL.

Решение:

По соображениям безопасности такие редиректы запрещены. Воздержитесь от использования редиректов в Cloud Functions в трансферах.

Была ли статья полезна?

Предыдущая
Источник
Следующая
Источник
Проект Яндекса
© 2025 ООО «Яндекс.Облако»