JsonToAvroBinaryPostExecuter

Prev Next

Class name

com.ebd.hub.datawizard.postexec.JsonToAvroBinaryPostExecuter

Description

This postexecuter can encode data in the "AVRO" format using a schema file and is primarily used for this purpose in conjunction with the Response "Kafka" (see there), but can also be used with others.

The path to the schema file is specified in field "Config file".

Example

{
  "name": "complexOuterRecord",
  "type": "record",
  "fields": 
  [
    {
      "name": "primitiveNull",
      "type": "null"
    },
    {
      "name": "primitiveBoolean",
      "type": "boolean"
    },
    {
      "name": "primitiveInt",
      "type": "int"
    },
    {
      "name": "primitiveLong",
      "type": "long"
    },
    {
      "name": "primitiveFloat",
      "type": "float"
    },
    {
      "name": "primitiveDouble",
      "type": "double"
    },
    {
      "name": "primitiveBytes",
      "type": "bytes"
    },
    {
      "name": "primitiveString",
      "type": "string"
    },
    {
      "name": "complexNestedRecord",
      "type": 
      [
        "null",
        {
          "name": "complexInnerRecord",
          "type": "record",
          "fields":
          [
            {
              "name": "innerRecordPrimitiveInt",
              "type": 
              [
                "null",
                "int"
              ]
            },
            {
              "name": "innerRecordPrimitiveString",
              "type": 
              [
                "null",
                "string"
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "complexEnumValue",
      "type":
      {
        "name": "complexEnumType",
        "type": "enum",
        "symbols":
        [
          "LEAVES",
          "ACORNS",
          "BELLS",
          "HEARTS"
        ]
      }
    },
    {
      "name": "complexArrayValue",
      "type":
      {
        "name": "complexArrayType",
        "type": "array",
        "items": "int",
        "default": []
      }
    },
    {
      "name": "complexMapValue",
      "type":
      {
        "name": "complexMapType",
        "type": "map",
        "values": "string",
        "default": {}
      }
    },
    {
      "name": "complexFixedValue",
      "type":
      {
        "name": "complexFixedType",
        "type": "fixed",
        "size": 1
      }
    },
    {
      "name": "complexUnionValue",
      "type":
      [
        "null",
        "string"
      ]
    },
    {
      "name": "logicalDecimal",
      "type": 
      {
        "type": "bytes",
        "logicalType": "decimal",
        "precision": 3,
        "scale": 1
      }
    },
    {
      "name": "logicalUUID",
      "type":
      {
        "type": "string",
        "logicalType": "uuid"
      }
    },
    {
      "name": "logicalDate",
      "type":
      {
        "type": "int",
        "logicalType": "date"
      }
    },
    {
      "name": "logicalDurationValue",
      "type":
      {
        "name": "logicalDurationType",
        "type": "fixed",
        "logicalType": "duration",
        "size": 12
      }
    },
    {
      "name": "logicalTimeMillis",
      "type":
      {
        "type": "int",
        "logicalType": "time-millis"
      }
    },
    {
      "name": "logicalTimeMicros",
      "type":
      {
        "type": "long",
        "logicalType": "time-micros"
      }
    },
    {
      "name": "logicalTimestampMillis",
      "type":
      {
        "type": "long",
        "logicalType": "timestamp-millis"
      }
    },
    {
      "name": "logicalTimestampMicros",
      "type":
      {
        "type": "long",
        "logicalType": "timestamp-micros"
      }
    },
    {
      "name": "logicalLocalTimestampMillis",
      "type":
      {
        "type": "long",
        "logicalType": "local-timestamp-millis"
      }
    },
    {
      "name": "logicalLocalTimestampMicros",
      "type":
      {
        "type": "long",
        "logicalType": "local-timestamp-micros"
      }
    }
  ]
}
{
  "primitiveNull": null,
  "primitiveBoolean": true,
  "primitiveInt": 2134567890,
  "primitiveLong": 9123456789012345678,
  "primitiveFloat": 1.39e-45,
  "primitiveDouble": 1.79301e308,
  "primitiveBytes": "randomTextAsBytes",
  "primitiveString": "iamjustatest",
  "complexNestedRecord":
  {
    "complexInnerRecord":
    {
      "innerRecordPrimitiveInt":
      {
        "int": 4
      },
      "innerRecordPrimitiveString":
      {
        "string": "innerRecordStringValue"
      }
    }
  },
  "complexEnumValue": "LEAVES",
  "complexArrayValue": 
  [
    1,
    2,
    3
  ],
  "complexMapValue":
  {
    "firstEntry": "first",
    "secondEntry": "second"
  },
  "complexFixedValue": "\u00aa",
  "complexUnionValue":
  {
    "string": "union"
  },
  "logicalDecimal": "\u00FF",
  "logicalUUID": "ad0677ab-bd1c-4383-9d45-e46c56bcc5c9",
  "logicalDate": 1643886644,
  "logicalDurationValue": "\u0000\u1111\u2222\u3333\u4444\u5555\u6666\u7777\u8888\u9999\uaaaa\ubbbb",
  "logicalTimeMillis": 7739955,
  "logicalTimeMicros": 11223344,
  "logicalTimestampMillis": 998877,
  "logicalTimestampMicros": 66554433,
  "logicalLocalTimestampMillis": 11223344,
  "logicalLocalTimestampMicros": 5566778899
}