WalFlow.Sinks.RabbitMq 0.1.0-alpha.alpha.20260708090623

This is a prerelease version of WalFlow.Sinks.RabbitMq.
dotnet add package WalFlow.Sinks.RabbitMq --version 0.1.0-alpha.alpha.20260708090623
                    
NuGet\Install-Package WalFlow.Sinks.RabbitMq -Version 0.1.0-alpha.alpha.20260708090623
                    
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="WalFlow.Sinks.RabbitMq" Version="0.1.0-alpha.alpha.20260708090623" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WalFlow.Sinks.RabbitMq" Version="0.1.0-alpha.alpha.20260708090623" />
                    
Directory.Packages.props
<PackageReference Include="WalFlow.Sinks.RabbitMq" />
                    
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 WalFlow.Sinks.RabbitMq --version 0.1.0-alpha.alpha.20260708090623
                    
#r "nuget: WalFlow.Sinks.RabbitMq, 0.1.0-alpha.alpha.20260708090623"
                    
#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 WalFlow.Sinks.RabbitMq@0.1.0-alpha.alpha.20260708090623
                    
#: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=WalFlow.Sinks.RabbitMq&version=0.1.0-alpha.alpha.20260708090623&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=WalFlow.Sinks.RabbitMq&version=0.1.0-alpha.alpha.20260708090623&prerelease
                    
Install as a Cake Tool

WalFlow.Sinks.RabbitMq

RabbitMQ sink for WalFlow CDC events.

Configuration

{
  "RabbitMqSink": {
    "HostName": "localhost",
    "Port": 5672,
    "VirtualHost": "/",
    "Authentication": {
      "Mode": "UserPassword",
      "UserName": "guest",
      "Password": "guest",
      "UseTls": false,
      "SslServerName": null,
      "SslCertPath": null,
      "SslCertPassphrase": null
    },
    "ExchangeName": "walflow.cdc",
    "ExchangeType": "direct",
    "AutoDeclareExchange": true,
    "Partitioning": {
      "Strategy": "Table"
    }
  }
}

The resolved shared partition token is used as RabbitMQ routing key.

Settings

Setting Type Default Supported values Notes
HostName string "localhost" valid host name/IP RabbitMQ broker host
Port int 5672 positive integer Broker port
VirtualHost string "/" valid vhost Target vhost
Authentication RabbitMqAuthenticationOptions {} object Preferred auth/TLS container
Authentication.Mode RabbitMqAuthenticationMode UserPassword UserPassword, External External uses SASL EXTERNAL with TLS client cert
Authentication.UserName string? "guest" non-empty string Required when Authentication.Mode=UserPassword
Authentication.Password string? "guest" non-empty string Required when Authentication.Mode=UserPassword
Authentication.UseTls bool? false true, false Must be true for External auth
Authentication.SslServerName string? null host name Optional TLS server name override; defaults to HostName
Authentication.SslCertPath string? null file path Required when Authentication.Mode=External
Authentication.SslCertPassphrase string? null any string Optional certificate passphrase
ClientProvidedName string? null any string Optional client connection name
ExchangeName string "walflow.cdc" any exchange name Target exchange
ExchangeType string "direct" direct, topic, fanout, headers Exchange type
ExchangeDurable bool true true, false Exchange durability
ExchangeAutoDelete bool false true, false Auto-delete exchange when unused
AutoDeclareExchange bool true true, false Declare exchange on startup
MandatoryPublish bool false true, false Publish with mandatory flag
PersistentMessages bool true true, false Set persistent delivery mode
ContentType string "application/json" any MIME type Published message content type
IncludeHeaders bool true true, false Adds operation and table headers
MaxRetryAttempts int 3 >= 0 Publish retries
RetryDelayMs int 250 >= 0 Delay between retries
Partitioning SinkPartitioningOptions Strategy=Single Single, Fixed, Connector, Schema, Table, Operation Resolved token is routing key

Authentication Examples

Username/password (default):

{
  "RabbitMqSink": {
    "HostName": "rabbit.example.com",
    "Port": 5672,
    "Authentication": {
      "Mode": "UserPassword",
      "UserName": "walflow",
      "Password": "secret"
    },
    "ExchangeName": "walflow.cdc"
  }
}

External auth with TLS client certificate:

{
  "RabbitMqSink": {
    "HostName": "rabbit.example.com",
    "Port": 5671,
    "Authentication": {
      "Mode": "External",
      "UseTls": true,
      "SslServerName": "rabbit.example.com",
      "SslCertPath": "/etc/rabbitmq/client.pfx",
      "SslCertPassphrase": "changeit"
    },
    "ExchangeName": "walflow.cdc"
  }
}

Inline DI Registration

services.AddSingleton<ISink>(sp =>
{
    var options = Options.Create(new RabbitMqSinkOptions
    {
        HostName = "localhost",
        ExchangeName = "walflow.cdc"
    });

    return new RabbitMqSink(
        options,
        sp.GetRequiredService<ILogger<RabbitMqSink>>());
});
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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 (1)

Showing the top 1 NuGet packages that depend on WalFlow.Sinks.RabbitMq:

Package Downloads
WalFlow

Meta-package that pulls in the full WalFlow CDC stack for consumers who want the default everything-included setup.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-alpha.alpha... 84 7/8/2026
0.1.0-alpha.alpha... 87 3/30/2026