如何为 SoftLayer 的对象存储上的对象生成 TempURL?
我目前使用 Ruby API,我可以在验证后访问我的对象。但对于外部最终用户,我需要为该对象生成公共 URL,无需身份验证过程即可访问。
我试图生成过期的临时 URL,但我找不到hexdigest()
HMAC 的密钥。我怎样才能找到它?还是有其他方法可以获得相同的结果?
如何为 SoftLayer 的对象存储上的对象生成 TempURL?
我目前使用 Ruby API,我可以在验证后访问我的对象。但对于外部最终用户,我需要为该对象生成公共 URL,无需身份验证过程即可访问。
我试图生成过期的临时 URL,但我找不到hexdigest()
HMAC 的密钥。我怎样才能找到它?还是有其他方法可以获得相同的结果?
我可以像这样使用 swift 客户端来做到这一点:
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'
一些参考页面:这里如何安装和配置 swift 客户端 http://sldn.softlayer.com/es/blog/waelriac/Managing-SoftLayer-Object-Storage-Through-REST-APIs 这里如何创建临时 URL http ://luisbg.blogalia.com/historias/74348
我希望它有帮助
自己回答。
在对其进行了更多搜索之后,我终于为它编写了一个代码,包括:
所以,我为它写了一个代码(方法)并提出了拉取请求(https://github.com/softlayer/softlayer-object-storage-ruby/pull/10),我希望它很快就会合并。无论如何,如果它不被接受(还),你可以在https://github.com/c12g/softlayer-object-storage-ruby找到我的代码