Kes*_*rah 1 azure azure-storage
刚发布时,这是初始错误:
System.ApplicationException:跟踪侦听器AzureBlobTraceListener已禁用。---> System.InvalidOperationException:未指定云存储帐户的SAS URL。使用环境变量“ DIAGNOSTICS_AZUREBLOBCONTAINERSASURL”在Microsoft.WindowsAzure.WebSites.Diagnostics.AzureBlobTraceLi ?? stener.RefreshConfig ??()中对其进行定义。
然后DIAGNOSTICS_AZUREBLOBCONTAINERSASURL,我将其值设置为生成的Blob服务SAS URL 添加到了应用程序设置中。在这我得到一个新的错误:
System.ApplicationException:跟踪侦听器AzureBlobTraceListener已禁用。---> System.ArgumentException:Microsoft.WindowsAzure.Storage.Core.Util.NavigationHelper.ParseBlobQueryAndVerify(Microsoft.WindowsAzure.Storage.Core.Auth.SharedAccessSignatureHelper.ParseQuery(IDictionary
2 queryParameters, Boolean mandatorySignedResource) at Microsoft.WindowsAzure.Storage.Core.Util.NavigationHelper.ParseBlobQueryAndVerify(Uri address, StorageCredentials& parsedCredentials, Nullable1&parsedSnapshot)处的有效共享访问签名缺少必选参数Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer.ParseQueryAndVerify(StorageUri地址,StorageCredentials凭据)上的StorageUri地址,StorageCredentials和parsedCredentials,Nullable`1和parsedSnapshot)(Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer凭据,StorageCri)在Microsoft.WindowsAzure.WebSites.Diagnostics.AzureBlobTraceListener中。
然后sr=b,我将其添加到“ DIAGNOSTICS_AZUREBLOBCONTAINERSASURL”中,导致出现以下错误:
Microsoft.WindowsAzure.Storage.StorageException:远程服务器返回错误:(403)禁止。---> System.Net.WebException:远程服务器返回错误:(403)禁止。在System.Net.HttpWebRequest.GetResponse()在Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync [T](RESTCommand
1 cmd, IRetryPolicy policy, OperationContext operationContext) --- End of inner exception stack trace --- at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommandMicrosoft.WindowsAzure.WebSites.Diagnostics.AzureBlobStreamTraceListener.1 cmd,IRetryPolicy策略,OperationContext operationContext)(Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.DownloadBlockList(BlockListingFilter blockListingFilter,AccessCondition accessCondition,BlobRequestOptions选项,OperationContext operationContext))在Microsoft.WindowsAzure.WebSites.Diagnostics.AzureBlobTraceListener.ConsumeBuffer()处请求信息RequestID:5225782d-0001-0175-6d94-fc82dd000000 RequestDate:Fri,2017年7月14日11:33:16 GMT StatusMessage:服务器无法对请求进行身份验证。请确保正确构成Authorization标头的值,包括签名。错误代码:身份验证失败
用于在应用程序设置中声明AzureWebJobsDashboard和AzureWebJobsStorage的连接字符串: 在此处输入图像描述
根据您的描述,我想您遇到该错误的原因是您的SAS令牌没有足够的权限来对blob进行CRUD。
SAS令牌必须是Blob容器SAS令牌,而不是Blob SAS令牌。
此外,如果您设置了Azure Web应用程序的诊断日志“应用程序日志记录”功能,它将在您的Web应用程序的设置中自动生成SAS令牌。
更多细节,请参考下图:
在诊断日志中设置存储帐户。
然后它将自动设置appsetting:
更新:
未能验证Microsoft Azure WebJobs SDK仪表板连接字符串。Microsoft Azure存储帐户连接字符串的格式不正确。
如果将Webjobs上传到Web应用程序,则Web Jobs需要进行两次appsetting。一个是仪表板连接字符串,另一个是AzureWebJobsStorage。
这两个设置都需要存储连接字符串而不是存储SAS。
您可以找到存储连接字符串,如下图所示:
1.打开存储访问密钥功能。
2.复制连接字符串:
3.在Web应用程序的appsetting中替换连接字符串。
| 归档时间: |
|
| 查看次数: |
6796 次 |
| 最近记录: |