0

我正在尝试访问天蓝色堆栈的数据存储。以下说明有效:

BlobClient = StorageAccount.CreateCloudBlobClient();
CloudBlobContainer myContainer = BlobClient.GetContainerReference("mycontainer");

但是当通过以下方式创建 Blob 时它会崩溃myContainer.CreateIfNotExists()

...StatusMessage: HTTP 标头之一的值格式不正确。\r\n ErrorCode:\r\nErrorMessage: HTTP 标头之一的值格式不正确。\n RequestId: “隐藏身份”...

队列和表的行为完全相同。

我在其旧版本 7.2.1、版本 8.7 和当前版本 9.1 中尝试了“Microsoft.WindowsAzure.Storage”库。(关于这个文档,8.7 应该没问题。另一个文档甚至说,6.2.0 和 8.7.0 之间的每个版本都应该兼容。肯定不支持 9.1。)最后总是出现上述错误。

当针对公共 Azure 存储而不是 Azure Stack 存储时,代码运行良好。

4

2 回答 2

2

所以我终于在微软的支持下找到了解决方案。

这确实是一个版本控制问题,当以正确的方式理解此文档时可以发现。

我正在使用 Azure Stack 版本1.0.180103.2。这是内部版本号,表示它是在 2018 年 1 月 3 日创建的。这指的是版本 1801,在文档中使用的版本控制方案中。

API 版本 8.7 仅从 1802 年开始有效。所以我必须在“上一个”下查看该文档页面的底部。可以看到我必须回到“Microsoft.WindowsAzure.Storage”库 6.2。使用这个库它可以工作。

于 2018-03-25T20:13:52.643 回答
0

如果BlobRequestOptionsOperationContext尚未设置,则可能会导致此错误,您能否为两者提供值然后再次检查?该文档可以在这里找到:https ://docs.microsoft.com/en-us/dotnet/api/microsoft.windowsazure.storage.blob.cloudblobcontainer.createifnotexists?redirectedfrom=MSDN&view=azure-dotnet#overloads

于 2018-03-22T16:13:21.693 回答