Storage Emulator

Preview

Sign in during Public Preview to get the Team plan free, plus an early-adopter discount when we launch. Sign in

Storage Emulator

Available on Starter Standard Team Compare plans →

Azure Storage provides storage for your application's data - blobs (such as files and images), file shares, queues and tables.

Locally supports both provisioning Storage Accounts and managing the data within them (such as blobs, file shares, queues and tables) - so you can fully test your application against it.

When you provision a Storage Account in Locally, each service gets its own endpoint - such as https://<account>.blob.core.storage.locally:5660 - which you can connect to using the account's connection string, from the Azure Storage SDKs and the az storage commands.

Plugin required

This requires the Microsoft.Storage plugin, which you can install with:

$ locally plugin install --name Microsoft.Storage

Finding the Emulator

Once a Storage Account has been created, you can find the endpoint for each service on its resource page within the Locally Dashboard:

Screenshot of a Storage Account in the Locally Dashboard, showing the endpoint for each Storage service

The Storage Emulator

Within the Storage Emulator you can create containers, and upload, download, rename and delete blobs within them:

Screenshot of the Blob service in Locally's Storage Emulator, showing the containers in a Storage Account

File shares work the same way, with directories and files:

Screenshot of the File service in Locally's Storage Emulator, showing the file shares in a Storage Account

And you can add, edit and delete the messages in a queue, or the entities in a table:

Screenshot of a queue in Locally's Storage Emulator, showing its messages with their dequeue counts, and the actions to view, edit and delete a message

Blob containers, file shares, queues and tables created in the Storage Emulator, the Azure CLI or the Azure SDKs also appear on the Storage Account's resource page in the Locally Dashboard:

Screenshot of a Storage Account in the Locally Dashboard, showing its configuration, and its blob containers, file shares, queues and tables

What's Supported

The Storage emulator supports:

Blob Data Lake Gen2 File Shares Queues Tables Static Website Change Feed Versioning & Soft Delete Immutability Policies

As of Locally v2026.09.02, API versions from 2018-03-28 to 2026-12-06 are supported for the Storage data plane.

Authentication is supported using a Microsoft Entra token (with a role such as Storage Blob Data Contributor), the account's access keys, or a SAS (account, service or user delegation).

Chaos Engineering (on the Team plan) can throttle, fail, slow down or drop requests - or simulate a regional outage - so you can check your application copes when Storage doesn't.

Storage also works with Locally's other emulators, as you'd expect - for example:

Examples

The locallybuild/examples repository has examples that provision a Storage Account in Locally using:

Differences from Azure

As of Locally v2026.09.02, the Storage emulator has the following differences from Azure:

  • Lifecycle management policies aren't applied, so blobs aren't moved between tiers or deleted on a schedule. Blob expiry is stored, but doesn't delete anything either.
  • Copies complete straight away, rather than reporting pending first. Rehydrating an archived blob is also immediate.
  • Query Blob Contents doesn't support aggregates (COUNT, SUM...), LIKE, IN or CAST - a query using them is rejected.
  • Storage Analytics metrics aren't recorded, though logging to $logs is.
  • Object replication, encryption scopes, SFTP and NFS aren't available, and file shares can't be mounted over SMB.
  • The sip (allowed IP range) on a SAS isn't checked.

Should you encounter any issues, please take a look at the troubleshooting section.

Preview

Sign in during Public Preview to get the Team plan free, plus an early-adopter discount when we launch. Sign in

A local cloud for you and your agents.

Your Azure infrastructure, running on your machine. Deploy in seconds, break things freely, and ship to Azure when you're ready.