Подтвердить что ты не робот

Создание программно-ориентированного хранилища

У меня есть требование, согласно которому при создании компании в моем хранилище хранится связанный контейнер хранения блоков с именем контейнера, установленным на переданную строчную переменную. Я пробовал следующее:

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

Это, однако, не создало контейнер, как я ожидал, не так ли? Возможно ли это?

Приветствия

4b9b3361

Ответ 1

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

Следуйте указаниям для имен контейнеров:

  • Имя контейнера должно быть допустимым DNS-именем, соответствующим значению следующие правила именования: имена контейнеров должны начинаться с буквы или номер и может содержать только буквы, цифры и тире (-)
    характер.
  • Каждому тире (-) персонажу необходимо немедленно предшествовать и следовать письмо или номер; последовательные тире не разрешены в контейнере имена.

  • Все буквы в имени контейнера должны быть строчными.

  • Имена контейнеров должны содержать от 3 до 63 символов.

Ответ 2

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

    }