Вы можете управлять своими контейнерами в облачном хранилище UCDN через Swift API. Вы можете запрашивать список контейнеров, список объектов в контейнере, запрашивать, загружать и удалять ресурсы в контейнере.
Для работы с API вам нужно получить “StorageURL” и “AuthToken” для вашего аккаунта с помощью команды stat:
swift stat --verbose --os-username YOUR_USERNAME --os-tenant-name YOUR_TENANT --os-password YOUR_PASSWORD --os-auth-url
Example:
swift stat --verbose --os-username 1011131 --os-tenant-name 1011131 --os-password fQFImBsSeaJjicts --os-auth-url https://auth.files.us01.cloud.servers.com:5000/v3 --auth-version 3
Опции:
--os-username
Ваше имя пользователя для доступа по FTP состоит из двух частей, разделенных точкой. Например 1111111.2222222. В опции –os-username нужно указать часть до точки, то есть 1111111.
--os-tenant-name
Вторая часть имени пользователя для доступа по FTP. В примере выше это 2222222.
--os-password
Пароль для доступа по FTP, который вы можете посмотреть к панели управления.
--os-auth-url
В зависимости от того, в каком из регионов находится ваш контейнер, нужно использовать один из двух URL:
https://auth.files.nl01.cloud.servers.com:5000/v3 --auth-version 3
– Европа.
https://auth.files.nl01.cloud.servers.com:5000/v3 --auth-version 3
– Северная Америка.
Пример результата запуска команды:
Storage URL: https://storage.files.us01.cloud.servers.com:8080/v1/SERVERSCOM_50d9a8b35b5a4bb4a80957fb52ab363c Auth Token: 09d6383b9aha5c6zb657c8affb897g48 Account: SERVERSCOM_50d7b9h54b5a4bb4a87947fj52ab363c Containers: 2 Objects: 4 Bytes: 32364740 Containers in policy “policy-0”: 2 Objects in policy “policy-0”: 4 Bytes in policy “policy-0”: 32364740 Meta Temp-Url-Key: TinNbwQgxIBmodufCWdMoueqYWPVtXvL X-Account-Project-Domain-Id: _unknown X-Openstack-Request-Id: tx27f229ec643e4f34ac8d3-0060c3454d X-Timestamp: 1572600177.96722 X-Trans-Id: tx27f229ec643e4f34ac8d3-0060c3454d Content-Type: application/json; charset=utf-8 Accept-Ranges: bytes |
Токен “Auth Token” действителенвтечение 24 часовсмоментавыпуска.
Работа с OpenStack Swift API при помощи утилиты cURL.
cURL – это хорошо известная утилита командной строки для передачи данных на сервер и с сервера. Ниже даны примеры некоторых операций, которые можно выполнять с помощью OpenStack Swift API и cURL:
Получить список всех контейнеров в в аккаунте:
$ curl -X GET -H 'X-Auth-Token: 09d6383b9aha5c6zb657c8affb897g48' https://storage.files.us01.cloud.servers.com:8080/v1/SERVERSCOM_50d9a8b35b5a4bb4a80957fb52ab363c
Получить список всех объектов в контейнере:
$ curl -X GET -H 'X-Auth-Token: 09d6383b9aha5c6zb657c8affb897g48' https://storage.files.us01.cloud.servers.com:8080/v1/SERVERSCOM_50d9a8b35b5a4bb4a80957fb52ab363c/your_storage_conatainer_name
Загрузить объект (файл) на сервер:
$ curl -X GET -H 'X-Auth-Token: 09d6383b9aha5c6zb657c8affb897g48' https://storage.files.us01.cloud.servers.com:8080/v1/SERVERSCOM_50d9a8b35b5a4bb4a80957fb52ab363c/your_storage_conatainer_name/ -T your_file.mp4
Запросить объект (файл) с сервера:
curl -X GET -H 'X-Auth-Token: 09d6383b9aha5c6zb657c8affb897g48' https://storage.files.us01.cloud.servers.com:8080/v1/SERVERSCOM_50d9a8b35b5a4bb4a80957fb52ab363c/your_storage_container/your_file.mp4 --output your_file.mp4
Удалить объект:
curl -X DELETE -H 'X-Auth-Token: 09d6383b9aha5c6zb657c8affb897g48' https://storage.files.us01.cloud.servers.com:8080/v1/SERVERSCOM_50d9a8b35b5a4bb4a80957fb52ab363c/your_storage_container/your_file.mp4
IMPORTANT! Please note that the storage containers must be created only from the Universal CDN Control Panel. Storage containers created not from the Control Panel will be rejected by the CDN system.
Загрузка с использованием Python-Swiftclient