J'ai trouvé un code ici https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-dotnet-avro-serialization#Scenario2 qui ne l'inverse de ce que je besoin:Un modèle C# peut-il être sérialisé en tant que schéma AVRO JSON?
//Define the schema in JSON
const string Schema = @"{
""type"":""record"",
""name"":""Microsoft.Hadoop.Avro.Specifications.SensorData"",
""fields"":
[
{
""name"":""Location"",
""type"":
{
""type"":""record"",
""name"":""Microsoft.Hadoop.Avro.Specifications.Location"",
""fields"":
[
{ ""name"":""Floor"", ""type"":""int"" },
{ ""name"":""Room"", ""type"":""int"" }
]
}
},
{ ""name"":""Value"", ""type"":""bytes"" }
]
}";
//Create a generic serializer based on the schema
var serializer = AvroSerializer.CreateGeneric(Schema);
Je voudrais prendre un modèle que j'ai créé:
[DataContract(Name = "Demo", Namespace = "pubsub.demo")]
public class Demo
{
[DataMember(Name = "value")]
public long Value { get; set; }
}
... et sérialiser ce modèle C# dans une chaîne JSON AVRO Schema.
Raison:
Je veux seulement maintenir les modèles C# et d'enregistrer automatiquement ces modèles avec le schéma du Registre de Confluent. Pour s'inscrire avec le registre de schéma, le schéma doit être dans un format JSON AVRO (comme Schema
ci-dessus).
Je préférerais ne pas avoir à la fois le JSON défini et le modèle C#. Si je devais en maintenir un, je préférerais avoir un modèle C#.