tocdepth

2

Миграция данных из S3 ML Space в Advanced

Мигрировать данные из S3 ML Space в Advanced можно несколькими способами:

Перед началом работы

Для предложенных способов рекомендуем:

  • Разбить файл на части не превышающие 200–400 ГБ и осуществлять переносы по частям.

  • Разложить файлы в источнике по разным директориям и переносить каждую директорию по отдельности.

  • Создать архив переносимых файлов и переносить только архив.

Подготовьте S3-бакет на платформе Advanced:

  1. Перейдите в платформу Advanced.

  2. Создайте бакет с помощью интерфейса Advanced, если он не создан, по инструкции.

    При создании бакета отключите настройку шифрования SSE-KMS для корректного переноса данных.

    Если настройку не отключить, могут возникать проблемы при переносе из S3 ML Space на S3 Advanced.

  3. Создайте и получите ключи доступа AK/SK для OBS по инструкции.

Перенос с помощью кастомного коннектора, используя правила переноса

С помощью этого сценария можно создать кастомный коннектор к S3-бакету на платформе Advanced и использовать правила переноса данных для миграции.

Шаг 1. Создайте кастомный коннектор к S3-бакету в Advanced

Для создания коннектора:

  1. Перейдите в раздел Data Catalog → Data Transfer Service → Коннекторы.

  2. Нажмите Создать коннектор.

  3. Выберите источник — Custom S3.

  4. Введите Название коннектора.

  5. Укажите Общие данные коннектора:

    • S3 endpoint

    • Название S3 бакета

  6. Укажите Секретные данные коннектора, полученные при подготовке S3-бакета на платформе Advanced.

  7. Нажмите Создать.

После создания коннектор отобразится в таблице коннекторов.

Шаг 2. Создайте правило переноса

  1. Перейдите в Data Catalog → Data transfer service → Правила переносов.

  2. Нажмите Создать правило. Откроется окно конфигурации правила переноса.

  3. Укажите Название и, если необходимо, Описание правила переноса.

  4. Выберите необходимое хранилище S3 ML Space.

  5. Укажите место назначения переноса — коннектор, созданный в шаге 1.

  6. В поле Способ переноса выберите предпочтительный вариант:

    • Добавлять все к существующим данным.

    • Добавлять только новые записи.

    • Полная синхронизация.

  7. В параметрах запуска укажите время запуска и периодичность.

  8. Нажмите Создать правило.

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

Правила переноса являются приватными. Они доступны только тем пользователям, которые их создали.

Если нет необходимости использовать правила переноса, можете загрузить файлы в бакет OBS по инструкции.

Перенос с помощью API

С помощью этого сценария можно создать коннектор к S3-бакету на платформе Advanced, используя API ML Space.

Шаг 1. Создайте коннектор к S3-бакету в Advanced с помощью API

  1. Авторизуйтесь в API.

  2. Создайте коннектор к S3-бакету в Advanced с помощью API-запроса:

    {
        "name":"connector to s3 advanced",
        "source_type":"s3custom",
        "parameters":{
            "endpoint":"<custom_connector_endpoint>",
            "bucket":"<custom_connector_bucket>",
            "access_key_id":"<custom_connector_key>",
            "security_key":"<custom_connector_secret>",
        }
    }
    

    Без указания <workspace_id> будет создан персональный коннектор.

    Если требуется создать публичный коннектор, который доступен всем пользователям воркспейса — добавьте в тело запроса <workspace_id>.

    Подробнее см. Поделиться коннектором.

  3. Сохраните <advanced_connector_id>, полученный в ответе на запрос.

Шаг 2. Получите коннектор к S3-бакету ML Space

  1. Найдите в списке доступных коннекторов требуемый коннектор с типом s3mlspace к нужному S3-бакету в воркспейсе ML Space, выполнив API-запрос:

  2. Сохраните <mlspace_connector_id>, полученный в ответ на запрос.

Шаг 3. Запустите перенос данных из S3-бакета ML Space в S3-бакет Advanced

  1. Создайте запрос с помощью API-запроса.

    В теле запроса укажите:

    {
    
    "name":"s3 mlspace -> s3 advanced",
    
    "description":"",
    
    "connector_id":"<mlspace_connector_id>",
    
    "destination_connector_id":"<advanced_connector_id>",
    
    "connector_type":"s3mlspace",
    
    "destination_connector_type":"s3custom",
    
    "cluster_name": "christofari-1",
    
    "query":{"source":"object_to_transfer","destination":"/destination-dir"},
    
    "strategy":"write_all",
    
    "favorite":false,
    
    "legacy":false
    
    }
    

    Где:

    • name — имя переноса;

    • description — описание переноса;

    • connector_id — UID коннектора к S3-бакету ML Space;

    • destination_connector_id — UID коннектора к S3-бакету Advanced;

    • query / source — путь к объекту, который требуется перенести;

    • query / destination — путь в месте назначения, куда требуется перенести объект.

    Остальные поля нужно оставить без изменения.

    В ответе на этот запрос вернется <transfer_id> — идентификатор запущенного переноса.

  2. Проверьте статус выполнения переноса с помощью API-запроса:

    В ответе вернется <transfer_id> и <history_id>.

    Возможно просмотреть сгруппированный лог по выполненному переносу через запрос, указав <tranfser_id> выполненного переноса.

Шаг 4. Получите логи выполненного переноса

Получите сгруппированный лог выполненного переноса, указав <tranfser_id> переноса с помощью API-запроса.

Запустили Evolution free tier
для Dev & Test
Получить