首页 文章

尝试从Azure网站创建Azure存储表时出现错误403

提问于
浏览
0

尝试在Azure网站的新Azure存储帐户中创建新表时,我收到以下错误 . 当我尝试从我的本地机器上执行此操作时,它可以正常工作当我使用旧的Azure存储帐户时,它也可以工作 .

System.AggregateException未被用户代码处理HResult = -2146233088消息=发生了一个或多个错误 . Source = mscorlib StackTrace:在System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)处于System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification),位于MyProject.Data的System.Threading.Tasks.Task1.get_Result()处 . D:\ home \ site \ approot \ src \ MyProject.Data \ Repositories \ MatchRepository.cs中的Repositories.MatchRepository..ctor(CloudStorageAccount storageAccount):D中的MyProject.Startup.ConfigureStorageRepositoriesAndServices(IServiceCollection服务,CloudStorageAccount storageAccount)中的第15行: \ home \ site \ approot \ src \ MyProject \ Startup.cs:位于D:\ home \ site \ approot \ src \ MyProject \ Startup.cs中的MyProject.Startup.ConfigureServices(IServiceCollection服务)的第98行:第86行InnerException:ErrorCode = -2147217005 HResult = -2147217005消息= 403服务器无法验证请求 . 确保正确形成Authorization标头的值,包括签名 . 小学0d907af5-0002-0117-126c-ea972b000000星期二,08九月2015 19:31:47 GMT星期二,08九月2015 19:31:43 GMT星期二,08九月2015 19:31:47 GMT AuthenticationFailed服务器无法验证请求 . 确保正确形成Authorization标头的值,包括签名 . RequestId:0d907af5-0002-0117-126c-ea972b000000时间:2015-09-08T19:31:46.4165753Z StorageException -2146233088意外的响应代码,预期:OK或NotFound,收到:禁止Microsoft.WindowsAzure.Storage在Microsoft.WindowsAzure.Storage .Core.Executor.Executor . <ExecuteAsyncInternal> d__41.MoveNext()</ StackTrace> </ ExceptionInfo> </ RequestResult> Source = Microsoft.WindowsAzure.Storage StackTrace:at Microsoft.WindowsAzure.Storage.Core.Executor.Executor . < ExecuteAsyncInternal> d__41.MoveNext()---从抛出异常的上一个位置开始的堆栈跟踪结束---在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification的System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)处(任务)任务)在Microsoft.WindowsAzure.Storage.Table.CloudTable . <> c__DisplayClass51_0 . <b__0> d.MoveNext()---从抛出异常的上一个位置的堆栈跟踪结束---在System.Runtime.CompilerServices.TaskAwaiter .ThrowForNonSuccess(任务任务)at Microsoft.WindowsAzure.Storage.Table.CloudTable中的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) . <> c__DisplayClass41_0 . <b__0> d.MoveNext()---从抛出异常的上一个位置开始的堆栈跟踪结束---位于MyProject.Data.TableRepository的System.Runtime.CompilerServices.TaskAwaiter1.GetResult()的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)的System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) . D:\ home \ site \ approot \ src \ MyProject.Data \ Common \ TableRepository.cs中的<CreateTableAsync> d__13.MoveNext():第29行---从抛出异常的上一个位置开始的堆栈跟踪结束---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)位于MyProject.Data.Repositories.MatchReposi的System.Runtime.CompilerServices.TaskAwaiter1.GetResult()上的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) tory.d__2.MoveNext()在D:\ home \ site \ approot \ src \ MyProject.Data \ Repositories \ MatchRepository.cs:第20行InnerException:HResult = -2146233088 Message =意外的响应代码,预期:OK或NotFound,已收到:Forbidden Source = Microsoft.WindowsAzure.Storage StackTrace:at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.d__4`1.MoveNext()InnerException:

1 回答

  • 1

    您似乎以错误的方式使用管理密钥 .

    web.config中:

    <configuration>
        <appSettings>
            <add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=nYV0gln9fT7bvY+rxu2iWAEyzPNITGkhM88J8HUoyofpK7C8fHcZc2kIZp6cKgYRUM74lHI84L50Iau1+9hPjB==" />
        </appSettings>
    </configuration>
    

    c#代码:

    CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
        ConfigurationManager.AppSettings["StorageConnectionString"]);
    

    资源:

    https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-tables/

相关问题