Azure存储容器命令运行时间过长

时间:2013-03-12 15:07:45

标签: c# azure azure-storage azure-storage-blobs

我正在使用Azure存储,并在调用容器上的命令时遇到一些问题。我正在使用单元测试运行它,有时当在容器上调用命令时,它只是坐下并等待该命令将近5分钟。如果我等待足够长的时间,它将会继续并取得成功。当运行它时,容器实际上存在,因此它根本不必创建容器。

还有其他人遇到过这个问题吗?我尝试在ServerTimeout上设置BlobRequestOptions,但没有任何影响。

以下是我的代码正在执行的操作示例:

var blobClient = _storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
var options = new BlobRequestOptions() { ServerTimeout = TimeSpan.FromSeconds(10) };
if (!container.Exists(options)) //<<<<this is where it hangs
{
    container.Create();
}

我也尝试过CreateIfNotExists()

var blobClient = _storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
container.CreateIfNotExists(); //<<<this is where it hangs

如果我只是尝试列出blob

,它也会挂起
var blobClient = _storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
container.ListBlobs(); //<<<<this is where it hangs

每个容器都不会发生这种情况,但是当它发生在一个容器上时,它似乎是同一个容器。我检查过,容器确实存在。

2 个答案:

答案 0 :(得分:0)

我报告了一个非常类似的情况:Checking if item exists in Azure blob container takes forever (SDK 2.0)。还没有找到答案。

答案 1 :(得分:-2)

你可以将Fiddler挂钩到设置中,看看是否有任何有意义的信息? (请参阅http://sepialabs.com/blog/2012/02/17/profiling-azure-storage-with-fiddler/进行设置)

如果没有,我建议联系支持部门。