A lightweight server clone of Azure Blob, Queue, and Table Storage that simulates most of the commands supported by it with minimal dependencies.
We are maintaining this fork because the upstream has not deployed new packages since 2.6.5 despite having released code for 2.6.7
For now, we are just deploying updated Docker images. Raise an Issue if you would like to see us host the NPM package as well
Update: Azurite has resumed pushing out packages (see here: Azure#94 (comment))
As such we recommend using the official fork and packages and will no longer produce builds. We do not plan on removing ironmoosedevelopment/azurite 2.6.7
from Docker Hub so as to prevent breaking any code that depends on it.
Azurite 2.6.7 is available at Docker Hub and ready to be pulled with:
$ docker pull ironmoosedevelopment/azurite
Please note that the latest
tag will always refer to 2.6.7
To build the Docker image yourself, execute the following:
$ docker build -t ironmoosedevelopment/azurite .
To run the Docker image, execute the following command:
$ docker run -d -t -p 10000:10000 -p 10001:10001 -p 10002:10002 -v /path/to/folder:/opt/azurite/folder ironmoosedevelopment/azurite
By default, the container starts all services available (currently blob, queue, and table).
Using the environment variable executable
, specific executables can be specifed:
blob
Start the Blob Storage Emulator onlyqueue
Start the Azure Queue Storage Emulator onlytable
Start the Azure Table Storage Emulator only
$ docker run -e executable=blob -d -t -p 10000:10000 -v /path/to/folder:/opt/azurite/folder ironmoosedevelopment/azurite
To perform blob storage operations using the 2.0 Azure cross-platform CLI, you need to operate with the appropriate connection string. The values within are based on the hardcoded Azure Storage Emulator values.
Example command to create a container:
$ az storage container create --name 'test' --connection-string 'DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;'
{
"created": true
}
-a
Enables sharedkey authentication check
-l c:\tmp\emulatorPath
--location c:\tmp\emulatorPath
Allows the specification of a path
--blobPort 101000
Sets the TCP Port for blob storage to the value following the argument.
--queuePort 10001
Sets the TCP Port for queue storage to the value following the argument.
--tablePort 10002
Sets the TCP Port for table storage to the value following the argument.
If you are interested in making a code contribution, please make it to the upstream. We will pull all new releases into this fork.
Currently, Azurite only supports the Blob Storage APIs, the Queue Storage API, and the Table Storage API.
Support for Azure Storage Files is planned, but currently not available.
The Standard Emulator Connection String is the same as required by Microsoft's Official Storage Emulator:
BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;
QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;
TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;
All DONE except:
-
Account SAS Support [TODO]
See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-an-account-sas for specification -
Get Blob Service Stats [TODO]
Retrieves statistics related to replication for the Blob service. This operation is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the storage account. -
Set Blob Tier [TODO] The Set Blob Tier operation sets the tier on a blob.
All DONE.
ALL DONE except:
- Get Table ACL [TODO]
- Set Table ACL [TODO]
- Entity Group Transaction (Batch Operation) [TODO]