【发布时间】:2015-08-28 16:24:02
【问题描述】:
我遇到了许多人在访问 Azure blob 存储时发布的“400 bad request”错误。大多数修复与更新 13 年末或 14 年的 Azure SDK 和存储模拟器版本有关,但从那时起已经有几个后续版本。
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("blabla");
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
CloudBlockBlob blockBlob = container.GetBlockBlobReference(id);
string x = blockBlob.DownloadText(); // <-- Problem happens here
我运行正常,然后 某事 更改导致此错误开始。
- 这似乎不是命名问题 - 我的存储容器全是小写和 12 个字符
- 这不是模拟器 - 我什至没有使用它
为 Windows Azure 存储库运行 Visual Studio 2013 社区版、Azure SDK 2.6 和 4.3.0 版 NuGet 包。 (我试过去最新的 3.x 版本,但同样的问题。)
此外,为了确保我是干净的,我删除了所有版本的 Azure SDK 和本地工具,并重新安装了 Azure SDK 2.6。
【问题讨论】:
-
尝试通过 Fiddler 跟踪您的请求/响应。您将获得有关该错误的更多信息。
-
@GauravMantri 好点。 Fiddler 显示 http 400“请求输入之一超出范围”。容器名称是“mycontainer”,所以应该没问题。 id 字符串是“abc123”,所以没关系。使用 Azure 存储资源管理器,我删除了 blob 和容器,并使用相同的名称重新创建了它们,并且代码执行没有错误。这个问题可能会再次发生,因为我实际上并没有在这里“解决”任何问题。 :) 我做了“重启”的方法。
标签: azure azure-storage azure-blob-storage