指定的容器不存在

2024-02-27

我陷入了这个错误The specified container does not exist.

让我解释,

CloudBlobClient blobStorage = GetBlobStorage("upload");
CloudBlockBlob blob = BlobPropertySetting(blobStorage, Guid.NewGuid().ToString().ToLower() + Path.GetExtension(file.FileName));
blob.UploadFromStream(file.InputStream);

public static CloudBlobClient GetBlobStorage(string cloudBlobContainserName)
{
    CloudBlobClient blobStorage;

    try
    {
        var storageAccount = CloudStorageAccount.FromConfigurationSetting("StorageConnectionString");
        blobStorage = storageAccount.CreateCloudBlobClient();
        CloudBlobContainer container = blobStorage.GetContainerReference(cloudBlobContainserName); 

        container.CreateIfNotExist();

        var permissions = container.GetPermissions();
        permissions.PublicAccess = BlobContainerPublicAccessType.Container;

        container.SetPermissions(permissions);
    }
    catch (Exception ex)
    {
        Logger.LogError(Log4NetLogger.Category.Exception, "Error in : BlobHandler.GetBlobStorage :>> Exception message: " + ex.Message);
        throw;
    }

    return blobStorage;
}

public static CloudBlockBlob BlobPropertySetting(CloudBlobClient cloudBlobClientReferenceName, string blobContentName)
{
    return cloudBlobClientReferenceName.GetBlockBlobReference(blobContentName);
}

and my StorageConnectionString is

<Setting name="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=duw;AccountKey=bla bla" />

容器“upload”和存储帐户“duw”存在。

执行blob.UploadFromStream(file.InputStream);语句导致错误。

堆栈跟踪 :

