AvroSharp.Aws.Glue
1.0.0
dotnet add package AvroSharp.Aws.Glue --version 1.0.0
NuGet\Install-Package AvroSharp.Aws.Glue -Version 1.0.0
<PackageReference Include="AvroSharp.Aws.Glue" Version="1.0.0" />
<PackageVersion Include="AvroSharp.Aws.Glue" Version="1.0.0" />
<PackageReference Include="AvroSharp.Aws.Glue" />
paket add AvroSharp.Aws.Glue --version 1.0.0
#r "nuget: AvroSharp.Aws.Glue, 1.0.0"
#:package AvroSharp.Aws.Glue@1.0.0
#addin nuget:?package=AvroSharp.Aws.Glue&version=1.0.0
#tool nuget:?package=AvroSharp.Aws.Glue&version=1.0.0
AvroSharp.Aws.Glue
A managed AWS Glue Schema Registry serializer on AvroSharp, for Kafka (Amazon MSK, or any broker) and Kinesis. It's an alternative to AWS's AWS.Glue.SchemaRegistry, which is a native build for Linux only, about 119 MB, with Apache.Avro. This package:
- runs everywhere: it's fully managed, calls Glue through the AWS SDK for .NET, and runs on every platform .NET does;
- writes AWS's wire format: the header byte
0x03, the compression byte (none, or zlib), the schema version's UUID, then the Avro data; - uses AWS's settings and defaults: the registry name, auto-registration, compression, compatibility, and schema naming after the topic or stream;
- reads generated and
[AvroSerializable]types, and generic records, each message in its writer's schema, resolved to your type's; - has Confluent.Kafka serializers in a package of their own, AvroSharp.Aws.Glue.Kafka, so Kinesis and other users don't take Confluent.Kafka.
Status: new in 1.0.0, and released with AvroSharp at the same version. It follows semantic versioning with the rest of AvroSharp.
Guide · API reference · AvroSharp documentation
Install
dotnet add package AvroSharp.Aws.Glue
dotnet add package AvroSharp.Generators
For Kafka, add AvroSharp.Aws.Glue.Kafka too. AvroSharp.Aws.Glue depends on AWSSDK.Glue 4, and targets .NET 8 and later, and .NET Standard 2.0.
Use
var glue = new AmazonGlueClient();
var options = new AvroSharpGlueOptions { RegistryName = "shop", AutoRegisterSchemas = true };
// Kinesis, or anything else that carries bytes:
var serializer = new AvroSharpGlueSerializer(glue, options);
byte[] data = await serializer.SerializeAsync(order, "orders-stream");
Order read = await serializer.DeserializeAsync<Order>(data);
// Kafka, with AvroSharp.Aws.Glue.Kafka:
using var producer = new ProducerBuilder<string, Order>(producerConfig)
.SetAvroSharpGlueValueSerializer(glue, options)
.Build();
The guide covers the settings, moving from AWS's serializer, and the behavior to know.
| 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 | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. 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.0
- AvroSharp (>= 1.0.0)
- AWSSDK.Core (>= 4.0.3.3 && < 5.0.0)
- AWSSDK.Glue (>= 4.0.0 && < 5.0.0)
-
net10.0
- AvroSharp (>= 1.0.0)
- AWSSDK.Core (>= 4.0.3.3 && < 5.0.0)
- AWSSDK.Glue (>= 4.0.0 && < 5.0.0)
-
net8.0
- AvroSharp (>= 1.0.0)
- AWSSDK.Core (>= 4.0.3.3 && < 5.0.0)
- AWSSDK.Glue (>= 4.0.0 && < 5.0.0)
-
net9.0
- AvroSharp (>= 1.0.0)
- AWSSDK.Core (>= 4.0.3.3 && < 5.0.0)
- AWSSDK.Glue (>= 4.0.0 && < 5.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on AvroSharp.Aws.Glue:
| Package | Downloads |
|---|---|
|
AvroSharp.Aws.Glue.Kafka
Confluent.Kafka serializers and deserializers for AWS Glue Schema Registry on AvroSharp.Aws.Glue, in AWS's wire format, for Amazon MSK or any Kafka broker. Fully managed, no Apache.Avro. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 66 | 10/3/2026 |