[doc] Create advanced schema
The doc is missing a section to explain how to create a more elaborate schema than just a one-string-field schema. How should I create a schema with say, a timestamp or any other logical type i would like to be used with kafka connect? Manually, using a SchemaBuilder, or with Strongly typed class and schema generation?
If using the SchemaBuilder, is there any specs about this (all the specific logical type/name/property to include in the schema like connect.name, org.apache.kafka.connect.data.Decimal, org.apache.kafka.connect.data.Timestamp...) I'm using C# and plan to contribute for an avro serializer on the new confluent C# client (https://github.com/confluentinc/confluent-kafka-dotnet/issues/67)
Bump.
To add to this question, I would love examples of how to publish a complex type. Here's an avro schema example that works perfectly within a Kafka Streams processor, but is rejected with a 500 error from the schema registry. It is possible to basically embed the address and item type schemas into the order schema, resulting in a large, redundant schema - but that generates different types for each property on the Java end of things... not a maintainable thing for more complicated types.
[ { "namespace": "io.wakurth.examples.streams.avro", "type": "record", "name": "Address", "fields": [ { "name": "Address1", "type": "string" }, { "name": "City", "type": "string" }, { "name": "State", "type": "string" }, { "name": "PostalCode", "type": "string" } ] }, { "namespace": "io.wakurth.examples.streams.avro", "type": "record", "name": "Item", "fields": [ { "name": "ProductCode", "type": "string" }, { "name": "UPC", "type": "string" }, { "name": "SKU", "type": "string" }, { "name": "ProductName", "type": "string" } ] }, { "namespace": "io.wakurth.examples.streams.avro", "type": "record", "name": "Order", "fields": [{ "name": "CustomerCode", "type": "string" }, { "name": "ExternalReferenceNumber", "type": "string" }, { "name": "Comment", "type": "string" }, { "name": "Pick", "type": "Address" }, { "name": "Drop", "type": "Address" }, { "name": "Items", "type": { "type": "array", "items": "Item" } }] } ]
I feel like this issue is more suited for either the confluent-kafka-dotnet project for the C# problem (where there have been previous issue comments saying that Avro w/ C# isn't recommended anymore, in favor of protobuf), or the Avro community for actually creating classes from schemas
For the 500 error, the actual errors will need to be provided.