Namespace AvroSharp.Schemas
The schema model: AvroSchema and its subclasses, such as RecordSchema, UnionSchema and EnumSchema, and the logical types (AvroLogicalType).
- Parse schema JSON with
AvroSchema.Parse, or with anAvroSchemaParserwhen later schemas refer to named types from earlier ones.AvroSchemaParseOptionssets the limits and the validation. AvroSchema.CanonicalFormgives the Parsing Canonical Form, andSchemaFingerprintits CRC-64-AVRO, MD5 and SHA-256 fingerprints.AvroSchemaCompatibilitychecks whether data written with one schema can be read with another, with every issue and its path, or a new version against earlier ones at a schema registry's level.AvroNamesholds the validation rules for names, namespaces and enum symbols.
The other namespaces take their schemas from here: AvroSharp.Generic, AvroSharp.Containers, AvroSharp.Messages, AvroSharp.Streams and AvroSharp.CodeGen.
Classes
- ArraySchema
An array schema.
- AvroCompatibilityCheck
One pair checked by CheckVersions(AvroSchema, IReadOnlyList<AvroSchema>, AvroCompatibilityLevel, AvroCompatibilityOptions?).
- AvroCompatibilityIssue
One reason data written with one schema cannot be read with another, or a warning about how it is read.
- AvroCompatibilityOptions
Options for AvroSchemaCompatibility.
- AvroCompatibilityReport
The result of checking a new schema against earlier versions at a AvroCompatibilityLevel.
- AvroLogicalType
A logical type annotating a primitive or fixed schema. Parameterless logical types are singletons;
decimalis represented by DecimalLogicalType.
- AvroNames
Validation rules for Avro names, namespaces and enum symbols.
- AvroSchema
An immutable Avro schema. Use Parse(string, AvroSchemaParseOptions?) to read schema JSON, or construct the concrete schema types directly.
- AvroSchemaCompatibility
Checks whether data written with one schema can be read with another, and why not: every incompatibility, with where it is, and warnings about differences the specification allows that can change the values read.
- AvroSchemaParseOptions
Options for AvroSchemaParser.
- AvroSchemaParser
Parses Avro schema JSON. A parser remembers the named schemas it has parsed, so later schemas (for example other
.avscfiles) can refer to them by name.
- DecimalLogicalType
The
decimallogical type: an arbitrary-precision decimal stored as a scaled two's-complement integer.
- EnumSchema
An enum schema: a named set of symbols.
- FixedSchema
A fixed schema: a named sequence of exactly Size bytes.
- MapSchema
A map schema: string keys to values of one schema.
- PrimitiveSchema
A primitive schema:
null,boolean,int,long,float,double,bytesorstring, optionally annotated with a logical type.
- RecordField
A field of a RecordSchema.
- RecordSchema
A record schema: a named sequence of fields.
- SchemaFingerprint
Schema fingerprints computed over the Parsing Canonical Form, as described by the specification.
- SchemaName
The full name of a named schema (record, enum or fixed): a simple name and an optional namespace.
- UnionSchema
A union schema: a value matches exactly one of the branches.
Enums
- AvroCompatibilityDirection
Which way a AvroCompatibilityCheck reads.
- AvroCompatibilityKind
The kind of an AvroCompatibilityIssue: an incompatibility, or a warning (IsWarning) about a difference the specification allows that can change the values read. The six named as Java's
SchemaIncompatibilityTypevalues mean the same. Later versions may add kinds of either sort, so code should not rely on the values' order, and a new warning can make a check with WarningsAsErrors fail.
- AvroCompatibilityLevel
A schema registry's compatibility levels, as Confluent Schema Registry defines them.
- AvroCompatibilityVerdict
Whether data written with one schema can be read with another (AvroSchemaCompatibility): a fact about the schemas, which options don't change. The values are ordered from best to worst, and a report's verdict is the worst of its pairs'.
- AvroLogicalTypeKind
The logical types defined by the Avro 1.12 specification.
- AvroSchemaType
The Avro schema types.
- FieldOrder
How a record field affects the sort order of records.