我有一种情况,我将大量 blob 从一个存储容器复制到另一个存储容器,并且其中一些 blob 已复制,但在我启动复制后两天后,其中许多仍处于待处理状态。我根据以下事实做出此决定:如果我尝试对目标 blob 执行任何操作,则会收到以下错误:
Microsoft.WindowsAzure.StorageClient.StorageClientException:当前有一个挂起的复制操作。----> System.Net.WebException:远程服务器返回错误:(409)冲突。
对此我能做些什么吗?例如,我可以在事后中止副本吗?
这是我用来执行复制的复制代码。
try
{
destinationBlob.StartCopyFromBlob(
new Uri(sourceBlob.Uri.AbsoluteUri + signature));
System.Diagnostics.Trace.TraceInformation(
"Copying: {0}", destinationEndpoint.EndpointState.BlobName);
}
catch (Exception ex)
{
var we = ex.InnerException as WebException;
if (we != null && we.Status == WebExceptionStatus.ProtocolError)
{
System.Diagnostics.Trace.TraceError(
"conflict with blob copy for blob {0}", sourceBlob.Uri.AbsoluteUri);
return 0;
}
}