我使用Web界面在Azure存儲帳戶上創建了共享訪問簽名(SAS)令牌。令牌看起來像Azure Blob Store SAS令牌缺失服務資源字段
?sv=xxxx-xx-xx&ss=b&srt=sco&sp=rl&se=xxxx-xx-xxTxx:xx:xxZ&st=xxxx-xx-xxTxx:xx:xxZ&spr=https&sig=xxxxxxxxxxxxxxxxxxxxxx
的SAS令牌這裏缺少服務資源的sr
領域。我必須手動將sr=b
添加到查詢字符串才能使其工作。我必須做錯事,因爲這看起來非常挑剔。
from azure.storage.blob import BlockBlobService
sas_token = "?sv=xxxx-xx-xx&ss=b&srt=sco&sp=rl&se=xxxx-xx-xxTxx:xx:xxZ&st=xxxx-xx-xxTxx:xx:xxZ&spr=https&sig=xxxxxxxxxxxxxxxxxxxxxx"
sas_token = "?sr=b&" + sas_token[1:]
serv = BlockBlobService(account_name='myaccount', sas_token=sas_token)
for cont in serv.list_containers():
print cont.name
沒有sas_token = "?sr=b&" + sas_token[1:]
我得到的錯誤:
sr is mandatory. Cannot be empty
而且如果sr=b
字段不是第一次查詢,我得到一個驗證錯誤,如
Access without signed identifier cannot have time window more than 1 hour
您使用的是什麼版本的Python SDK? –
我使用python 2.7.6和azure-storage 0.34.3 –