Lazvard.Message.Amqp.Server
1.2.0
See the version list below for details.
dotnet add package Lazvard.Message.Amqp.Server --version 1.2.0
NuGet\Install-Package Lazvard.Message.Amqp.Server -Version 1.2.0
<PackageReference Include="Lazvard.Message.Amqp.Server" Version="1.2.0" />
paket add Lazvard.Message.Amqp.Server --version 1.2.0
#r "nuget: Lazvard.Message.Amqp.Server, 1.2.0"
// Install Lazvard.Message.Amqp.Server as a Cake Addin #addin nuget:?package=Lazvard.Message.Amqp.Server&version=1.2.0 // Install Lazvard.Message.Amqp.Server as a Cake Tool #tool nuget:?package=Lazvard.Message.Amqp.Server&version=1.2.0
Lazvard Message is an AMQP server simulator that is unofficially compatible with Azure Service Bus.
Setup
You need to have .NET 8 installed on your operating system to run this project. You can download it from here.
Since this application is not signed, you may encounter issues running it. The simplest way to run the project is to clone and build it on your operating system:
git clone https://github.com/PejmanNik/lazvard-message.git cd lazvard-message dotnet run --project ./src/Lazvard.Message.Cli
Alternatively, you can download the latest version of Lazvard from the release page. At least on Windows, you will need to manually trust the application in Microsoft's SmartScreen upon first run.
wget https://github.com/PejmanNik/lazvard-message/releases/download/v0.1.0/win-x64.zip
The application will create a default config file if it's not found on the first run. This config file is in TOML format. Before running Lazvard, you need to define all the queues, topics, and subscriptions in the config file. The AMQP server requires a valid and trusted X.509 certificate (PFX - PKCS #12). On Windows and macOS, the application can create and trust certificates (powered by dotnet dev-certs). However, for Linux, you will need to manually set the certificate as trusted.
It's important to note that Lazvard is stateless, meaning that once you close it, all messages and information will be lost.
Different behavior
In addition to the standard AMQP protocol, the simulator's behavior largely relies on reverse engineering the Azure Service Bus client library and test suite. As a result, it is possible to encounter varying behaviors between the simulator and the actual Service Bus. If you come across any inconsistency, please create an issue with a failed test case or at least provide a sample code illustrating the misbehavior.
Not Included
While the primary goal of this project is to simulate all Azure Service Bus behaviors and features, there are currently some features that are not included:
- Message Sessions (In progress ⛏️)
- Scheduled messages
- Transactions
- Duplicate detection
- Messages Expiration
- Topic filters and actions
- Autoforwarding
Etymology
Lazvard (LAZH-vard) is an alternative pronunciation of lazuli in Persian, and lazuli refers to a vivid blue mineral from which the color Azure derives its name.
The color azure ultimately takes its name from the intense blue mineral lapis lazuli. Lapis is the Latin word for "stone" and lāzulī is the genitive form of the Medieval Latin lāzulum, which is taken from the Arabic لازورد lāzaward, itself from the Persian لاژورد lāžaward, which is the name of the stone in Persian and also of a place where lapis lazuli was mined
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- Iso8601DurationHelper (>= 1.1.0)
- Microsoft.Azure.Amqp (>= 2.6.4)
- Microsoft.Extensions.Logging.Console (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.