LinuxCommandLibrary

azurite

Simulate Azure Storage services locally

TLDR

Use an existing location as workspace path

$ azurite [[-l|--location]] [path/to/directory]
copy

Disable access log displayed in console
$ azurite [[-s|--silent]]
copy

Enable debug log by providing a file path as log destination
$ azurite [[-d|--debug]] [path/to/debug.log]
copy

Customize the listening address of Blob/Queue/Table service
$ azurite [--blobHost|--queueHost|--tableHost] [0.0.0.0]
copy

Customize the listening port of Blob/Queue/Table service
$ azurite [--blobPort|--queuePort|--tablePort] [8888]
copy

SYNOPSIS

azurite [options]

PARAMETERS

--blobHost <host>
    Sets the host address for the Blob service. Default is 0.0.0.0.

--queueHost <host>
    Sets the host address for the Queue service. Default is 0.0.0.0.

--tableHost <host>
    Sets the host address for the Table service. Default is 0.0.0.0.

--host <host>
    Sets the host address for all services if not specified individually. Default is 0.0.0.0.

--blobPort <port>
    Sets the port for the Blob service. Default is 10000.

--queuePort <port>
    Sets the port for the Queue service. Default is 10001.

--tablePort <port>
    Sets the port for the Table service. Default is 10002.

--port <port>
    Sets the port for all services if not specified individually.

--location <path>
    Specifies the workspace path for data persistence. If not set, data is ephemeral.

--debug <path>
    Enables debug logging to a specified file path.

--silent
    Disables startup and request logs, showing only error logs.

--loose
    Enables loose mode, handling unsupported headers or parameters more leniently.

--cert <path>
    Path to a PEM-encoded TLS certificate file for HTTPS.

--key <path>
    Path to a PEM-encoded TLS private key file for HTTPS.

--oauth <level>
    Sets OAuth authentication level (basic, proxy, or metadata).

--skipApiVersionCheck
    Skips the API version compatibility check, allowing older client SDKs to connect.

--disableProductStyleUrl
    Disables product style URL for blob service.

--connectionString <string>
    Provides a full connection string to configure Azurite.

--version
    Displays the Azurite version number.

--help
    Displays help information and usage details.

DESCRIPTION

Azurite is an open-source, cross-platform storage emulator that mimics the Azure Blob, Queue, and Table storage services. It allows developers to test their applications locally without incurring Azure costs or requiring an internet connection.

Built with Node.js, Azurite is a crucial tool for development workflows involving Azure storage, providing a consistent environment for testing various storage operations like uploading blobs, sending queue messages, or managing table entities. It supports features such as CORS (Cross-Origin Resource Sharing), Shared Access Signatures (SAS), and various authentication methods, making it highly versatile for modern application development.

CAVEATS

Azurite is not a standard, pre-installed Linux command; it requires Node.js and npm (or Docker) for installation. As an emulator, it does not support all advanced features or edge cases of the actual Azure Storage services. It is intended for local development and testing, not for production deployments. Data stored by Azurite is local and ephemeral by default, requiring the --location option for persistence.

INSTALLATION

The most common way to install Azurite on Linux is via Node Package Manager (npm):
npm install -g azurite
Alternatively, it can be run using Docker:
docker run -p 10000:10000 -p 10001:10001 -p 10002:10002 mcr.microsoft.com/azure-storage/azurite

DATA PERSISTENCE

By default, Azurite stores data in memory or a temporary directory, meaning data is lost when the command exits. To persist data across sessions, use the --location option to specify a local directory where Azurite will store its data files.

HISTORY

Prior to Azurite, Microsoft offered the Azure Storage Emulator, which was primarily a Windows-only .NET-based application. With the increasing adoption of cross-platform development, Azurite was developed as its open-source, Node.js-based successor to provide a consistent storage emulation experience across Windows, macOS, and Linux. Its development has focused on mimicking Azure storage APIs accurately to streamline local testing workflows.

SEE ALSO

npm(1), docker(1), azure-cli(1)

Copied to clipboard