Niobium.Messaging.StorageAccount 3.2.23

There is a newer version of this package available.
See the version list below for details.
dotnet add package Niobium.Messaging.StorageAccount --version 3.2.23
                    
NuGet\Install-Package Niobium.Messaging.StorageAccount -Version 3.2.23
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Niobium.Messaging.StorageAccount" Version="3.2.23" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Niobium.Messaging.StorageAccount" Version="3.2.23" />
                    
Directory.Packages.props
<PackageReference Include="Niobium.Messaging.StorageAccount" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Niobium.Messaging.StorageAccount --version 3.2.23
                    
#r "nuget: Niobium.Messaging.StorageAccount, 3.2.23"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Niobium.Messaging.StorageAccount@3.2.23
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Niobium.Messaging.StorageAccount&version=3.2.23
                    
Install as a Cake Addin
#tool nuget:?package=Niobium.Messaging.StorageAccount&version=3.2.23
                    
Install as a Cake Tool

Niobium.Messaging.StorageAccount

Niobium.Messaging.StorageAccount provides abstractions, dependency injection modules, and helpers for integrating Azure Storage Queues into .NET applications. It enables secure, role-based, and scalable message queuing for event-driven and distributed business workflows.

What is this project about?

  • Implements DI modules for registering Azure Storage Queue brokers and controls.
  • Provides options for queue configuration, message encoding, and interactive identity.
  • Supplies helpers for SAS token issuance and secure resource control.
  • Used by Niobium.* and consumer projects to standardize, secure, and extend Azure Storage Queue integration.

Getting Started

1. Install the NuGet Package

Add the package to your .NET project:

dotnet add package Niobium.Messaging.StorageAccount

2. Register Storage Queue Services

In your DI setup, use the provided dependency module:

using Niobium.Messaging.StorageAccount;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;

var services = new ServiceCollection();
var configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();

services.AddMessaging(
    new StorageQueueOptions
    {
        ServiceEndpoint = "<your-queue-endpoint-or-connection-string>",
        EnableInteractiveIdentity = true,
        Base64MessageEncoding = false
    }
);

Or, using an IConfiguration section:

services.AddMessaging(configuration.GetSection("AzureQueue"));

3. Use the Messaging Broker

using Niobium.Messaging;

public class MyService
{
    private readonly IMessagingBroker<MyMessage> _broker;
    public MyService(IMessagingBroker<MyMessage> broker)
    {
        _broker = broker;
    }

    public async Task SendAsync(MyMessage message)
    {
        await _broker.EnqueueAsync(new[] { new MessagingEntry<MyMessage> { Body = message } });
    }

    public async Task<MessagingEntry<MyMessage>?> ReceiveAsync()
    {
        return await _broker.DequeueAsync();
    }
}

public class MyMessage
{
    public string Text { get; set; }
}

4. SAS Token Issuance

The project provides a signature issuer for generating SAS tokens for secure queue access, supporting role-based and resource-based permissions.

How Niobium.Messaging.StorageAccount is Consumed

Consumer projects use Niobium.Messaging.StorageAccount to:

  • Register and use Azure Storage Queue brokers via DI.
  • Secure access to queues with role-based and personalized entitlements.
  • Issue SAS tokens for controlled access to queue resources.
  • Integrate queue-based messaging into distributed and event-driven workflows.

Contributing

Contributions are welcome! To contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes with clear commit messages
  4. Submit a pull request

Please ensure your code follows the existing style and includes appropriate tests and documentation.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Product 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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.0.42 119 7/18/2026
4.0.37 94 7/17/2026
4.0.35 102 7/17/2026
4.0.34 100 7/17/2026
4.0.33 103 7/16/2026
4.0.32 118 7/2/2026
3.4.30 205 12/22/2025
3.4.29 314 11/11/2025
3.4.28 192 11/2/2025
3.4.27 145 11/1/2025
3.4.26 145 11/1/2025
3.4.25 149 11/1/2025
3.4.24 182 10/31/2025
3.2.23 130 10/18/2025
3.2.22 174 10/17/2025
3.2.21 176 10/17/2025
3.2.20 199 10/14/2025
3.2.19 205 9/30/2025
3.2.18 175 9/12/2025
3.2.17 208 9/7/2025
Loading failed