Передача данных в эндпоинт-приемник Yandex Object Storage
С помощью сервиса Yandex Data Transfer вы можете переносить данные в хранилище Yandex Object Storage и реализовывать различные сценарии переноса, обработки и трансформации данных. Для реализации трансфера:
- Ознакомьтесь с возможными сценариями передачи данных.
- Настройте один из поддерживаемых источников данных.
- Настройте эндпоинт-приемник в Yandex Data Transfer.
- Создайте и запустите трансфер.
- Выполняйте необходимые действия по работе с хранилищем и контролируйте трансфер.
- При возникновении проблем, воспользуйтесь готовыми решениями по их устранению.
Сценарии передачи данных в Yandex Object Storage
-
Поставка данных — процесс доставки произвольных данных в целевые хранилища. Процесс поставки включает извлечение данных из очереди и их десериализацию с последующей трансформацией данных в формат целевого хранилища.
-
Загрузка данных в масштабируемое хранилище Object Storage позволяет удешевить хранение и облегчает обмен данных с контрагентами.
Подробное описание возможных сценариев передачи данных в Yandex Data Transfer читайте в разделе Практические руководства.
Настройка источника данных
Настройте один из поддерживаемых источников данных:
Полный список поддерживаемых источников и приемников в Yandex Data Transfer читайте в разделе Доступные трансферы.
Важно
Object Storage поддерживает только вставку новых данных, но не поддерживает их обновление. Если в источнике происходит обновление данных, он не должен использоваться для поставки данных в Object Storage, иначе трансфер завершится с ошибкой.
Настройка эндпоинта-приемника Object Storage
При создании или изменении эндпоинта вы можете задать:
- Настройки подключения для бакета Yandex Object Storage или пользовательского S3-совместимого хранилища.
- Дополнительные параметры.
Настройки подключения
- Бакет — имя бакета, в который будут загружаться данные из источника.
- Сервисный аккаунт — сервисный аккаунт с ролью
storage.uploader, от имени которого сервис Data Transfer будет подключаться к бакету.
- Бакет — имя бакета, в который будут загружаться данные из источника.
- Регион — регион, в котором хранятся данные.
- Эндпоинт — эндпоинт для сервиса, совместимого с Amazon S3.
- Идентификатор статического ключа и Содержимое статического ключа — идентификатор и содержимое ключа AWS
для доступа к бакету. - Использовать SSL — выберите, если удаленный сервер использует безопасное соединение SSL/TLS.
- Проверять SSL-сертификат — запретить самоподписанные сертификаты.
Если создаваемый эндпоинт и бакет Object Storage лежат в разных каталогах, то при создании в настройках соединения нужно выбрать ручную настройку и указать следующие значения:
- регион:
ru-central1; - эндпоинт: storage.yandexcloud.kz;
- включить обе настройки, связанные с использованием SSL.
Дополнительные настройки
-
Префикс пути — путь в бакете, по которому будут выгружаться данные.
-
Формат данных — формат, в котором данные будут записаны в бакет:
JSON,CSVилиParquet. Подробнее читайте в разделе Сериализация при поставке в Object Storage.JSONCSVParquet- Формат сжатия — алгоритм сжатия выходных данных:
GzipилиБез сжатия.
- Формат сжатия — алгоритм сжатия выходных данных:
GzipилиБез сжатия.
-
Формат сжатия колонок — алгоритм сжатия блоков данных:
Gzip,SnappyилиZstd. -
Размер группы строк — параметры разбиения данных на группы. Можно указать максимальное количество строк в группе или максимальный размер группы в байтах. При совместном использовании настроек новая группа будет создаваться, когда хотя бы одно из ограничений будет нарушено.
- Формат сжатия — алгоритм сжатия выходных данных:
-
Политика очистки — политика очистки данных перед копированием. Она применяется при активации, повторной активации и перезапуске трансфера и определяет порядок работы с данными, которые уже есть в бакете. Возможные значения:
Не очищать— данные не удаляются из бакета. Это значение используется по умолчанию.Drop— данные удаляются из бакета перед копированием новых данных.Replace— данные удаляются из бакета после завершения копирования новых данных. Это позволяет сохранить доступ к существующим данным, пока новые данные копируются.
-
Расширенные настройки писателя — дополнительные настройки записи выходных файлов:
Писатель снапшотовПисатель репликации- Максимальное число записей в одном файле — если оставить поле пустым, то данные запишутся в один файл.
- Максимальное число байтов в одном файле — если оставить поле пустым, то данные запишутся в один файл.
- Интервал ротации — значение в секундах, по истечении которого новый файл будет записан. Данные о времени берутся из параметров получаемых сообщений. Значение по умолчанию — 1 час.
После настройки источника и приемника данных создайте и запустите трансфер.
Решение проблем, возникающих при переносе данных
Смотрите полный список рекомендаций в разделе Решение проблем.
Ошибка при обновлении данных в источнике
Текст ошибки:
Push failed: kind: update not supported
Object Storage поддерживает только вставку новых данных, но не поддерживает их обновление. Если в источнике происходит обновление данных, трансфер завершится с ошибкой.
Решение: используйте источники, которые поддерживают только вставку данных, или выберите вместо Object Storage другой приемник.