Blob storage is just for storing a blob. What is a blob? It is a binary file that contains whatever you want. There is no such thing as "folders" in blob storage.
However because people like to think of it as a virtual file system you can emulate "folders". When you name your blob include the "folder" name in the filename. For example if you want mydata.pdf
to be under a company/product
folder then upload the blob file with a name of company/product/mydata.pdf
. The container itself it is just a collection of blobs and if you were to query for the blobs in the container you'd get this file back. But many people treat this as a virtual file system and the newer Azure Storage Explorer tool has switched to this view as well. In ASE if you look at a container then it'll render a folder-like structure based upon the names of the blobs stored in it.
But remember that blob storage has no concept of folders so this is a virtual thing. You cannot do folder-like actions in a container. Some examples would include renaming a folder. To rename a "folder" you'd have to rename all the blobs that had the name in their path. This, of course, gets difficult if you're renaming a middle folder. You cannot delete a folder and all files in it. Again, you'd have to enumerate all the blobs and delete those that had a filename that matched.
You also cannot efficiently enumerate a folder structure without having to enumerate all the blobs because the filenames contain the paths. If you're using Azure SDK for .NET (at least 12.13+) then they did add a method GetBlobsByHierarchy
which hides some of these details from you but at the end of the day the more blobs you store in the container the slower this is going to be.
Refer to the official docs for current Azure storage limitations. You can have any # of containers in a single storage account but storage accounts have a max size and the containers cannot exceed that total size.