以编程方式创建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对象的实例。 要在存储帐户中创建容器,您需要在此对象上调用CreateIfNotExistsCreate函数。

请尝试使用此代码:

 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(); }