Получение общедоступного URL-адреса недавно загруженного ресурса CloudFiles

При загрузке нового актива в хранилище CloudFiles я хочу получить общедоступный URL-адрес этого актива (если контейнер поддерживает CDN). Я понял, что единственный способ сделать это — отправить 3 (да, три!) запроса к RackSpace:

  1. Аутентифицировать пользователя и получить x-auth-token, x-storage-url и x-cdn-management-url.
  2. Получив все токены и URL-адреса, загрузите файл в контейнер.
  3. Выполните запрос HEAD на x-cdn-management-url для общедоступного URL-адреса контейнера.

Я просто хочу убедиться, что мне действительно нужно 3 запроса на загрузку, чтобы получить общедоступный URL-адрес актива, который я только что загрузил. Все операции должны выполняться программно через API.


person Pono    schedule 16.02.2013    source источник


Ответы (2)


Я считаю, что как только у вас есть URL-адрес CDN вашего контейнера, каждый объект, который вы помещаете в него, добавляется к нему. Таким образом, если URL-адрес CDN вашего контейнера равен cdn1.foo.cloudstorage.com, ваши объекты будут иметь URL-адреса cdn1.foo.cloudstorage.com/object1.ext, cdn1.foo.cloudstorage.com/object2.ext и т. д.

Вам нужно всего лишь три шага, чтобы получить исходный URL CDN контейнера. Дальше все просто.

person Tabasco HotSauce    schedule 17.02.2013

Если вы используете Java, PHP или Python, ознакомьтесь с одним из SDK Rackspace. Примеры использования CDN с каждым см.:

  1. Java: CloudFilesPublish.java
  2. PHP: cdn.php
  3. Python: container_cdn.py
person Everett Toews    schedule 16.02.2013