Загрузка файлов с помощью OpenStack Swift API

Вы можете управлять своими контейнерами в облачном хранилище 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.



Загрузка файлов по FTP

Загрузка с использованием Python-Swiftclient

Загрузка больших файлов с помощью Python-Swiftclient

Загрузка файлов с помощью Rclone