DotPulsar.Extensions.Schemas
0.6.0
dotnet add package DotPulsar.Extensions.Schemas --version 0.6.0
NuGet\Install-Package DotPulsar.Extensions.Schemas -Version 0.6.0
<PackageReference Include="DotPulsar.Extensions.Schemas" Version="0.6.0" />
<PackageVersion Include="DotPulsar.Extensions.Schemas" Version="0.6.0" />
<PackageReference Include="DotPulsar.Extensions.Schemas" />
paket add DotPulsar.Extensions.Schemas --version 0.6.0
#r "nuget: DotPulsar.Extensions.Schemas, 0.6.0"
#:package DotPulsar.Extensions.Schemas@0.6.0
#addin nuget:?package=DotPulsar.Extensions.Schemas&version=0.6.0
#tool nuget:?package=DotPulsar.Extensions.Schemas&version=0.6.0
DotPulsar Schema Extensions
Provides support for using Json and ProtoBuf producers, consumers, and receivers.
It is important to note that this library does not use the official Pulsar Schema Registry. The types provided are merely for convenience on top of the existing Schema.ByteSequence schema.
DotPulsar library recently released official support for Json and Protobuf messages that use the official Pulsar Schema Registry. Consider migrating to the latest version.
Installation
dotnet add package DotPulsar.Extensions.Schemas
Usage
A JSON schema can be created using JsonByteSchema.Get<T>(). This schema can be used to create a producer, consumer, or receiver.
await using var producer = client.NewProducer(JsonByteSchema.Get<YourType>())
.Topic("persistent://public/default/my-topic")
.Create();
Custom serialization options can be passed into the constructor new JsonByteSchema<T>(options) or by overriding the default options using JsonByteSchema.DefaultSerializerOptions.
The same can be done for Protobuf schemas using ProtobufByteSchema.Get<T>().
await using var producer = client.NewProducer(ProtobufByteSchema.Get<YourType>())
.Topic("persistent://public/default/my-topic")
.Create();
Both JsonByteSchema and ProtobufByteSchema support passing a custom ISchema<ReadOnlySequence<byte>> schema. This allows for custom handling of the bytes that are sent and received. One potential use case would be to implement custom encryption or compression of the message bytes.
License
This project is licensed under Apache License, Version 2.0.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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 is compatible. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- DotPulsar (>= 5.2.2)
- System.Text.Json (>= 10.0.3)
-
net10.0
- DotPulsar (>= 5.2.2)
-
net8.0
- DotPulsar (>= 5.2.2)
-
net9.0
- DotPulsar (>= 5.2.2)
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 |
|---|---|---|
| 0.6.0 | 318 | 3/9/2026 |
| 0.5.1 | 4,987 | 11/12/2025 |
| 0.5.0 | 347 | 11/11/2025 |
| 0.3.1 | 8,918 | 3/31/2025 |
| 0.3.0 | 266 | 3/11/2025 |
| 0.2.4 | 1,530 | 2/21/2025 |
| 0.2.3 | 219 | 2/20/2025 |
| 0.2.2 | 1,419 | 2/6/2025 |
| 0.2.1 | 2,027 | 9/3/2024 |
| 0.2.0 | 281 | 7/30/2024 |
| 0.1.0 | 229 | 7/15/2024 |
| 0.0.9 | 219 | 7/15/2024 |
| 0.0.8 | 264 | 7/10/2024 |
| 0.0.7 | 232 | 7/9/2024 |
| 0.0.6 | 205 | 7/9/2024 |
| 0.0.5 | 345 | 6/12/2024 |
| 0.0.3 | 221 | 6/12/2024 |
| 0.0.2-rc.1 | 202 | 3/7/2024 |