首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python generate_signed_query_string blob返回错误的查询字符串

python generate_signed_query_string blob返回错误的查询字符串
EN

Stack Overflow用户
提问于 2013-03-12 21:31:12
回答 1查看 498关注 0票数 0

我正在尝试使用Python SDK共享私有Azure blob存储容器中的blob,以下是代码:

代码语言:javascript
复制
try:
        accss_plcy = AccessPolicy()
        accss_plcy.start = '2013-03-12'
        accss_plcy.expiry = '2013-03-13'
        accss_plcy.permission = 'r'
        signed_identifier = 'YWJjZGVmZw=='
        sap = SharedAccessPolicy(accss_plcy, signed_identifier)
        qry_str = sas.generate_signed_query_string('picture/xxx.jpg','blob', sap)
    except Exception as ex:
        abort(400, 'Download blob fail %s'%ex)
    return sas._convert_query_string(qry_str)

查询字符串返回值如下:

代码语言:javascript
复制
st=2013-03-12&se=2013-03-13&sp=r&resource=blob&sig=FI88prUINf58Seg5Nwo6Uj5RP9FxXGZBBSKi7pybmeQ=&

您可能注意到resource=blob,但它应该返回sr=b

我该如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-12 22:00:52

它看起来像是SDK中的一个bug。由于Azure SDK的代码是开源的,因此您可以下载代码并更改以下文件:https://github.com/WindowsAzure/azure-sdk-for-python/blob/master/src/azure/storage/sharedaccesssignature.py。查看该文件中的源代码,您需要更改以下代码行(第129行):

代码语言:javascript
复制
convert_str += SIGNED_RESOURCE_TYPE + '=' + query_string[SIGNED_RESOURCE] + '&'

代码语言:javascript
复制
convert_str += SIGNED_RESOURCE + '=' + query_string[SIGNED_RESOURCE] + '&'

代码语言:javascript
复制
qry_str = sas.generate_signed_query_string('picture/xxx.jpg','blob', sap)

代码语言:javascript
复制
qry_str = sas.generate_signed_query_string('picture/xxx.jpg','b', sap)

我认为这应该能起到作用。另外,请确保您在Github上提交了一个bug,以便负责维护代码的团队可以修复它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15362643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档