Передача данных в эндпоинт-приемник 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 или пользовательского S3-совместимого хранилища.
- Дополнительные параметры.
Настройки конфигурации бакета
- Бакет — имя бакета, в который будут загружаться данные из источника.
- Сервисный аккаунт — сервисный аккаунт с ролью
storage.uploader
, под которым будет осуществляться доступ к Yandex Data Streams.
- Бакет — имя бакета.
- Идентификатор статического ключа и Содержимое статического ключа — идентификатор и содержимое ключа AWS
для доступа к частному бакету. - (Опционально) Эндпоинт — эндпоинт для службы, совместимой с Amazon S3. Оставьте поле пустым для использования Amazon.
- Регион — регион для отправки запросов.
- Использовать SSL — выберите, если удаленный сервер использует безопасное соединение SSL/TLS.
- Проверять SSL-сертификат — разрешить самоподписанные сертификаты.
Дополнительные настройки
-
Выходной формат — формат, в котором данные будут записаны в бакет,
JSON
,CSV
,PARQUET
илиСырые данные
. Подробнее см. в разделе Сериализация при поставке в Object Storage. -
Преобразовать комплексные значения в строки — преобразование комплексных значений в строки для выходного формата
JSON
. -
Формат сжатия — сжатие выходных данных,
Gzip
илиБез сжатия
. -
Размер буфера — размер файлов, на которые разделены данные.
-
Интервал записи — интервал, спустя который файл будет записан, вне зависимости от его размера.
-
Имя папки — имя папки объекта. Поддерживает шаблон раскладки данных по дате. Пример:
2006/01/02/<имя_папки>
. -
Часовой пояс — часовой пояс, по времени которого раскладываются файлы. Влияет только на раскладывание файлов по папкам в бакете, но не влияет на данные внутри файлов.
-
Колонка со временем — имя колонки для указания логического времени для данных. Значение по умолчанию — системное время записи. Время при записи данных в приемник преобразуется в UTC. Это поведение нельзя изменить.
После настройки источника и приемника данных создайте и запустите трансфер.
Решение проблем, возникающих при переносе данных
См. полный список рекомендаций в разделе Решение проблем.
Ошибка при обновлении данных в источнике
Текст ошибки:
Push failed: kind: update not supported
Object Storage поддерживает только вставку новых данных, но не поддерживает их обновление. Если в источнике происходит обновление данных, трансфер завершится с ошибкой.
Решение: используйте источники, которые поддерживают только вставку данных, или выберите вместо Object Storage другой приемник.