There are many ways to store data in Azure, but utilizing Storage Accounts to consolidate the management of Blobs (containers), File Shares, Tables, and Queues makes for easy and efficient management of some of the most useful file storage methods. Out of the four available options, when would you use each of these methods?
Blobs (Containers): Unstructured object storage medium best used for cloud-native workloads. File Shares: Traditional Windows SMB file shares accessible over SMB 3. 0. Tables: A NoSQL key-value store typically used for rapid development. Queues: Asynchronous message queueing for communication between application components.
Each of these technologies has many options and their own unique configurations, but in this article we are going to demonstrate how to simply manage data within each of these options.
Create a Storage Account
Before we can provision any of the above options, we need to first create a Storage account to hold the storage mediums. Navigate to Storage accounts and click on “Add” to start the provisioning wizard.
Give your storage account a name, location, and other performance characteristics based on your needs. For this article, we are going to use all defaults, except the name and location, and once all options are configured click on “Review + Create.”
Navigate to your new Storage Account to see the available options for creating Blobs (Containers), File Shares, Tables, and Queues.
Creating a Container (Blob) Storage
Click on the “Containers” button located at the bottom of the Overview screen, then click on the “+” plus symbol next to Container. Choose a name for your blob storage and click on “Create.”
Once created, you will see some simple options and the ability to Upload objects plus management options.
Externally Connect to Container (Blob) Storage
One of the easiest ways to upload files to Container (Blob) Storage is using the azcopy.exe utility. This allows you to use a Shared Access Signature (SAS) URI to upload the files. Following is an example of using PowerShell with azcopy.exe to upload files. First, let’s create the Shared Access Signature.
Next, copy the Blob service SAS URL as this will be used in the azcopy command.
Finally, using the azcopy utility, copy the files or folders (using the -recursive parameter) using the SAS URL that you previously created.
File Shares
Anyone working in Windows often deals with mounted file shares. Usually, these are located within on-premise file servers. Azure File Shares offers the ability to create a traditional SMB file share that can be connected to via a client supporting the SMB 3.0 protocol.
Similar to how we created a blob share, navigate to the “File Shares” section under the Overview section and click on the “+” plus sign next to the File Share button.
Give the file share a name and choose the appropriate tier. This will give the necessary performance characteristics that you might need depending on your specific application.
Once again, simple file upload and management abilities exist in the file share management section.
Externally Connect to a File Share
Because this is a Windows file share, one of the easiest methods for connecting to this share is to use the provided PowerShell script to create the mounted drive in your local desktop or server environment. This does require port 445 to be open and accessible.
Tables
Azure Storage Tables provide a high-performance key-value store. As prior examples have shown, click on the “Tables” button under the Overview page and click on the “+” plus sign next to the Table button.
Provide a name for the Table and click on “OK” to quickly provision the table for use.
Externally Connect to a Table
The easiest way to connect to a Table externally, if not via the applications internal coding, is to use PowerShell. This requires the Az module and the AzTable module, and there are native cmdlets available for connecting to a Table.
Queues
Finally, Queues provide asynchronous message queues for easy buffered communications between applications. Just like the other services, navigate to the “Queues” button under the Overview section and click on the “+” plus sign next to the Queue button.
Provide a name for the Queue and click on “OK” to quickly provision the queue for use.
Externally Connect to a Queue
The easiest way to connect to a Queue externally, if not via the applications internal coding, is to use PowerShell. This requires the Az module, and because there are no specific cmdlets for interacting with a Queue, the code depends on .NET classes.
Managing Content via Storage Explorer (preview)
Although certain operations can be done in each individual section, by far the easiest and quickest method to manage each of the four options is via the Storage Explorer (preview). As shown below, each of the available options is available, along with the ability to manage data.
Blobs: Upload, Download, Create Folders, Folder Statistics File Shares: Upload, Download, Create Folders, Directory Statistics, Connect VM Queues: View Message, Add Message, Dequeue Message, Clear Queue Tables: Query, Add, Edit, Table Statistics
Conclusion
As you can see there are a number of options for managing Storage Account data storage options for Blobs, File Shares, Queues, and Tables. The ease of management is expanded by the use of the Storage Explorer and easy external share and management options.