Azure存储模拟器400错误请求(redux)

时间:2017-08-17 17:01:17

标签: visual-studio azure azure-storage

在VisualStudio 2017和2015中,当我使用CloudBlobClient“UseDevelopmentStorage = true”尝试CreateIfNotExists()时,我收到400 Bad Request。当我将连接更改为指向实时Azure存储帐户时,它可以正常工作

open Microsoft.WindowsAzure
open Microsoft.WindowsAzure.Storage
open Microsoft.WindowsAzure.Storage.Blob
let storageAccount = CloudStorageAccount.Parse("UseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://127.0.0.1;")
    //let storageAccount = CloudStorageAccount.Parse("UseDevelopmentStorage=true")  //also tried formatting the connection string this way
    //let storageAccount = CloudStorageAccount.Parse("UseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://127.0.0.1:10000;") //also tried this
let blobClient = storageAccount.CreateCloudBlobClient()
let container = blobClient.GetContainerReference("contactinput")
container.CreateIfNotExists() 
|> ignore

有关此主题的先前问题已由

解决

1)容器名称不正确,通常是大写字母

(这不是这种情况,特别是因为它指向实时Azure存储)

2)本地开发存储无法正常启动的问题

(这不是这种情况,因为我可以通过Microsoft Storage Explorer连接到本地存储,甚至可以通过Server Explorer连接到Visual Studio内)

3)模拟器,SDK和存储DLL之间的不兼容性

(推荐的解决方案是“最新”)

这是我的设置:

Azure .NET SDK v2.9

Windows Azure存储模拟器5.1.0.0

Microsoft.WindowsAzure.Storage DLL 8.3.0

除了有一个SDK v2.9.6之外,我最好能说出这些都是最新的。我找不到下载此版本SDK的链接,所有在线链接似乎都指向我完整的VS2017安装。

无论如何,这样一个小的SDK修订都不太可能是我的问题的根源。关于我的问题可能有什么其他建议吗?

2 个答案:

答案 0 :(得分:3)

最新的存储模拟器版本为5.2,它支持存储客户端8.3使用的最新服务版本。你可以在这里获得最新版本:

https://go.microsoft.com/fwlink/?LinkId=717179&clcid=0x409

答案 1 :(得分:0)

我个人使用

CloudStorageAccount storageAccount = CloudStorageAccount.DevelopmentStorageAccount

设置开发帐户,因为它确保所有内容都设置正确,同时确保每个容器都是小写的,我收到了400错误的请求错误,因为我发送了一个请求" testContainer&#34 ;当我使用" testcontainer"时,错误停止显示代替。