1

我对 azure 还很陌生,但我设法拼凑了一个测试脚本来创建容器、列出它们,甚至上传/下载对象。

现在我想尝试下载一个我知道需要分段完成的大型对象。经过大量挖掘,linux/python 的文档似乎很弱,我设法找到了 get_object() 调用的可选 x_ms_range 参数。经过更多挖掘后,我发现“范围”的描述为“xx-yy”,但是当我尝试使用它来下载对象的一部分时。这是我的代码片段的样子:

print "GET 10k"
blob1 = blob_service.get_blob('mycontainer', '10k')
print "LEN blob1:", len(blob1)
blob2 = blob_service.get_blob('mycontainer', '10k', x_ms_range='1-100')
print "LEN blob2:", len(blob2)

正如你所看到的,当我运行脚本时它会报告:

GET 10k
LEN blob1: 10000
LEN blob2: 10000

谁能看到我做错了什么?

4

1 回答 1

0

尝试更改以下代码行:

blob2 = blob_service.get_blob('mycontainer', '10k', x_ms_range='1-100')

blob2 = blob_service.get_blob('mycontainer', '10k', x_ms_range='bytes=1-100')

根据此处的文档:http: //msdn.microsoft.com/en-us/library/windowsazure/ee691967.aspx,您需要bytes=在指定范围时预先添加。

于 2013-03-20T05:34:44.780 回答