Rackspace CloudFile API - получить информацию об объекте
Итак, вот что я делаю с API:
Auth (чтобы получить токен и publicUrl для нужного мне региона из "хранилища объектов")
Используйте publicUrl из конечной точки следующим образом, чтобы получить список файлов: GET [publicUrl]/[container] Возвращает массив, в котором каждый элемент (объект) выглядит следующим образом:
([hash] => 7213ee9a7d9dc119d2921a40e899ec5e [last_modified] => 2015-12-29T02: 46: 08.400490 [bytes] => 1 [name] => Некоторый тип файла name.jpg [content_type] => application/postscript)
Теперь, как мне создать URL для GET на предмет (объект)? Я пробовал следующее:
[publicUrl] / [container] / [hash] [publicUrl] / [container] / urlencoded ([имя])
среди прочего, что не имеет смысла, но я все равно попробовал.
Любые мысли / помощь будут оценены!
1 ответ
Если вы используете Rackspace SDK, вы можете пропустить создание URL-адресов самостоятельно.
Вот документация для извлечения объекта Cloud Files с использованием общедоступного URL. URL-адрес объекта - это сочетание общедоступного URL-адреса контейнера (находится в заголовке ответа X-Cdn-Uri) с добавленным именем объекта.
Например, для контейнера с именем 'foo' отправьте аутентифицированный запрос HEAD в API:
HEAD {cloudFilesEndpoint}/foo
В ответе общедоступный URL-адрес контейнера находится в заголовке X-Cdn-Uri:
HTTP/1.1 204 No Content
X-Cdn-Ssl-Uri: https://83c49b9a2f7ad18250b3-346eb45fd42c58ca13011d659bfc1ac1.ssl.cf0.rackcdn.com
X-Ttl: 259200
X-Cdn-Uri: http://081e40d3ee1cec5f77bf-346eb45fd42c58ca13011d659bfc1ac1.r49.cf0.rackcdn.com
X-Cdn-Enabled: True
X-Log-Retention: False
X-Cdn-Streaming-Uri: http://084cc2790632ccee0a12-346eb45fd42c58ca13011d659bfc1ac1.r49.stream.cf0.rackcdn.com
X-Trans-Id: tx82a6752e00424edb9c46fa2573132e2c
Content-Length: 0
Теперь, для объекта с именем 'styles/site.css', добавьте это имя к общедоступному URL-адресу, что приведет к следующему URL-адресу:
http://081e40d3ee1cec5f77bf-346eb45fd42c58ca13011d659bfc1ac1.r49.cf0.rackcdn.com/styles/site.css