2

Итак, вот что я делаю с API:Rackspace CloudFile API - получить информацию об объекте

  1. Auth (чтобы получить маркер и publicUrl для конкретного региона мне нужно от «объекта-магазин»)

  2. Используйте publicUrl от конечной точки, как так, чтобы получить список файлов: GET [publicUrl]/[контейнер] Это возвращает массив, в котором каждый элемент (объект) выглядит следующим образом:

    ( [хеш] => 7213ee9a7d9dc119d2921a40e899ec5e [LAST_MODIFIED] => 2015-12-29T02: 46: 08,400490 [байт] => 1 [имя] => Некоторый тип файла name.jpg [content_type] => приложение/постскриптум )

Теперь, как я строю URL, чтобы сделать GET по данному пункту (объекта)? Я попытался следующие:

[publicUrl]/[контейнер]/[хеш] [publicUrl]/[контейнер]/urlencoded ([имя])

среди других вещей, которые не имеют смысла , но я все равно пытался.

Любые мысли/помощь будет оценен по достоинству!

+0

На каком языке вы используете? Вы используете SDK или используете API напрямую? –

ответ

3

Если вы используете Rackspace SDK, вы можете пропустить построение URL-адреса самостоятельно.

Вот документация retrieving a Cloud Files object using a public URL. URL-адрес объекта представляет собой комбинацию открытого URL-адреса контейнера (найденного в заголовке ответа X-Cdn-Uri) с добавлением имени объекта.

Например, для контейнера с именем «Foo», отправить запрос на проверку подлинности ГОЛОВЫ к API:

HEAD {cloudFilesEndpoint}/foo 

В ответ на публичный URL контейнера находится в заголовке «X-ТПС-Ури» :

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 

Теперь для объекта с именем 'стили/site.css', добавьте это имя для публичного URL, что приводит к следующему URL-адресу:

http://081e40d3ee1cec5f77bf-346eb45fd42c58ca13011d659bfc1ac1.r49.cf0.rackcdn.com/styles/site.css 
+0

Благодарим за отзыв. Это то же самое для контейнеров, которые не поддерживают CDN? –

+0

Если вы хотите, чтобы объект был общедоступным, контейнер должен быть включен CDN. [Объекты в частных контейнерах могут быть доступны только с помощью аутентифицированного запроса GET] (https://developer.rackspace.com/docs/cloud-files/v1/developer-guide/#retrieving-an-object). –

+0

Итак, я * я * аутентичность с помощью apikey и отправок маркеров в последующих запросах .. –