我在Azure的存储模拟器的单元测试中运行以下代码,并在尝试创建容器时收到StorageException:
var connectionString = @"DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==";
var account = CloudStorageAccount.Parse(connectionString);
var client = account.CreateCloudBlobClient();
var container = client.GetContainerReference("my-container");
container.CreateIfNotExists();
存储模拟器正在运行,Blob服务应该在以下位置运行:
http://127.0.0.1:10000/
例外是:
Microsoft.WindowsAzure.Storage.StorageException:远程服务器 返回错误:(403)禁止。
有什么想法?这可能来自单元测试吗?
答案 0 :(得分:10)
请更改您的连接字符串:
var connectionString = @"DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==";
到
var connectionString = "UseDevelopmentStorage=true";
这应该照顾你所面临的问题。
答案 1 :(得分:0)
container.SetPermissions(
new BlobContainerPermissions
{
PublicAccess =
BlobContainerPublicAccessType.Blob
});
初始化连接时。 但首先,使用Client for Storage并使用Client更改容器的权限。
适合我;)