Методы для работы с хранилищем S3
См.также
Актуальная спецификация (автодокументация по методам).
Набор методов для работы с S3:
Метод API |
HTTP-метод |
Описание |
---|---|---|
Get S3 Credentials |
GET |
Возвращает креды публичного бакета, если публичный бакет не создан, то возвращаются креды приватного бакета |
Save S3 Credentials |
POST |
Сохраняет креды бакета S3 |
S3 Copy Job |
POST |
Запускает задачу копирования между S3 и NFS |
Подробнее см. в спецификации.
Сохранение настроек доступа к S3 для аккаунта пользователя
Сохранить настройки доступа к S3 для аккаунта пользователя (связанного с выданным токеном, который отправляется в запросе).
- HTTP HEADER
X-Api-Key = [client secret api key, individual for every namespace] Authorization: [access_token value]
- BODY
{ 's3_namespace': <string>, 'access_key_id': <string>, 'security_key': <string> }
- Описание параметров
X-Api-Key
— клиентский ключ доступа к API. Индивидуален для каждого аккаунта пользователя. Можно узнать, выполнив в Jupyter Notebook от лица пользователя следующие команды:import os print(os.environ['GWAPI_KEY'])
- Описание параметров
Authorization
— токен доступа, который характеризует пользователя, отправляющего запрос к API.s3_namespace
— неймспейс S3 бакета.access_key_id
— access key S3 бакета.security_key
— security key S3 бакета.
- Результат
{ 'error_code': '0', 'error_message': '', 'created_at' : <unixtimestamp> }
- Описание параметров
error_code
— код ошибки.error_message
— сообщение об ошибке.created_at
— дата и время создания.
Перемещение файлов между S3 и локальным хранилищем кластера
Перемещение данных и файлов из S3-бакета в локальное хранилище кластера, откуда данными и файлами можно будет пользоваться в рамках запускаемых на кластере задач. И обратно — перемещение данных и файлов из локального хранилища в S3-бакет, откуда их можно будет скачать на устройства пользователя.
- HTTP HEADER
X-Api-Key = [client secret api key, individual for every namespace] Authorization: [access_token value]
- BODY
{ 'src': <string>, 'dst': <string> }
- Описание параметров
X-Api-Key
— клиентский ключ доступа к API. Индивидуален для каждого аккаунта пользователя. Можно узнать, выполнив в Jupyter Notebook от лица пользователя следующие команды:import os print(os.environ['GWAPI_KEY'])
Authorization
— токен доступа, который характеризует пользователя, от чьего лица делается запрос к API.src
— путь к источнику данных/скриптов, которые нужно переместить (возможен как путь к бакетуs3://bucket-name/
, так и путь в локальном хранилище кластера/home/jovyan/
).dst
— путь назначения, куда нужно переместить данные/скрипты (возможен как путь к бакетуs3://bucket-name/
, так и путь в локальном хранилище кластера/home/jovyan/
).
- Результат
{ 'error_code': '0', 'error_message': '', 'status': '', 'process': <copy process name> 'started_at' : <unixtimestamp> }
- Описание параметров
error_code
— код ошибки.error_message
— сообщение об ошибке.status
— статус задачи перемещения данных.process
— имя процесса.started_at
— дата и время начала задачи перемещения данных.