I was able to make it work using a nested record instead of a map....

{
    "type": "record",
    "name": "example",
    "fields" : [
      {
        "name": "field1",
        "type": {
          "name" : "field1",
          "type" : "record",
          "fields" : [
            { "name": "toto", "type": "string" },
            { "name": "titi", "type": "string" }
          ]
        }
      }
    ]
}
On Wed, Oct 10, 2018 at 10:00 AM Maxime Jattiot <[email protected]> wrote:
>
> Sure, here is the schema :
> {
>     "name" : "test",
>     "type" : "record",
>     "fields" : [ {
>         "name" : "field1",
>         "type" : {
>             "type" : "map",
>             "values" : "string"
>         }
>     } ]
> }
>
> And here is the JSON message :
> [{
>     "field1": {
>         "toto" : "v1",
>         "titi" : "v2"
>     }
> }]
>
> On Wed, Oct 10, 2018 at 2:48 PM Bryan Bende <[email protected]> wrote:
>
> > Hello,
> >
> > The screenshots did not come through, maybe just paste the schema and JSON
> > as text in the email.
> >
> > Thanks.
> >
> > On Wed, Oct 10, 2018 at 6:57 AM Maxime Jattiot <[email protected]>
> > wrote:
> >
> > > Hello everyone,
> > >
> > > I am having hard time to validate a simple JSON message with an Avro
> > > schema. My schema works with avro-tools but doesn't with ValidateRecord
> > > processor. I wish you could help me.
> > >
> > >    - I am having the following debug log within Nifi :
> > >
> > > Record #1 is invalid due to:
> > > MapRecord[{toto=v1, titi=v2}] is not a valid value for /field1: Value is
> > > of type org.apache.nifi.serialization.record.MapRecord but was expected
> > to
> > > be of type MAP[STRING]
> > >
> > >
> > >    - Here is my schema :
> > >
> > > [image: Screen Shot 2018-10-10 at 11.21.41.png]
> > >
> > >    - Here is the JSON content sent :
> > >
> > > [image: Screen Shot 2018-10-10 at 11.22.10.png]
> > >
> > > Does someone has any clue ? I have been struggling 2 days with this map
> > > data type ... :(
> > >
> > > Thank you !
> > >
> > > Maxime
> > >
> >

Reply via email to