RackSpace CloudFIles - загружаем файлы
Для загрузки файлов в хранилище CloudFIles
можно воспользоваться SDK для PHP. Поддерживаются и другие языки програмирования. Полное описание установки можно почитать на следующей странице:
https://developer.rackspace.com/sdks/
Я решил дальше играться с php. Установки SDK php-opencloud
воспользуемся утилитой composer
:
composer require rackspace/php-opencloud
Чтобы установить composer выполните следующую команду:
curl -sS https://getcomposer.org/installer | php
cp composer.phar /usr/local/bin/composer
Если по каким-либо причинам composer у Вас не работает - склонируйте git репозиторий:
git clone https://github.com/rackspace/php-opencloud.git
В текущем каталоге создаем файл upload.php со следующим содержанием:
<?php
require 'vendor/autoload.php';
use OpenCloudRackspace;
$username='имя пользователя';
$apiKey='api-ключь';
$region='регион датацентра';
if( isset($argv[1]) && isset($argv[2])) {
$filename = $argv[1];
$containerName = $argv[2];
$client = new Rackspace(Rackspace::US_IDENTITY_ENDPOINT, array(
'username' => $username,
'apiKey' => $apiKey,
));
$objectStoreService = $client->objectStoreService(null, $region);
$container = $objectStoreService->getContainer($containerName);
$handle = fopen($filename, 'r');
$object = $container->uploadObject($filename, $handle);
} else {
echo 'No files provided';
}
?>
Не нужно ковыряться с токеном, так как opencloud sdk сделает все за Вас.
Скрипту нужно передать имя файла, который хотите загрузить в клауд b имя конейнера, как второй аргумент.
Quickstart for Cloud Files
API operations for storage services