簡體   English   中英

C#沒有從Azure blob存儲中檢索blob

[英]C# not retrieving blob from Azure blob storage

我有一系列我想要處理的blob。 我的程序收到404錯誤,拋出這樣的異常:

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);

我究竟做錯了什么?

我相信問題在於以下代碼行:

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

如果查看GetBlockBlobReference文檔,預期的參數實際上是blob的名稱而不是URL。

請嘗試將其更改為blob的名稱。 出於測試目的,請嘗試以下代碼:

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

你不應該得到一個錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM