【问题标题】:C# not retrieving blob from Azure blob storageC# 不从 Azure blob 存储中检索 blob
【发布时间】:2017-08-09 19:33:56
【问题描述】:

我有一系列想要处理的 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);

我做错了什么?

【问题讨论】:

    标签: c# azure azure-blob-storage


    【解决方案1】:

    我认为问题出在以下代码行:

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

    如果您查看 GetBlockBlobReference 文档,预期的参数实际上是 blob 的名称,而不是 URL。

    请尝试将其更改为 blob 的名称。出于测试目的,请尝试以下代码:

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

    你不应该得到错误。

    【讨论】:

      猜你喜欢
      • 2017-04-18
      • 2017-10-12
      • 2016-08-13
      • 2016-08-23
      • 2021-12-23
      • 2013-07-05
      • 2018-05-07
      • 2013-02-26
      • 2016-12-02
      相关资源
      最近更新 更多