以编程方式创建blob存储容器
我有一个要求,在创建公司时,我的storageaccount中创建了一个关联的blob存储容器,容器名称设置为传入的字符串变量。我尝试了以下操作:
public void AddCompanyStorage(string subDomain) { //get the storage account. CloudStorageAccount storageAccount = CloudStorageAccount.Parse( System.Configuration.ConfigurationManager.AppSettings["StorageConnectionString"].ToString()); //blob client now CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); //the container for this is companystyles CloudBlobContainer container = new CloudBlobContainer("https://mystore.blob.core.windows.net/" + subDomain); }
然而,这并没有像我预期的那样创建容器,我是否以错误的方式进行此操作? 这可能吗?
干杯
public void AddCompanyStorage(string subDomain) { //get the storage account. CloudStorageAccount storageAccount = CloudStorageAccount.Parse( System.Configuration.ConfigurationManager.AppSettings["StorageConnectionString"].ToString()); //blob client now CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); //the container for this is companystyles CloudBlobContainer container = blobClient.GetContainerReference(subDomain); //Create a new container, if it does not exist container.CreateIfNotExists(); }
按照guidline获取容器名称:
- 容器名称必须是有效的DNS名称,符合
以下命名规则:容器名称必须以字母或开头
数字,并且只能包含字母,数字和短划线( – )
字符。 -
每个短划线( – )字符必须紧跟在字母或数字之后; 容器名称中不允许使用连续短划线。
-
容器名称中的所有字母必须为小写。
-
容器名称长度必须为3到63个字符。
CloudBlobContainer container = new CloudBlobContainer("https://mystore.blob.core.windows.net/" + subDomain);
这只是创建一个CloudBlobContainer
对象的实例。 要在存储帐户中创建容器,您需要在此对象上调用CreateIfNotExists
或Create
函数。
请尝试使用此代码:
public void AddCompanyStorage(string subDomain) { //get the storage account. CloudStorageAccount storageAccount = CloudStorageAccount.Parse( System.Configuration.ConfigurationManager.AppSettings["StorageConnectionString"].ToString()); //blob client now CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); //the container for this is companystyles CloudBlobContainer container = blobClient.GetContainerReference(subDomain); container.CreateIfNotExists(); }