Azure Service Bus Emulator Overview and Key Features - Azure Service Bus (original) (raw)

The Azure Service Bus emulator offers a local development experience for the Service bus service. You can use the emulator to develop and test code against the service in isolation, free from cloud interference.

Benefits

The primary advantages of using the emulator are:

Features

The emulator provides these features:

Known limitations

The current version of the emulator has the following limitations:

Note

After a container restart, data and entities don't persist in the emulator.

Differences from the cloud service

Because the Service Bus emulator is meant only for development and test purposes, there are functional differences between the emulator and the cloud service.

The emulator doesn't support these high-level features:

Note

The emulator is intended for development and test scenarios, specifically for sequential testing use cases. Don't use the Service Bus emulator for production workloads as it doesn't offer an SLA.

We don't provide any official support for the emulator. Report any problems or suggestions in the emulator's GitHub installer repository.

Usage quotas

Like the Service Bus cloud service, the emulator provides the following quotas for usage:

Property Maximum Value User configurable within limits
Number of supported namespaces 1 No
Number of entities(queues/topics) in a namespace 50 Yes
Number of Subscriptions per topic 50 Yes
Number of correlation filters per topic 1,000 Yes
Number of SQL Filters 20 Yes
Length of filter condition or rule action string 1,024 Yes
Number of expressions per rule action 32 Yes
Number of concurrent connections to namespace 10 Yes
Number of concurrent receive requests on entity (queue/Topic) or subscription entity 200 Yes
Message size 256 KB No
Queue or topic size 100 MB No
Message Time to Live 1hr Yes

Create and manage entities within Service Bus emulator

You can create and manage Service Bus entities - such as queues and topics - by using the Service Bus Administration Client. By default, the emulator runs with the config.json configuration file. You can also make declarative changes to the configuration file as per your needs:

Important

You must supply any changes in JSON configuration before you run the emulator. Changes aren't honored on the fly. For changes to take effect, you must restart the container.

At emulator initialization, settings defined in the configuration file override any entities previously created or modified using the Service Bus Administration Client.

You can't rename the preset namespace (name) in the configuration file.

Logs for debugging

During testing, console or file logs help you debug unexpected failures. To review the logs:

Test locally by using the Azure Service Bus emulator

Service Bus emulator Samples