2017-07-14 113 views
-1

新鮮時に、これは最初のエラーで公開:Microsoft.WindowsAzure.Storage.StorageException:リモートサーバーがエラーを返した:(403)

System.ApplicationException: The trace listener AzureBlobTraceListener is disabled. ---> System.InvalidOperationException: The SAS URL for the cloud storage account is not specified. Use the environment variable 'DIAGNOSTICS_AZUREBLOBCONTAINERSASURL' to define it.at Microsoft.WindowsAzure.WebSites.Diagnostics.AzureBlobTraceLi‌​stener.RefreshConfig‌​()

Iは、その値が設定したアプリケーション設定にDIAGNOSTICS_AZUREBLOBCONTAINERSASURLを添加しました BlobサービスのSAS URLが生成されました。アプリの設定でAzureWebJobsDashboardとAzureWebJobsStorageを宣言するために使用さ

Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (403) Forbidden. ---> System.Net.WebException: The remote server returned an error: (403) Forbidden. at System.Net.HttpWebRequest.GetResponse() at 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](RESTCommand 1 cmd, IRetryPolicy policy, OperationContext operationContext) at Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.DownloadBlockList(BlockListingFilter blockListingFilter, AccessCondition accessCondition, BlobRequestOptions options, OperationContext operationContext) at Microsoft.WindowsAzure.WebSites.Diagnostics.AzureBlobTraceListener.AppendStreamToBlob(Stream stream) at Microsoft.WindowsAzure.WebSites.Diagnostics.AzureBlobTraceListener.ConsumeBuffer() Request Information RequestID:5225782d-0001-0175-6d94-fc82dd000000 RequestDate:Fri, 14 Jul 2017 11:33:16 GMT StatusMessage:Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature. ErrorCode:AuthenticationFailed

接続文字列:私は、その後、以下のエラーが発生し「DIAGNOSTICS_AZUREBLOBCONTAINERSASURL」にsr=bを追加

System.ApplicationException: The trace listener AzureBlobTraceListener is disabled. ---> System.ArgumentException: Missing mandatory parameters for valid Shared Access Signature at Microsoft.WindowsAzure.Storage.Core.Auth.SharedAccessSignatureHelper.ParseQuery(IDictionary 2 queryParameters, Boolean mandatorySignedResource) at Microsoft.WindowsAzure.Storage.Core.Util.NavigationHelper.ParseBlobQueryAndVerify(Uri address, StorageCredentials& parsedCredentials, Nullable 1& parsedSnapshot) at Microsoft.WindowsAzure.Storage.Core.Util.NavigationHelper.ParseBlobQueryAndVerify(StorageUri address, StorageCredentials& parsedCredentials, Nullable`1& parsedSnapshot) at Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer.ParseQueryAndVerify(StorageUri address, StorageCredentials credentials) at Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer..ctor(StorageUri containerAddress, StorageCredentials credentials) at Microsoft.WindowsAzure.WebSites.Diagnostics.AzureBlobTraceListener.RefreshConfig()

:これで私は新しいエラーが表示されます。 enter image description here

+0

ようこそStackOverflow。より良い形式で質問を編集し、問題の詳細を提供してください。あるいは、人々は例外スタックトレースだけであなたを助けることができません。 –

+0

いくつかの説明を追加thanks –

+0

説明によると、403エラーが発生する理由はまだ見つかりませんでした。あなたがしたことを教えてください。 Azure Webアプリケーションポータルで診断ログを有効にするか、アプリケーションコードでストレージSDKを実行しますか? –

答えて

1

あなたの説明によると、あなたがエラーに直面した理由は、あなたのSASトークンがBLOBをCRUDするのに十分な許可を持っていないからです。

SASトークンはblob SASトークンではなく、blobコンテナSASトークンである必要があります。

さらに、Azure Webアプリケーションの診断ログアプリケーションログ機能を設定すると、Webアプリケーションの設定でSASトークンが自動的に生成されます。

詳細は、あなたは下の画像を参照できます。

診断ログにストレージアカウントを設定してください。

enter image description here

そして、それはのAppSetting自動設定されます:あなたのWebアプリ、ウェブにwebjobsをアップロードした場合

Failed to validate Microsoft Azure WebJobs SDK Dashboard connection string. The Microsoft Azure Storage account connection string is not formatted correctly.

enter image description here


更新ジョブには2つのappsettingが必要です。 1つはダッシュボード接続文字列で、もう1つはAzureWebJobsStorageです。

これら2つの設定の両方にストレージSASではなくストレージ接続文字列が必要です。画像を示し、以下のよう

あなたは、ストレージの接続文字列を見つけることができる:

1.Openストレージアクセスキー機能を。

enter image description here

2.Copy接続文字列:ウェブアプリケーションのAppSetting内の接続文字列3.Replace

enter image description here

enter image description here

+0

同じエラーが継続しますが、DateRequestフィールドが異なるタイムゾーンにあることに気づきました。検査が必要ですか?:@Brando Zhang -MSFT –

+0

診断?直接Webアプリポータルなどを使用していますか? –

+0

ウェブポータル@Brando Zhang - MSFT –

関連する問題