Azure Storageの「RA-GRS」のセカンダリについて質問があります。
ストレージを「RA-GRS」に設定して、接続をセカンダリオンリーに設定して
正しく読み取れるか確認していたのですが、一部のストレージのみ
エラーが発生してしまいます。
試したコードは以下の通りです。
Dim credential As StorageCredentials = New StorageCredentials(ACCOUNT, ACCKEY)
Dim account As CloudStorageAccount = New CloudStorageAccount(credential, True)
Dim client As CloudBlobClient = account.CreateCloudBlobClient()
client.DefaultRequestOptions.LocationMode = LocationMode.SecondaryOnly
client.DefaultRequestOptions.RetryPolicy = New ExponentialRetry(TimeSpan.FromSeconds(3), 2)
Dim container As CloudBlobContainer = client.GetContainerReference("backup")
Dim blob As CloudBlockBlob = container.GetBlockBlobReference("20180825.bak")
Try
blob.FetchAttributes() '' エラー
MessageBox.Show(blob.Properties.Length.ToString())
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
これを実行すると、「リモートサーバーがエラーを返しました: (500) 内部サーバーエラーです」と
例外エラーが発生してしまいます。何度もやり直して同じ結果になります。
上記は「FetchAttributes」で試していますが、DownloadToFileなど
他のメソッドも同様にエラーになります。
現在、6個のストレージアカウントを作成しており、このエラーが発生するのは
2個のみで、その他のストレージは問題ありません。
この2個と他の違いは、作成した時期が2014年と最も古いということです。
たぶん、クラシックポータルサイトの時に作成したものだと思います。
今、新しくストレージを作成して、RA-GRSに設定して試しても
問題ありません。
原因を調べる方法、または解決策があれば教えてください。
よろしくお願い致します。
※
・Visual Studio 2010 VB.NET 4.0
・Microsoft.WindowsAzure.Storage.dll v4.3