KafkaWorker.Protobuf
1.0.4
dotnet add package KafkaWorker.Protobuf --version 1.0.4
NuGet\Install-Package KafkaWorker.Protobuf -Version 1.0.4
<PackageReference Include="KafkaWorker.Protobuf" Version="1.0.4" />
<PackageVersion Include="KafkaWorker.Protobuf" Version="1.0.4" />
<PackageReference Include="KafkaWorker.Protobuf" />
paket add KafkaWorker.Protobuf --version 1.0.4
#r "nuget: KafkaWorker.Protobuf, 1.0.4"
#:package KafkaWorker.Protobuf@1.0.4
#addin nuget:?package=KafkaWorker.Protobuf&version=1.0.4
#tool nuget:?package=KafkaWorker.Protobuf&version=1.0.4
KafkaWorker.Protobuf
Protobuf deserialization add-on for KafkaWorker. Adds AddKafkaWorkerProtobuf which wires up Confluent Schema Registry and a Protobuf deserializer alongside the standard KafkaWorker consume loop, retry, and DLQ pipeline.
Installation
dotnet add package KafkaWorker
dotnet add package KafkaWorker.Protobuf
Usage
// Program.cs
builder.Services.AddKafkaWorkerProtobuf<OrderMessage, OrderMessageHandler>(builder.Configuration);
public class OrderMessageHandler(ILogger<OrderMessageHandler> logger)
: IMessageHandler<OrderMessage>
{
public Task HandleMessageAsync(OrderMessage message, CancellationToken stoppingToken)
{
logger.LogInformation("Received order {OrderId}", message.OrderId);
return Task.CompletedTask;
}
}
OrderMessage must be a Protobuf-generated class (IMessage<T>).
Configuration
{
"KafkaWorker": {
"Consumer": {
"BootstrapServers": "localhost:9092",
"Topic": "orders",
"GroupId": "orders-consumer",
"SchemaRegistryUrl": "http://localhost:8081"
}
}
}
SchemaRegistryUrl is required. All other KafkaWorker options (retry, DLQ, etc.) work the same as the core package.
Custom Key Type
builder.Services.AddKafkaWorkerProtobuf<long, OrderMessage, OrderMessageHandler>(builder.Configuration);
Documentation
Full documentation, configuration reference, and DLQ setup at github.com/tenzinkabsang/KafkaWorker.
| 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. 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 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. |
-
net10.0
- Confluent.SchemaRegistry.Serdes.Protobuf (>= 2.13.0)
- KafkaWorker (>= 1.0.4)
-
net8.0
- Confluent.SchemaRegistry.Serdes.Protobuf (>= 2.13.0)
- KafkaWorker (>= 1.0.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.