Как я могу сгенерировать TempURL для объекта в объектном хранилище SoftLayer

Как сгенерировать TempURL для объекта в объектном хранилище SoftLayer?

В настоящее время я использую Ruby API, и я могу получить доступ к своему объекту после аутентификации. Но для внешних конечных пользователей мне нужно создать общедоступный URL-адрес для этого объекта, к которому можно получить доступ без процесса аутентификации.

Я попытался сгенерировать временный URL-адрес с истечением срока действия, но не могу найти ключ для hexdigest() HMAC. Как я могу найти его? или есть другой способ получить тот же результат?


person sio4    schedule 21.03.2016    source источник


Ответы (2)


Я могу сделать это с помощью быстрого клиента следующим образом:

We add the temporary urls secret keys with the command: 
$ swift post -m "Temp-URL-Key:mykey"

We create the temporary URL:
$ swift-temp-url GET 3600 /v1/AUTH_d684780d-aafe-4772-bcbb-0f07d5f6edf3/a-container/data.txt mykey

it returns:
v1/AUTH_d684780d-aafe-4772-bcbb-0f07d5f6edf3/a-container/data.txt?temp_url_sig=19f067d38dc532883e8f02be3b43a172c61e51d2&temp_url_expires=1445615769

Then we can access to the file:
curl 'https://dal05.objectstorage.softlayer.net/v1/AUTH_d684780d-aafe-4772-bcbb-0f07d5f6edf3/a-container/data.txt?temp_url_sig=19f067d38dc532883e8f02be3b43a172c61e51d2&temp_url_expires=1445615769'

Некоторые справочные страницы: здесь, как установить и настроить быстрый клиент http://sldn.softlayer.com/es/blog/waelriac/Managing-SoftLayer-Object-Storage-Through-REST-API здесь, как создать временный URL-адрес http://luisbg.blogalia.com/historias/74348

Я надеюсь, что это помогает

person Nelson Raul Cabero Mendoza    schedule 21.03.2016
comment
Да, быстрый интерфейс командной строки — это вариант для человека, но мне нужно какое-то программное решение. поэтому я сделал форк и написал несколько кодов. - person sio4; 21.03.2016
comment
Ой! @nelson-raul-cabero-mendoza, извините, если вам неловко из-за моего комментария. но я не машина. Я просто использую свои машины со своим кодом. :-) - person sio4; 21.03.2016

Отвечай сам.

Я, наконец, написал для него код, выполнив еще несколько поисков, в том числе:

  1. читайте связанные коды API с https://github.com/softlayer/softlayer-object-storage-ruby
  2. прочитайте http://sldn.softlayer.com/es/blog/waelriac/Managing-SoftLayer-Object-Storage-Through-REST-API
  3. after that, I found some hint from middle of the second document: the response Header contains this key!
    • X-Account-Meta-Temp-URL-Key

Итак, я написал для него код (метод) и сделал запрос на включение (https://github.com/softlayer/softlayer-object-storage-ruby/pull/10), и я надеюсь, что он скоро будет объединен. в любом случае, если он не принят (пока), вы можете найти мой код по адресу https://github.com/c12g/softlayer-object-storage-ruby

person sio4    schedule 21.03.2016
comment
Я проверил больше проектов, связанных с быстрым и объектным хранилищем, но никто не поддерживает его изначально. - person sio4; 23.03.2016