我在VirtualBox上設置SAIO,並且想要檢查Temp網址功能的工作方式。無法從swift快速獲取對象
這裏是我創建下容器「testCon」呼叫test.txt的對象,你可以看到的內容和快捷列表中的對象
[email protected]:~/bin$ curl -X GET -H 'X-Auth-Token: AUTH_tkba199b23eeec4998b7119d2c9c903216' http://127.0.0.1:8080/v1/AUTH_test/testCon/test.txt
this is a test
[email protected]:~/bin$ swift -A http://127.0.0.1:8080/auth/v1.0 -U test:tester -K testing list testCon
test.txt
我跟隨鏈接(http://ceph.com/docs/master/radosgw/swift/tempurl/)設置臨時網址鍵臨時網址
[email protected]:~/bin$ curl -X POST -H 'X-Auth-Token: AUTH_tkba199b23eeec4998b7119d2c9c903216' -H 'X-Account-Meta-Temp-URL-Key: secret' http://127.0.0.1:8080/v1/AUTH_test/testCon/test.txt
<html><h1>Accepted</h1><p>The request is accepted for processing.</p></html>[email protected]:~/bin$
[email protected]:~/bin$ swift -A http://127.0.0.1:8080/auth/v1.0 -U test:tester -K testing post -m "Temp-URL-Key:secret"
,並按照Python的例子生成的臨時URL鏈接
import hmac
from hashlib import sha1
from time import time
method = 'GET'
host = "http://127.0.0.1:8080"
duration_in_seconds = 300 # Duration for which the url is valid
expires = int(time() + duration_in_seconds)
path = '/v1/AUTH_test/testCon/test.txt'
key = 'secret'
hmac_body = '%s\n%s\n%s' % (method, expires, path)
hmac_body = hmac.new(key, hmac_body, sha1).hexdigest()
sig = hmac.new(key, hmac_body, sha1).hexdigest()
rest_uri = "{host}{path}?temp_url_sig={sig}&temp_url_expires={expires}".format(
host=host, path=path, sig=sig, expires=expires)
print rest_uri
但是當我把鏈接CLI中,它總是顯示:沒有這樣的文件或目錄
[email protected]:~/bin$ http://127.0.0.1:8080/v1/AUTH_test/testCon/test.txt?temp_url_sig=83fa35362613a18c2ca0b48203ccda61d2229daa&temp_url_expires=1439938672
[1] 6125
[email protected]:~/bin$ -bash: http://127.0.0.1:8080/v1/AUTH_test/testCon/test.txt?temp_url_sig=83fa35362613a18c2ca0b48203ccda61d2229daa: **No such file or directory**
誰能幫助? 請向我提供一些建議嗎?
Thanks Million!
謝謝!但我重新生成鏈接,但我得到了「swift @ swift-VirtualBox:〜/ bin $ 401未經授權:Temp URL無效」,在上面發佈X-Account-Meta-Temp-URL-Key或錯誤路徑python? –
這裏是我嘗試的cli: –
我發現python的末尾有變化行和curl命令必須使用上面,然後可以得到文件下載沒有401. curl -L -o'download.txt''https: //region-a.geo-1.objects.hpcloudsvc.com/v1/10846130789747/USERMETAFILE/10846130789747_xxxxxxxx?temp_url_sig = 10846130789747:AWHYVDR62M98H1JKE3W2:92842990c61d1a063476a1e583a3dbef7d6c0ae0&temp_url_expires = 1440012858' –