【发布时间】:2017-04-21 03:22:47
【问题描述】:
我正在尝试使用以下代码从 Azure Blob 存储下载一个大型 VHD 文件 (30GB):
blob_service.get_blob_to_path('vhds', '20161206092429.vhd', '20161206092429.vhd')
其中第一个参数是容器名称,第二个参数是 blob 名称,第三个参数是保存它的本地文件/路径。这个 30GB 的下载工作正常,但突然间我开始收到这个错误:
AzureHttpError:使用 HTTP 条件指定的条件 不符合标头。
ConditionNotMetThe 不满足使用 HTTP 条件标头指定的条件。 请求ID:88b6ac24-0001-0001-5ec0-4f490d000000 时间:2016-12-06T12:57:13.5389237Z
现在可以在一段时间内正常下载:有时很短,有时很长。甚至高达 9 或 10GB 的完整 30GB 下载。
根据这个问题:
Azure Blob: "The condition specified using HTTP conditional header(s) is not met"
304: The condition specified using HTTP conditional header(s) is not met
这似乎是一种竞争条件,但如果不深入研究并处理 SDK 代码,这对解决问题没有多大帮助。有什么建议可以导致这种情况,因为下载之前可以正常工作?可能是 Azure 云中断?
【问题讨论】:
-
这与中断无关。只是好奇 - 您是否在积极使用此 vhd(例如,它是否用作当前正在运行的 VM 的磁盘)?
-
vhd 附加的虚拟机正在运行。但是没有人登录它。你认为关闭虚拟机可以解决这个问题吗?
标签: python azure azure-blob-storage azure-sdk azure-sdk-python