Enum AvroSchema
pub enum AvroSchema {
Show 25 variants
Null,
Boolean,
Int,
Long,
Float,
Double,
Bytes,
String,
Array(Box<Schema>),
Map(Box<Schema>),
Union(UnionSchema),
Record(RecordSchema),
Enum(EnumSchema),
Fixed(FixedSchema),
Decimal(DecimalSchema),
Uuid,
Date,
TimeMillis,
TimeMicros,
TimestampMillis,
TimestampMicros,
LocalTimestampMillis,
LocalTimestampMicros,
Duration,
Ref {
name: Name,
},
}Expand description
Represents any valid Avro schema More information about Avro schemas can be found in the Avro Specification
Variants§
Null
A null Avro schema.
Boolean
A boolean Avro schema.
Int
An int Avro schema.
Long
A long Avro schema.
Float
A float Avro schema.
Double
A double Avro schema.
Bytes
A bytes Avro schema.
Bytes represents a sequence of 8-bit unsigned bytes.
String
A string Avro schema.
String represents a unicode character sequence.
Array(Box<Schema>)
A array Avro schema. Avro arrays are required to have the same type for each element.
This variant holds the Schema for the array element type.
Map(Box<Schema>)
A map Avro schema.
Map holds a pointer to the Schema of its values, which must all be the same schema.
Map keys are assumed to be string.
Union(UnionSchema)
A union Avro schema.
Record(RecordSchema)
A record Avro schema.
Enum(EnumSchema)
An enum Avro schema.
Fixed(FixedSchema)
A fixed Avro schema.
Decimal(DecimalSchema)
Logical type which represents Decimal values. The underlying type is serialized and
deserialized as Schema::Bytes or Schema::Fixed.
Uuid
A universally unique identifier, annotating a string.
Date
Logical type which represents the number of days since the unix epoch.
Serialization format is Schema::Int.
TimeMillis
The time of day in number of milliseconds after midnight with no reference any calendar, time zone or date in particular.
TimeMicros
The time of day in number of microseconds after midnight with no reference any calendar, time zone or date in particular.
TimestampMillis
An instant in time represented as the number of milliseconds after the UNIX epoch.
TimestampMicros
An instant in time represented as the number of microseconds after the UNIX epoch.
LocalTimestampMillis
An instant in localtime represented as the number of milliseconds after the UNIX epoch.
LocalTimestampMicros
An instant in local time represented as the number of microseconds after the UNIX epoch.
Duration
An amount of time defined by a number of months, days and milliseconds.
Ref
A reference to another schema.
Fields
name: NameImplementations§
§impl Schema
impl Schema
pub fn canonical_form(&self) -> String
pub fn canonical_form(&self) -> String
Converts self into its Parsing Canonical Form.
pub fn fingerprint<D>(&self) -> SchemaFingerprintwhere
D: Digest,
pub fn fingerprint<D>(&self) -> SchemaFingerprintwhere
D: Digest,
Generate fingerprint of Schema’s Parsing Canonical Form.
pub fn parse_str(input: &str) -> Result<Schema, Error>
pub fn parse_str(input: &str) -> Result<Schema, Error>
Create a Schema from a string representing a JSON Avro schema.
pub fn parse_list(input: &[&str]) -> Result<Vec<Schema>, Error>
pub fn parse_list(input: &[&str]) -> Result<Vec<Schema>, Error>
Create a array of Schema’s from a list of named JSON Avro schemas (Record, Enum, and
Fixed).
It is allowed that the schemas have cross-dependencies; these will be resolved during parsing.
If two of the input schemas have the same fullname, an Error will be returned.
pub fn parse_reader(reader: &mut (impl Read + ?Sized)) -> Result<Schema, Error>
pub fn parse_reader(reader: &mut (impl Read + ?Sized)) -> Result<Schema, Error>
Create a Schema from a reader which implements Read.
pub fn custom_attributes(&self) -> Option<&BTreeMap<String, Value>>
pub fn custom_attributes(&self) -> Option<&BTreeMap<String, Value>>
Returns the custom attributes (metadata) if the schema supports them.
Trait Implementations§
§impl Serialize for Schema
impl Serialize for Schema
§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Auto Trait Implementations§
impl Freeze for Schema
impl RefUnwindSafe for Schema
impl Send for Schema
impl Sync for Schema
impl Unpin for Schema
impl UnwindSafe for Schema
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Any.§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
Source§impl<M> MetricVecRelabelExt for M
impl<M> MetricVecRelabelExt for M
Source§fn relabel(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level.Source§fn relabel_n(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
relabel_num: usize,
) -> RelabeledMetricVec<M>
fn relabel_n( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, relabel_num: usize, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level_relabel_n.Source§fn relabel_debug_1(
self,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel_debug_1( self, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
RelabeledMetricVec::with_metric_level_relabel_n with metric_level set to
MetricLevel::Debug and relabel_num set to 1.