Skip to main content

Function modifiers

avroHint

Commentary​

added in 1.0.9

Explicitly defines how this data will be represented if ShadowTraffic automatically creates its Avro schema.


Examples​

Overriding Avro types​

For the most part, ShadowTraffic is able to automatically infer an Avro schema for the data you want to generate. But sometimes, it either guesses wrong or isn't capable of statically determing it.

For those situations, use avroHint to explicitly define the type.

In this example, avroHint overrides ShadowTraffic's guess that weightedOneOf should produce a union type.

{
"topic": "sandbox",
"value": {
"b": {
"_gen": "uniformDistribution",
"bounds": [
1,
10
]
},
"c": {
"_gen": "weightedOneOf",
"choices": [
{
"weight": 1,
"value": "d"
},
{
"weight": 2,
"value": "e"
}
],
"avroHint": {
"type": "string"
}
}
}
}

Specification​

JSON schema​

{
"type": "object"
}