Передача данных в эндпоинт-приемник Yandex Object Storage
С помощью сервиса Yandex Data Transfer вы можете переносить данные в хранилище Yandex Object Storage и реализовывать различные сценарии переноса, обработки и трансформации данных. Для реализации трансфера:
- Ознакомьтесь с возможными сценариями передачи данных.
- Настройте один из поддерживаемых источников данных.
- Настройте эндпоинт-приемник в Yandex Data Transfer.
- Cоздайте и запустите трансфер.
- Выполняйте необходимые действия по работе с хранилищем и контролируйте трансфер.
- При возникновении проблем, воспользуйтесь готовыми решениями по их устранению.
Сценарии передачи данных в Yandex Object Storage
-
Поставка данных — процесс доставки произвольных данных в целевые хранилища. Процесс поставки включает извлечение данных из очереди и их десериализацию с последующей трансформацией данных в формат целевого хранилища.
-
Загрузка данных в масштабируемое хранилище Object Storage позволяет удешевить хранение и облегчает обмен данных с контрагентами.
Подробное описание возможных сценариев передачи данных в Yandex Data Transfer см. в разделе Практические руководства.
Настройка источника данных
Настройте один из поддерживаемых источников данных:
- PostgreSQL;
- MySQL®;
- MongoDB;
- Apache Kafka®;
- Airbyte®;
- YDS;
- Oracle;
- Managed Service for YDB;
- Elasticsearch;
- OpenSearch.
Полный список поддерживаемых источников и приемников в Yandex Data Transfer см. в разделе Доступные трансферы.
Важно
Object Storage поддерживает только вставку новых данных, но не поддерживает их обновление. Если в источнике происходит обновление данных, он не должен использоваться для поставки данных в Object Storage, иначе трансфер завершится с ошибкой.
Настройка эндпоинта-приемника Object Storage
При создании или изменении эндпоинта вы можете задать настройки доступа к бакету Yandex Object Storage.
-
Бакет — имя бакета, в который будут загружаться данные из источника.
-
Имя папки — имя папки объекта. Поддерживает шаблон раскладки данных по дате. Пример:
2006/01/02/<имя_папки>
. -
Сервисный аккаунт — сервисный аккаунт с ролью
storage.uploader
, под которым будет осуществляться доступ к Yandex Data Streams. -
Выходной формат — формат, в котором данные будут записаны в бакет,
JSON
,CSV
,PARQUET
илиСырые данные
. Подробнее см. в разделе Сериализация при поставке в Object Storage. -
Преобразовать комплексные значения в строки — преобразование комплексных значений в строки для выходного формата
JSON
. -
Формат сжатия — сжатие выходных данных,
Gzip
илиБез сжатия
.
Расширенные настройки
-
Размер буфера — размер файлов, на которые разделены данные.
-
Интервал записи — интервал, спустя который файл будет записан, вне зависимости от его размера.
-
Часовой пояс — часовой пояс, по времени которого раскладываются файлы. Влияет только на раскладывание файлов по папкам в бакете, но не влияет на данные внутри файлов.
-
Колонка со временем — имя колонки для указания логического времени для данных. Значение по умолчанию — системное время записи. Время при записи данных в приемник преобразуется в UTC. Это поведение нельзя изменить.
После настройки источника и приемника данных создайте и запустите трансфер.
Решение проблем, возникающих при переносе данных
См. полный список рекомендаций в разделе Решение проблем.
Ошибка при обновлении данных в источнике
Текст ошибки:
Push failed: kind: update not supported
Object Storage поддерживает только вставку новых данных, но не поддерживает их обновление. Если в источнике происходит обновление данных, трансфер завершится с ошибкой.
Решение: используйте источники, которые поддерживают только вставку данных, или выберите вместо Object Storage другой приемник.