【发布时间】:2019-10-01 12:03:26
【问题描述】:
我有以下代码使用WindowsAzure.Storage nuget 包返回容器列表:
public static class AzureBlobStorageClient
{
public static CloudBlobClient GetClient(string AccountName = "foo", string AccountKey = "bar" )
{
try
{
var connectionString = $"DefaultEndpointsProtocol=https;AccountName={AccountName};AccountKey={AccountKey};EndpointSuffix=core.windows.net";
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
IRetryPolicy exponentialRetryPolicy = new ExponentialRetry(TimeSpan.FromSeconds(2), 10);
blobClient.DefaultRequestOptions.RetryPolicy = exponentialRetryPolicy;
return blobClient;
}
catch (StorageException ex)
{
Console.WriteLine("Error returned from the service: {0}", ex.Message);
throw;
}
}
public static void DeleteContainer(CloudBlobContainer container)
{
var result = container.DeleteIfExistsAsync().Result;
}
public static List<CloudBlobContainer> GetContainers()
{
var client = GetClient();
BlobContinuationToken continuationToken = null;
List<CloudBlobContainer> results = new List<CloudBlobContainer>();
do
{
var response = client.ListContainersSegmentedAsync(continuationToken).Result;
continuationToken = response.ContinuationToken;
results.AddRange(response.Results);
}
while (continuationToken != null);
return results;
}
}
当我运行它时,我在 client.ListContainersSegmentedAsync(continuationToken).Result 上收到以下错误:
System.AggregateException: '发生一个或多个错误。 (此请求无权执行此操作。)'
我看不到如何为请求设置授权。
我的问题是如何克服这个错误信息
【问题讨论】:
-
您的代码对我来说看起来不错。请在此处查看我的评论:stackoverflow.com/questions/56129973/….
标签: c# azure azure-storage