【发布时间】:2017-08-12 05:19:50
【问题描述】:
使用 azure blob 存储和 Azure SDK,我目前正在下载这样的字符串:
var storageAccount = CloudStorageAccount.Parse(connectionString);
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
var blockBlob = container.GetBlockBlobReference(blobUid);
var text = await blockBlob.DownloadTextAsync();
我想传入一个 blobRequestOptions 来设置自定义重试策略,所以它看起来像这样:
var storageAccount = CloudStorageAccount.Parse(connectionString);
var blobClient = storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(containerName);
var blockBlob = container.GetBlockBlobReference(blobUid);
var blobRequestOptions = new BlobRequestOptions()
{
RetryPolicy = new ExponentialRetry(TimeSpan.FromSeconds(5), 3)
};
var text await blockBlob.DownloadTextAsync(encoding, accessCondition, blobRequestOptions, operationContext);
我的问题是我不确定要为编码、accessCondition 或 operationContext 传递什么。我查看了文档 (https://msdn.microsoft.com/en-us/library/dn434829.aspx) 并进行了大量搜索,但我不知道要传递什么。
编码:我的数据只是 Us-En 中的 json,所以我认为我可以使用 ACSII 或 UTF-8,但我找不到 azure 是否有我应该使用的默认值。
AccessCondition 和 OperationContext:不知道我应该传入什么。
或者也许有更好的方法来做我想做的事情而不使用重载的 DownloadTextAsync。
【问题讨论】:
-
您可以尝试不使用这些参数的重载msdn.microsoft.com/en-us/library/azure/…,或者您可以在 msdn 中搜索每个参数,例如 Accesscondition 有很多枚举选项 msdn.microsoft.com/en-in/library/…
标签: c# azure azure-blob-storage