tocdepth

2

Создать коннектор из ML Space на примере сервисов Advanced

Рассмотрим:

  • Процесс создания Relational Database Service SQL Server в Advanced и подключения с помощью коннектора из ML Space.

  • Использование коннектора к S3-бакету Advanced через API ML Space.

Создать экземпляр Relational Database Service SQL Server в Advanced

  1. Создайте экземпляр RDS SQL Server в Advanced.

  2. Выберите группу безопасности Security Group.

  3. В Security Group добавьте в исключения IP-адреса, с которых могут приходить запросы из коннекторов ML Space к RDS.

    Примечание

    Список IP-адресов можно получить, обратившись в техническую поддержку.

  4. Создайте таблицу. Предлагаем использовать для этого сервис Convert CSV to Insert SQL — Table Convert Online.

  5. Импортируйте получившийся csv-файл.

  6. Настройте NAT.

Создать коннектор из ML Space к экземпляру RDS

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

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

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

  3. Настройте коннектор MySQL, SQL Server, PostgreSQL в ML Space. Примеры настройки приведены ниже.

Источник

Параметры подключения

Пример настроенного коннектора

MySQL

  • Название

  • IP-адрес или DNS-имя хоста

  • Сетевой порт

  • Имя пользователя

  • Пароль

  • База данных

  • Схема (опционально)

../../../_images/s__mysql.png

MS SQL

  • Название

  • IP-адрес или DNS-имя хоста

  • Сетевой порт

  • Имя пользователя

  • Пароль

  • База данных

  • Схема (опционально)

../../../_images/s__ms_sql.png

PostgreSQL

  • Название

  • IP-адрес или DNS-имя хоста

  • Сетевой порт

  • Имя пользователя

  • Пароль

  • База данных

  • Схема (опционально)

../../../_images/s__postgresql.png

Использовать коннектор к S3-бакету Advanced через API

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

Примечание

Если количество файлов для одного переноса превышает 400 000 или размер переносимого объекта превышает 400 ГБ, то перенос не выполнится.

Рекомендуем:

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

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

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

Шаг 1. Подготовка S3-бакета на платформе Advanced

  1. (Опционально) Подключите услугу Advanced, если не была подключена ранее.

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

  3. Создайте бакет с помощью интерфейса Advanced, если он не создан, по инструкции. При создании бакета отключите настройку шифрования SSE-KMS для корректного переноса данных. Если настройку не отключить могут возникать проблемы при переносе из S3 ML Space на S3 Advanced.

    См.также

    Создание S3-бакета с помощью API в Advanced (en).

  4. Загрузите файлы в бакет по инструкции.

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

  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>, полученный в ответе на запрос.

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

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

    GET https://api.ai.cloud.ru/public/v2/data_transfer/v3/connectors
    
  2. Сохраните <mlspace_connector_id>, полученный в ответ на запрос.

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

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

    POST https://api.ai.cloud.ru/public/v2/data_transfer/v3/transfer
    

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

    {
    
    "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-запроса:

    GET https://api.ai.cloud.ru/public/v2/data_transfer/v2/history?transfer_id=<transfer_id>
    

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

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

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

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

GET /public/v2/data_transfer/v2/events/list?offset=0&limit=100&history_id=<history_id>&transfer_id=<transfer_id>
Запустили Evolution free tier
для Dev & Test
Получить