代码之家  ›  专栏  ›  技术社区  ›  trailmax

设置Azure存储操作超时

  •  5
  • trailmax  · 技术社区  · 6 年前

    使用Azure存储时,我发现有一种方法可以设置 timeout on blob operations on table operations 如果你在休息时工作。

    但是,我们正在使用通过WindowsAzure提供的C#客户端。Storage NuGet软件包(v8.4.0)。我看不出有什么方法可以在这里指定超时

    var storageAccount = CloudStorageAccount.Parse("UseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://127.0.0.1"); // local storage for testing
    var blobClient = storageAccount.CreateCloudBlobClient();
    var container = blobClient.GetContainerReference("mycontainer");
    container.CreateIfNotExists();
    var blobReference = container.GetBlockBlobReference("my/blob.pdf");
    

    我尝试了在上查找可用的属性/方法 CloudBlobClient 和上 StorageAccount ,但未找到类似超时设置的内容。

    如果我能在一个地方设置timout(在连接字符串中),那将是理想的选择这在所有的操作中都会用到。但如何在C#客户端中实现这一点?

    1 回复  |  直到 6 年前
        1
  •  9
  •   Gaurav Mantri    6 年前

    一定要看看 ServerTimeout 中的属性 BlobRequestOptions 班因此,您的代码是:

                var storageAccount = CloudStorageAccount.Parse("UseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://127.0.0.1"); // local storage for testing
                var blobClient = storageAccount.CreateCloudBlobClient();
                var container = blobClient.GetContainerReference("mycontainer");
                container.CreateIfNotExists(new BlobRequestOptions()
                {
                    ServerTimeout = TimeSpan.FromSeconds(90)
                });