FTP to Azure Blob Storage
But why?
There are already two very good FTP-style Azure Storage clients out there:
http://storageexplorer.com and http://azurestorageexplorer.codeplex.com
Both of them, as @Guarav well pointed out, can use a Shared Access Signature (SAS) to connect to Azure Storage without exposing the account key. You can then use a different SAS for each customer, if you're building a multi-tenant service - although if you think about it - that's not a very sound separation boundary.
I would use a separate storage account for every customer. That way if a storage account gets compromised, it only affects one customer. The following limit applies:
From https://azure.microsoft.com/en-us/documentation/articles/storage-scalability-targets/:
Scalability targets for blobs, queues, tables, and files
Number of storage accounts per subscription: 200
This includes both Standard and Premium storage accounts. If you require more than 200 storage accounts, make a request through Azure Support. The Azure Storage team will review your business case and may approve up to 250 storage accounts.
I came across this now (2022) and noticed that MS is now offering SFTP directly in Azure Storage. The feature is in Preview as of now though.
https://docs.microsoft.com/en-us/azure/storage/blobs/secure-file-transfer-protocol-support
If you are okay with a little programming with Node.js, you can host a FTP server directly backed by Azure Blob.
You can use nodeftpd combined with azure-storage-fs. nodeftpd is the FTP server written in Node.js and support third-party file system manager. azure-storage-fs is a file system manager that is designed to use for nodeftpd and talks to Azure Blob directly.
The file system manager integration code is clearly written under README.md of azure-storage-fs. But you will need to write your own authentication code.