Azure 저장소에서 blob을 읽는 코드 (UWP 앱에서)가 있습니다. 연결할 수 있고 컨테이너를 열거하고 BLOB을 찾을 수 있지만 다운로드하려고 할 때 예외가 발생합니다. 지정한 BLOB가 없습니다.지정한 Blob이 존재하지 않습니다. DownloadToStreamAsync를 사용합니다.
Azure 포털을 사용하면 컨테이너를 탐색 할 수 있습니다. 블롭을보고 대화식으로 다운로드 할 수도 있습니다. URL을 확인한 후 일치합니다. 동일한 컨테이너의 다른 폴더에 다른 모양을 넣었으므로 코드가 제대로 다운로드합니다.
블롭은 스트림 애널리틱스 작업을 통해 자동으로 만들어지며 다른 블롭이 생성 된 것과 같습니다.
string csvText = null;
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CONNECTION_STRING);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference(CONTAINER_NAME);
OperationContext context = new OperationContext();
BlobRequestOptions options = new BlobRequestOptions();
string prefix = string.Format("{0}/{1:yyyy/MM/dd/HH}", ROOT_FOLDER, SAMPLE_DATE); // ex: telemetry/2016/12/31/22
var blobs = await container.ListBlobsSegmentedAsync(prefix, true, BlobListingDetails.All, null, null, options, context);
CloudBlockBlob item = blobs.Results.FirstOrDefault() as CloudBlockBlob; // <<<< I see the blob here.
using (var memoryStream = new MemoryStream())
{
await item.DownloadToStreamAsync(memoryStream); // <<<< The specified blob does not exist.
csvText = System.Text.Encoding.UTF8.GetString(memoryStream.ToArray());
}
편집 : 스택 추적은 :
Source Microsoft.WindowsAzure.Storage
at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.<ExecuteAsyncInternal>d__c`1.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.WindowsAzure.Storage.Blob.CloudBlob.<>c__DisplayClass11.<<DownloadRangeToStreamAsync>b__10>d__13.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at HomeControl.Views.Historical.<LoadData>d__7.MoveNext()
은 내가 피들러 추적을 얻으려고 노력하지만, UWP 응용 프로그램과 함께 그것을 사용하는 데 문제가 있었다. 이 오류를 해결하는 방법에 대한 제안 사항이 있으십니까?
감사
요한 복음