在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修订都不太可能是我的问题的根源。关于我的问题可能有什么其他建议吗?
答案 0 :(得分:3)
最新的存储模拟器版本为5.2,它支持存储客户端8.3使用的最新服务版本。你可以在这里获得最新版本:
答案 1 :(得分:0)
我个人使用
CloudStorageAccount storageAccount = CloudStorageAccount.DevelopmentStorageAccount
设置开发帐户,因为它确保所有内容都设置正确,同时确保每个容器都是小写的,我收到了400错误的请求错误,因为我发送了一个请求" testContainer&#34 ;当我使用" testcontainer"时,错误停止显示代替。