在 Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.get_Result() 在 Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.ExecuteAndWait() 在 Microsoft.WindowsAzure.StorageClient.TaskImplHelper.ExecuteImpl(Func`1 impl) 在 Microsoft.WindowsAzure.StorageClient.CloudBlob.UploadFromStream(流源,BlobRequestOptions 选项) 在 Microsoft.WindowsAzure.StorageClient.CloudBlob.UploadFromStream(流源) 在 D:\DU Server\trunk\Du Server\DAL\Handlers\BlobHandler.cs 中的 DAL.Handlers.BlobHandler.CreateAd(HttpPostedFileBase 文件,广告模型):第 151 行

内部异常:

{"The remote server returned an error: (404) Not Found."}

任何人都可以帮我解决这个问题吗?


简洁版本

尝试以下代码BlobPropertySetting功能:

 public static CloudBlockBlob BlobPropertySetting(CloudBlobClient cloudBlobClientReferenceName, string blobContentName)
    {
        CloudBlockBlob blob = cloudBlobClientReferenceName.GetBlockBlobReference("upload/" + blobContentName);
        return blob;
    }

现在是更长的版本:)

您收到此错误的原因是您构建的方式CloudBlockBlob对象在BlobPropertySetting方法。当您使用代码时,它会创建一个具有以下 URI 的 blob 对象:https://duv.blob.core.windows.net/blobContentName。如果您注意到,那里没有容器名称。由于没有容器名称,存储客户端库假设您正在尝试在以下位置创建 blob$rootBlob 容器是一种特殊的 Blob 容器。你可以在这里读更多关于它的内容:http://msdn.microsoft.com/en-us/library/windowsazure/hh488356.aspx http://msdn.microsoft.com/en-us/library/windowsazure/hh488356.aspx。由于您的存储帐户没有此容器,因此您会得到404 - Resource Not Found error.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

指定的容器不存在 的相关文章

随机推荐

  • 使用 NavGraph 从另一个 Fragment 切换回来时,包含 ViewPager 的 Fragment 会重新加载 - Jetpack Navigation

    下面提供了 TLDR 我有一个复杂的活动片段结构 之前是 3 个活动 现在转换为三个片段 因为它复杂 繁重并且需要交换大量数据 所以我将其更改为基于新的导航 UI 的结构 查看 Google 的向日葵 它现在更干净 工作速度更快更好 My
  • 超集地图框工具提示的个性化

    根据超集拉取请求 可以使用一些 JavaScript 来个性化地理数据的工具提示 我尝试了很多方法来将点数据获取到工具提示 但没有一个起作用 Superset 在哪里存储额外的 JS 参数 The object props OwnData此
  • 将 d3.layout.force v3 更新为 d3.forceSimulation v7

    我正在尝试将使用 d3js 版本 3 编写的力导向图更新为 d3js 版本 7 以下代码片段是使用 d3js v3 的工作实现 var svg d3 select svg width svg attr width height svg at
  • 正确的 XPath 查询以获取 div 内部文本

    我正在使用 XPath 查询 HTML 文档 其中以下 div 包含文本 div class h1 2008 Honda Accord Coupe div
  • 如何实现标记嵌入的中心损失和其他运行平均值

    最近的一篇论文 here http ydwen github io papers WenECCV16 pdf 引入了一种称为中心损失的二次损失函数 它基于批次中嵌入之间的距离以及每个相应类的运行平均嵌入 TF Google 群组中有一些讨论
  • OpenGL 或 OpenGL ES [重复]

    这个问题在这里已经有答案了 我应该学什么 OpenGL 4 1 还是 OpenGL ES 2 0 我将使用 Qt 开发桌面应用程序 但几个月后我也可能开始开发移动应用程序 我对 3D 3D 数学等一无所知 我宁愿花 100 美元买一本好书
  • Clojure + Clojurescript:读取当前文件代码的宏

    我已经尝试过的 defmacro magic slurp file 这在 clojure 中工作得很好 但在 clojurescript 中则不然 至少在 lein Figwheel 中不行 原始问题 我需要以下内容才能在 Clojure
  • 如何从列表列表中制作平面列表?

    我有一个列表 例如 1 2 3 4 5 6 7 8 9 我怎样才能把它压平以获得 1 2 3 4 5 6 7 8 9 If your list of lists comes from a nested list comprehension
  • 替换 R 中的单反斜杠

    我已经在堆栈溢出中阅读了有关此主题的一些问题和答案 但仍然不知道如何解决此问题 我的目的是将Windows资源管理器中的文件目录字符串转换为R中可识别的形式 例如C Users Public 需要转换为 C Users Public 基本上
  • 同一应用程序在单个设备上的开发和生产版本

    请建议如何解决需要在一台设备上安装两次同一应用程序的问题 需要一个用于开发 一个在生产中用于测试和使用 这样做的简单方法是什么 我尝试手动更改包名称 但这会导致合并时出现痛苦 如果您使用 ADT v 20 您可以轻松更改包名称 只需右键单击
  • 测试 FormArray

    我有一个PhoneNumbersFormComponent其模板如下所示 div div div div
  • 如何编写更新查询来减去某个值?

    在 sql 查询中准备语句的情况下 这是执行减法运算的正确方法吗 sql UPDATE users set credits credits price WHERE username 根据 price 的值减去用户积分的代码 price ro
  • Rmarkdown/knitr subfigure 不同的图形尺寸

    我试图在 Rmarkdown 中实现子图的不同高度和宽度 我希望只是提供fig height and fig width每个向量都可以工作 因为这似乎确实适用于out height and out width title Untitled
  • 从自定义属性修饰的属性中获取价值?

    我编写了一个自定义属性 用于类的某些成员 public class Dummy MyAttribute public string Foo get set MyAttribute public int Bar get set 我可以从类型中
  • Java Swing - 从另一种方法设置 Jlabel 文本

    我对 Java 和 Swing 还很陌生 我正在使用 Windowbuilder 来尝试我的一些 GUI 想法 但在尝试设置 Jlabel 的文本时遇到了问题 Windowbuilder 在initialize 方法中自动创建了一个名为pa
  • Java 构造函数链接 [重复]

    这个问题在这里已经有答案了 你好 我刚刚学习 Java 中的构造函数链 并且有一些问题 首先 有人可以解释一下我什么时候需要使用这个吗 我真的无法想象出一种情况 在此示例中 在没有参数的构造函数中 我调用另一个构造函数 我如何访问这个新的
  • bitbucket 剥离了 git 修订

    推送到 bitbucket 后 我 的同事提交被删除 并且 bitbucket 新闻源上出现一条消息 stripped 6f9de58aa748 from projektA 4 hours ago stripped 54dae89de600
  • Android 本机代码如何针对多种处理器类型?

    据我了解 Android 上的本机代码是直接与特定设备的处理器一起工作的代码 因此 如果我想利用某个处理器 我会使用本机代码 但是 如果我想制作一个包含本机代码但面向多个处理器的应用程序 会发生什么情况 我是否必须制作多个应用程序 每个架构
  • 如何将图像重置到原始位置

    我正在使用 TouchImageView 类 位于https github com MikeOrtiz TouchImageView https github com MikeOrtiz TouchImageView 我使用这个类对我的图像
  • 指定的容器不存在

    我陷入了这个错误The specified container does not exist 让我解释 CloudBlobClient blobStorage GetBlobStorage upload CloudBlockBlob blo