Swift (old)
Это старая версия Swift API, которая использовалась до обновления объектного хранилища. URL и методы старой версии Swift API пока продолжают поддерживаться, но в будущем будут отключены. Мы рекомендуем использовать новую версию Swift API.
API Swift предназначен для приложений, которые работают с размещёнными в хранилище пользовательскими файлами или отправляют в хранилище собственные данные. Взаимодействие с API Swift осуществляется с помощью стандартных HTTP-запросов. В документации описаны доступные на текущий момент вызовы API, форматы запросов и ответов. На текущий момент с помощью API Swift можно выполнять следующие операции:
- получать информацию об учетной записи, контейнерах и папках;
- создавать и удалять контейнеры;
- загружать файлы в хранилище и скачивать их;
- копировать, перемещать и удалять файлы;
- устанавливать срок хранения файлов и т.д.
Фор мат URL
Хост для всех запросов к API — https://api.selcdn.ru
После авторизации доступ к хранилищу осуществляется по URL вида: https://api.selcdn.ru/v1/SEL_*****
, где *****
— номер учётной записи пользователя. В URL также указывается версия API (v1).
https://api.selcdn.ru/v1/SEL_*****/container_name
обычно используется для работы авторизованного клиента. Например, при работе с приватными контейнерами или при удалении/добавлении объектов, а также при работе с метаданными. Это формат URL в Openstack Object API. Подробнее в документации Openstack.
Домен ******.selcdn.ru
— это персональный номерной домен аккаунта, который можно узнать командой в заголовке X-Storage-Url:
curl -i \
-H 'X-Auth-User: *****' \
-H 'X-Auth-Key: *****' \
https://api.selcdn.ru/auth/v1.0
Этот домен используют для раздачи статичного контента из публичных контейнеров. На этот домен делается CNAME-запись при использовании своих доменов, которые привязывают к контейнеру, и данные, которые раздаются через этот домен — кэшируются, что ускоряет отдачу контента.
Оба варианта будут работать, но api.selcdn.ru
не будет кэшироваться.
Персональный домен аккаунта также можно узнать в панели управления в настройках контейнера в разделе Домены.
Получить домен с помощью API можно следующим запросом:
curl -i \
-H 'X-Auth-User: *' \
-H 'X-Auth-Key: *' \
https://auth.selcdn.ru/
В будущем мы планируем отказываться от номерных доменов, поэтому рекомендуется использовать ссылки типа https://api.selcdn.ru/v1/SEL_*****
.
Доступ к API
Для успешного выполнения запросов к API необходимо:
- быть зарегистрированным пользователем Selectel;
- иметь достаточную сумму на балансе;
- иметь логин и пароль для доступа к хранилищу;
- получить уникальный ключ доступа (токен), который будет передаваться во всех запросах.