以下のコードでは、エラー メッセージが表示されます。
指定されたブロブは存在しません
コードをデバッグすると.CreateBlobContainer
、指定された bob が作成されたことがわかります。次に、コードの外側で、テキスト ファイルを手動でコピーして blob に貼り付けました。次に、コードの最後の行に到達すると、.DownloadToStream
例外エラーがスローされます。指定されたブロブが存在しないと言っています。--ボブが存在する場合でも
以下のサンプルコードの何が問題になっていますか:
string testContainerName = "xyz"+Common.GenerateRandomEightCharString().ToLower();
var testBlobClient = BlobClientFactory.CreateBlobClient(true);
var testContainer = BlobClientFactory.CreateBlobContainer(testBlobClient, testContainerName);
var zipOutputStream = new ZipOutputStream(Response.OutputStream)
{
CompressionLevel = CompressionLevel.Default
};
zipOutputStream.CompressionLevel = CompressionLevel.Default;
zipOutputStream.EnableZip64 = Zip64Option.AsNecessary;
CloudBlob testBlob = testBlobClient.GetBlobReference(testBlobClient.BaseUri.ToString() + testContainerName);
zipOutputStream.PutNextEntry(testContainerName);
BlobRequestOptions options = new BlobRequestOptions();
options.Timeout = TimeSpan.FromSeconds(20.0);
testBlob.DownloadToStream(zipOutputStream, options); //Exception error here
例外メッセージは次のとおりです。
Microsoft.WindowsAzure.StorageClient.StorageClientException was unhandled by user code
HResult=-2146233088
Message=The specified blob does not exist.
Source=Microsoft.WindowsAzure.StorageClient
StackTrace:
at Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.get_Result()
at Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.Execute()
at Microsoft.WindowsAzure.StorageClient.RequestWithRetry.RequestWithRetrySyncImpl[TResult](ShouldRetry retryOracle, SynchronousTask`1 syncTask)
at Microsoft.WindowsAzure.StorageClient.TaskImplHelper.ExecuteSyncTaskWithRetry[TResult](SynchronousTask`1 syncTask, RetryPolicy policy)
at Microsoft.WindowsAzure.StorageClient.CloudBlob.DownloadToStream(Stream target, BlobRequestOptions options)
at ............................
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
InnerException: System.Net.WebException
HResult=-2146233079
Message=The remote server returned an error: (404) Not Found.
Source=System
StackTrace:
at System.Net.HttpWebRequest.GetResponse()
at Microsoft.WindowsAzure.StorageClient.EventHelper.ProcessWebResponseSync(WebRequest req, EventHandler`1 handler, Object sender)
InnerException: