Apache LibCloud и Rackspace Cloudfiles
Я начал использовать библиотеку Apache libcloud с python, чтобы позволить мне общаться с облачными файлами в стойке в python3 (pyrax только 2)
У меня все работает успешно, и я с удовольствием загружаю файлы / создаю контейнеры и т.д.
К сожалению, я, кажется, могу получить HTTP-URL только для загруженных элементов:
driver.get_object_cdn_url(obj)
Это вернет URL-адрес HTTP для объекта, который я только что загрузил.
Есть ли способ получить ДРУГОЙ URL (ы) (HTTPS / Streaming и т. Д.) Через эту библиотеку (я не могу понять это из документации!)
1 ответ
Драйвер позволяет вам сначала включить функциональность CDN на контейнере.
driver.enable_container_cdn(container)
Нет способа напрямую получить потоковый URL, get_container_cdn_url
отвечает только статическим URL CDN. Этот фрагмент кода будет получать информацию непосредственно из API:
from libcloud.utils.py3 import urlquote
container_name = '<your container name'
response = driver.connection.request('/%s' % (urlquote(container_name)),
method='HEAD',
cdn_request=True)
uri = response.headers['x-cdn-uri']
ssl_uri = response.headers['x-cdn-ssl-uri']
stream_uri = response.headers['x-cdn-streaming-uri']
См. Эти справочные документы для деталей.