avrora v0.11.0 Avrora.Schema View Source
Convenience wrapper struct for AvroEx.Schema
and Confluent Schema Registry.
Link to this section Summary
Functions
Parse Avro schema JSON and convert to struct.
An example of a reference lookup which returns empty JSON body
Convert struct to erlavro
format and look up in avro_schema_store
.
Link to this section Types
Link to this section Functions
Link to this function
parse(payload, reference_lookup_fun \\ &Avrora.Schema.reference_lookup/1)
View Sourceparse(String.t(), reference_lookup_fun()) :: {:ok, t()} | {:error, term()}
Parse Avro schema JSON and convert to struct.
Examples
iex> json = ~s({"namespace":"io.confluent","type":"record","name":"Payment","fields":[{"name":"id","type":"string"},{"name":"amount","type":"double"}]})
iex> {:ok, schema} = Avrora.Schema.parse(json)
iex> schema.full_name
"io.confluent.Payment"
An example of a reference lookup which returns empty JSON body
Convert struct to erlavro
format and look up in avro_schema_store
.
Examples
iex> json = ~s({"namespace":"io.confluent","type":"record","name":"Payment","fields":[{"name":"id","type":"string"},{"name":"amount","type":"double"}]})
iex> {:ok, schema} = Avrora.Schema.parse(json)
iex> {:ok, {type, _, _, _, _, _, full_name, _}} = Avrora.Schema.to_erlavro(schema)
iex> full_name
"io.confluent.Payment"
iex> type
:avro_record_type