2017-08-09 10 views
1

私は処理したいブロブのシリーズを持っています。私のプログラムは次のように例外をスロー、404エラーを取得している:C#Azureブロブストレージからブロブを取得しない

ErrorCode:BlobNotFound 
ErrorMessage:The specified blob does not exist. 

コンテナ上のアクセスポリシーが正しく設定されている、と私は私のブラウザに記録されたURIを貼り付けたときに(例えば、この:https://atpblob.blob.core.windows.net/darkskydata/plot1251time2010-01-02t00:00:01z.json)、それは罰金をダウンロードします。

Console.WriteLine(daily.BlobUri); 
CloudBlockBlob blockBlob = container.GetBlockBlobReference(daily.BlobUri); 
string text; 
using (var memoryStream = new MemoryStream()) 
{ 
    blockBlob.DownloadToStream(memoryStream); 
    text = System.Text.Encoding.UTF8.GetString(memoryStream.ToArray()); 
} 
Console.WriteLine(text); 

私が間違っているのは何:

ここでは、関連するコードはありますか?

答えて

3

私はこの問題は、次のコード行であると信じて:

CloudBlockBlob blockBlob = container.GetBlockBlobReference(daily.BlobUri); 

あなたはGetBlockBlobReferenceのドキュメントを見てみると、予想されるパラメータは、実際にブロブの名前ではなくURLです。

blobの名前に変更してください。テストの目的で、次のコードを試してください:

CloudBlockBlob blockBlob = container.GetBlockBlobReference("plot1251time2010-01-02t00:00:01z.json"); 

エラーは発生しません。

関連する問題