2016-11-30 8 views
0

DownloadText()を使用してAzure Append Blobのコンテンツをダウンロードしようとしています。関数は時折例外をスローして:リモートサーバーがエラーを返しました:(412)HTTP条件付きヘッダーを使用して指定した条件が満たされません。

をリモートサーバーがエラーを返した:(412)条件は、私が管理するコードを記述しなかったが..

を満たしていないHTTP条件ヘッダ(単数または複数)を使用して指定しました並行性があるので、デフォルトの 'Last Wins'ロジックを適用する必要があります。ブロブストレージはWeb AppとAPIからアクセスされていますが、時折Webアプリでこの例外がスローされます。

答えて

1

エラーメッセージによると、BLOBコンテンツをダウンロードしようとするとBLOBコンテンツが変更されたようです。ブロブが変更された場合、ブロブのETagは自動的に変更されます。以下のコードをチェックして把握してみてください。ストレージの条件付き操作の詳細については、documentを参照してください。

 CloudAppendBlob appendBlob = container.GetAppendBlobReference("myAppendBlob"); 
     appendBlob.FetchAttributes(); 
     var etag = appendBlob.Properties.ETag; 
     try 
     { 
      appendBlob.DownloadText(Encoding.UTF8, AccessCondition.GenerateIfMatchCondition(etag)); 
     } 
     catch (Exception) 
     { 
      appendBlob.FetchAttributes(); 
      var updateEtag = appendBlob.Properties.ETag; 
      Console.WriteLine($"Original:{etag},Updated:{updateEtag}"); 
      //To Do list 
      //appendBlob.DownloadText(Encoding.UTF8, AccessCondition.GenerateIfMatchCondition(updateEtag)); 
     } 
+0

ありがとうございました。複数のAJAX呼び出しから同時にDownloadText()を使用しようとすると、それは起こりますか? –

+0

リソースが複数のアプリケーションによってアクセスまたは変更されている場合は、元のファイルが変更されていないことを確認してください。 –

関連する問題