【问题标题】:This request is not authorized to perform this operation. Azure blobClient此请求无权执行此操作。 Azure blobClient
【发布时间】: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: '发生一个或多个错误。 (此请求无权执行此操作。)'

我看不到如何为请求设置授权。

我的问题是如何克服这个错误信息

【问题讨论】:

标签: c# azure azure-storage


【解决方案1】:

感谢@gaurav Mantri 的回答。

问题是我的客户端 IP 未添加到存储帐户的防火墙规则中。

要更改它,请转到:

存储帐户 > {yourAccount} > 防火墙和虚拟网络

并添加您的 IP 地址

【讨论】:

  • +1'd ...如此令人讨厌的明显!然而,每当我在远程位置工作时,我总是忘记将我的新 IP 添加到防火墙......相反,我认为我的错误是由于 Azure Functions 更新在一夜之间破坏了一切......欢迎来到我的早晨! :)
  • 为安全解决方案提供支持!
猜你喜欢
  • 2021-03-28
  • 2020-08-16
  • 2019-07-24
  • 2020-11-29
  • 2020-06-21
  • 1970-01-01
  • 2021-12-27
  • 2023-02-01
  • 1970-01-01
相关资源
最近更新 更多