- tocdepth
2
Команды копирования
Команда get_connectors
Возвращает коннекторы, относящиеся к воркспейсу, в котором осуществляется работа.
get_connectors()
Команда create_connector
Позволяет создать коннекторы к источникам (s3custom/s3mlspace/s3amazon/s3google). Подробнее про коннекторы см. Data transfer service.
create_connector(name: str, source_type: ConnectorSourceTypeEnum, parameters: dict)
Для создания коннектора к Amazon S3, Google Cloud Storage S3, Custom S3 (для бакетов Cloud.ru и S3-хранилищ пользователей) нужны следующие параметры:
source_type:
s3custom/s3mlspace/s3amazon/s3google
parameters:
{
"endpoint": string | required
"bucket": string | required
"access_key_id": string | required
"security_key": string | required
}
Для создания коннектора к базам данных PostgreSQL, MySQL, MS SQL, Oracle DB нужны следующие параметры:
source_type:
mssql/mysql/oracledb/postgresql
parameters:
{
"host": string | required
"port": integer | minimum: 1 | exclusiveMaximum: 65536 | required
"user": string | required
"password": string | required
"database": string | required
"schema": string
"query": string
}
Пример создания коннектора к хранилищу S3:
client_lib.create_connector(
"my_s3_connector",
source_type=client_lib.ConnectorSourceTypeEnum.s3custom,
parameters={
"endpoint": "https://mys3endpoint",
"bucket": "b-usr-mybacket",
"access_key_id": "u-usr-mybacket-key",
"security_key": "security key",
}
)
Метод copy_to_nfs
Предназначен для копирования из S3-хранилища на NFS-хранилище регионов.
copy_to_nfs(
source_path: str,
destination_path: str,
to_region: RegionEnum,
source_connector_id=None,
strategy: TransferStrategyEnum = TransferStrategyEnum.write_all
) -> "TransferData":
"""Copy data to NFS from connector (S3 for example).
В случае если source_connector_id
не указан, то копирование будет осуществлено из публичного бакета S3-хранилища, привязанного к воркспейсу.
Копирование из S3-хранилища воркспейса в NFS-хранилище:
client_lib.copy_to_nfs(
source_path="/my_test_folder",
destination_path="/",
to_region=client_lib.RegionEnum.V100,
)
Если параметр destination_path="/"
оставить без изменений, данные скопируются в каталог /home/jovyan/
.
Если требуется скопировать в другой каталог, необходимо указать путь к нему /destination/directory/
.
Путь строится относительно каталога /home/jovyan/
.
Копирование из другого источника (не из S3-хранилища, связанного с воркспейсом) на NFS:
connectors = client_lib.get_connectors()
client_lib.copy_to_nfs(
source_path="/my_test_folder",
destination_path="/",
to_region=client_lib.RegionEnum.V100,
destination_connector_id=connectors[0]["id"]
)
Метод copy_from_nfs
Предназначен для копирования из NFS-хранилищ.
copy_from_nfs(
source_path: str,
destination_path: str,
from_region: RegionEnum,
destination_connector_id=None,
strategy: TransferStrategyEnum = TransferStrategyEnum.write_all,
) -> "TransferData":
"""Copy data from NFS to connector (S3 for example).
В случае если destination_connector_id
не указан, копирование произойдет из NFS в публичный бакет S3-хранилища, привязанного к воркспейсу.
client_lib.copy_from_nfs(
source_path="/my_test_folder",
destination_path="/",
from_region=client_lib.RegionEnum.V100,
)
Или:
connectors = client_lib.get_connectors()
client_lib.copy_from_nfs(
source_path="/my_test_folder",
destination_path="/",
from_region=client_lib.RegionEnum.V100,
)
для Dev & Test