中断Azure Blob存储的传输

时间:2017-02-09 16:23:25

标签: azure azure-storage azure-storage-blobs blobstore

我有相当大的文件要从blob存储中检索,我正在考虑恢复能力。如果无法下载,例如网络连接遭受暂时中断,需要重试x次。但是我注意到我不知道如何处理的行为。

我只是在转移到我的机器的过程中拔掉网线,从而复制网络故障。然后发生的是转移停止在x%并且永远不会继续前进。会话保持活动状态,传输任务仍处于打开状态,目标文件仍保持锁定状态。即使我将电缆插回其中也只是保持这样,直到我关闭我的PowerShell会话(在本例中为ISE)。

这是我正在使用的命令:

Get-AzureStorageBlobContent -blob $file.Name -Container $containerName -Destination $localPath -Context $Context -clientTimeoutPerRequest 60  -ErrorAction Stop -Force 

它永远不会抛出错误,它只会被卡住。无论如何我可以让它超时并返回一个错误扔到一个catch块?

1 个答案:

答案 0 :(得分:2)

  

它永远不会抛出错误,它只会被卡住。无论如何我可以让它超时并返回一个错误扔到一个catch块?

正如您所说,如果网络问题在下载blob期间通过 Get-AzureStorageBlobContent cmdlet导致中断,则错误将无法在catch块中到达。如果您想重新启动转移并从中断点开始转移,则可以尝试使用AZCopy。并且支持在文件传输过程中由网络或其他问题引起的中断处于可重新启动模式的AZCopy,这有助于从中断点重新启动传输。