KafkaWorker.JsonSchema
1.0.4
dotnet add package KafkaWorker.JsonSchema --version 1.0.4
NuGet\Install-Package KafkaWorker.JsonSchema -Version 1.0.4
<PackageReference Include="KafkaWorker.JsonSchema" Version="1.0.4" />
<PackageVersion Include="KafkaWorker.JsonSchema" Version="1.0.4" />
<PackageReference Include="KafkaWorker.JsonSchema" />
paket add KafkaWorker.JsonSchema --version 1.0.4
#r "nuget: KafkaWorker.JsonSchema, 1.0.4"
#:package KafkaWorker.JsonSchema@1.0.4
#addin nuget:?package=KafkaWorker.JsonSchema&version=1.0.4
#tool nuget:?package=KafkaWorker.JsonSchema&version=1.0.4
KafkaWorker.JsonSchema
JSON Schema deserialization add-on for KafkaWorker. Adds AddKafkaWorkerRegistryJson which wires up Confluent Schema Registry and a JSON deserializer alongside the standard KafkaWorker consume loop, retry, and DLQ pipeline.
Use this package when your messages are serialized as JSON with schema validation via Confluent Schema Registry. For plain JSON without Schema Registry, use AddKafkaWorker from the core KafkaWorker package instead.
Installation
dotnet add package KafkaWorker
dotnet add package KafkaWorker.JsonSchema
Usage
// Program.cs
builder.Services.AddKafkaWorkerRegistryJson<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;
}
}
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.AddKafkaWorkerRegistryJson<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.Json (>= 2.13.0)
- KafkaWorker (>= 1.0.4)
-
net8.0
- Confluent.SchemaRegistry.Serdes.Json (>= 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.