Azure Blob Storage is basically designed to store large amounts of unstructured text or binary data like virtual hard disks, videos, images or even log files made up of plain text. Once you have your storage account in place, you will create containers underneath that storage account to hold your blobs. For example, a container named Images to store images for your web application and serve those up to a browser, another named Videos for video files that are going to be streamed from a web application as well.

To access a blob within a container of a blob storage, you have to use a URL of the format Storage Account URL followed by Container Name followed by the actual name of the file.For example: https://demostoarge.blob.core.windows.net/[container_name]/filename

There are three different blob types:

Here in this article first we will create a storage account and have the keys to use it in our application and then a console application, which connects to the storage account and create a container inside it.

Step 1

Login to your Microsoft Azure portal, click on Create new resource and select Storage account - blob, file, table, queue from Storage category to create a Storage account and give the necessary details as follows.

Azure

Step 2

Once the deployment has succeeded, open the resource and click on Access keys and note a key for a later purpose.

Azure

Step 3

Create a new C# Console Application within Visual Studio and name it as BlobDemo.

Azure

Step 4

Once the project is created, install two NuGet Packages named WindowsAzure.Storage and WindowsAzure.ConfigurationManager to your solution. You can do this by selecting Tools > NuGet Package Manager > Manage NuGet Packages for Solution. In the Browse tab search for WindowsAzure.Storage and WindowsAzure.ConfigurationManager to get the packages complete the installation by reviewing the changes and accepting the license term for both.

Azure

Azure

Step 5

Now we have to add the Connection String to the storage account. For that open the App.config file and add following code snippet within the configuration. Replace the [Connection string] with the connection string value you copied in Step 2.
  1. <appSettings>
  2. <add key="StorageConnection" value="[Connection String]" />
  3. </appSettings>

Step 6

Now go to the Program.cs Page and add the following code to the Main method. This code will create a connection with the storage account and create a container named images in our blob storage with a Public (Blob) access type.

  1. //Reference to the ConnectionString in the App.Config file
  2. CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnection"));
  3. CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
  4. CloudBlobContainer container = blobClient.GetContainerReference("images");
  5. container.CreateIfNotExists(BlobContainerPublicAccessType.Blob);
  6. Console.ReadKey();
Add the following namespaces also

  1. using Microsoft.Azure;
  2. using Microsoft.WindowsAzure.Storage;
  3. using Microsoft.WindowsAzure.Storage.Blob;

Azure

Step 7

Click on Start to run the program and you will see a console window waiting for an input as we given Console.Readkey() at the end of the code.
Azure

Step 8

Go back to your storage account and select Blobs service from the overview tab and you can see that we now have an images container there and we can see that the access policy is set to the blob for the container as we set in the code.

Azure
Azure