provcat.stores.azure

Azure Blob Storage and ADLS Gen2: az://account/container/key.

It needs the azure extra: pip install provcat[azure]. An ADLS Gen2 account, one with a hierarchical namespace, is read through the same Blob API.

Options, all optional:

Without a connection string, credentials come from DefaultAzureCredential: the environment, a managed identity, or az login. The identity needs the role Storage Blob Data Reader to read, and Storage Blob Data Contributor to write, commit or branch. Do not put keys in the provcat configuration.

The version of a file is its ETag. A download returns the ETag of the bytes it sent, so the cached bytes always match the version recorded. On an ADLS Gen2 account, the folders are also blobs, marked with the metadata hdi_isfolder. The listings leave them out. ObjectStore in objects.py holds the rest.