Azure Storage
| We only support hierarchical namespaces, make sure the storage container is configured as such. |
Configuration
To get access to your Azure storage files you need to configure a few things:
-
The name of your storage account in Azure
-
The key of your storage account in Azure
You can find both in the Storage Accounts section of your Azure portal.
-
A file block size : This needs to be a multiple of 512 bytes.
All 3 options can be set in either the Hop GUI options dialog (Menu: Tools / Options) or using the following Hop Conf (hop-conf.sh or hop-conf.bat) command line options:
-aza, --azure-account=<account>
The account to use for the Azure VFS
-azi, --azure-block-increment=<blockIncrement>
The block increment size for new files on Azure,
multiples of 512 only.
-azk, --azure-key=<key>
The key to use for the Azure VFS Once done you will see an azure entry in the central hop-config.json file:
{
"azure" : {
"account" : "storage-account-name",
"key" : "a/key-comprised-of-a-long-set-of-characters-and-numbers==",
"blockIncrement" : "1024"
}
} Authentication types
An Azure connection in the metadata perspective can authenticate in three ways, selected with the Authentication Type option. Connections that predate this option keep working: an empty authentication type is treated as Key.
| Authentication Type | What you provide | When to use it |
|---|---|---|
| The storage account key | Simplest to set up. The key grants full, non-expiring access to the whole storage account. |
| Nothing | Runs on Azure with a managed identity, or locally through the Azure CLI ( |
| A shared access signature | Access is limited to the resources, permissions and expiry encoded in the signature, so it avoids handing out a long lived account key. |
SAS token
A shared access signature is the approach Microsoft recommends for application level access to Azure Storage, because it can be scoped and given an expiry rather than granting unrestricted access to the account.
Generate one in the Azure portal under Shared access signature for the storage account, or with az storage account generate-sas, then paste the query string into the SAS Token field:
sv=2022-11-02&ss=b&srt=co&sp=rl&se=2026-12-31T00:00:00Z&sig=... A leading ? is accepted and may be left in place. Do not paste a full URL — only the query string portion is expected.
The token is stored as a password in the connection metadata, which means it is encrypted at rest and masked in the UI, and it can be supplied through a variable so it does not have to be committed to a project at all.
A signature stops working once it expires, and Hop reports the resulting failure as an authentication error. Renew the token, or use Managed Identity where you want credentials that rotate for you. |
Usage and testing
To test if the configuration works you can simply upload a small CSV file in an Azure Storage folder and then use File/Open in Hop GUI. Then you type in azure:// as a file location and hit enter (or click the refresh button). Browse to the CSV file you uploaded and open it. If all is configured correctly you should be able to see the content in the Hop GUI.