当前位置: 首页 > 知识库问答 >
问题:

具有空对象的记录类型的 Avro 架构

陈浩
2023-03-14

我正在尝试为下面的json创建avro模式

  {
  "id": "TEST",
  "status": "status",
  "timestamp": "2019-01-01T00:00:22-03:00",
  "comment":  "add comments or replace it with adSummary data",
  "error": { 
    "code": "ER1212132",
    "msg": "error message"
  }
}

错误对象是可选的,它可能是“错误”:{}下面是没有默认值的avro模式

{
  "type" : "record",
  "name" : "Order",
  "fields" : [ {
    "name" : "id",
    "type" : "string"
  }, {
    "name" : "status",
    "type" : "string"
  }, {
    "name" : "timestamp",
    "type" : "string"
  }, {
    "name" : "comment",
    "type" :  ["null","string"],
    "default": null
  }, {
    "name" : "error",
    "type" : {
      "type" : "record",
      "name" : "error",
      "fields" : [ {
        "name" : "code",
        "type" : "string"
      }, {
        "name" : "msg",
        "type" : "string"
      } ]
    }
  } ]
}

如何在json中添加错误字段的默认值{}。

共有1个答案

微生慈
2023-03-14
{
  "type" : "record",
  "name" : "Order",
  "fields" : [ {
    "name" : "id",
    "type" : "string"
  }, {
    "name" : "status",
    "type" : "string"
  }, {
    "name" : "timestamp",
    "type" : "string"
  }, {
    "name" : "comment",
    "type" :  ["null","string"],
    "default": null
  }, {
    "name" : "error",
    "type" : [{"type": "record", "fields":[{"name": "code", "type":"string"}, {"name": "msg", "type":"string"}]}, {"type": "record", "fields":[]}]
  
  } ]
}
 类似资料:
  • 我有一个问题,我的记录json可以为null。如何处理avro模式中的空记录?给出的文档是针对我想要为null记录获取的null属性的。

  • TS2322:类型{}不可分配给类型“T”。

  • 我试图建立一个具有联合数据类型支持成员记录类型的AVRO复杂记录。 我在尝试读取这种模式时出错。 我想知道-是否有可能声明这样的AVRO模式-其中一个字段类型是复杂用户定义消息结构的联合。 如果可能的话,你能让我知道我做错了什么吗?或者用union类型字段的类型定义举例说明这种结构吗? 我想使用AVRO的动态架构用法 - 因此请指定此架构文件运行时并将传入缓冲区解析为“request”/“resp

  • 问题内容: 对于一个抽象类,我想定义一个为子类返回“ this”的方法: 我希望能够执行以下操作: 可以说香蕉面包会抛出一个IllegalArgumentException消息“不是蛋糕!”。 问题答案: 编辑 要求子类以某种方式表现是没有问题的,这超出了静态类型可以检查的范围。我们一直在这样做-一页又一页的普通英语指定您如何编写子类。 提出的另一种具有协变返回类型的解决方案必须做同样的事情-用简

  • 问题内容: 我有项目清单。一个项目可以是很多东西,比如说列表是这样的: 现在,我想使用ngRepeat指令渲染列表,该指令将根据对象的类型使用模板(多态渲染)。可以做到吗? 可能类似( ng-use 是一个 假设 指令): 问题答案: API参考:http://docs.angularjs.org/api/ng.directive: ngSwitch

  • 我正在尝试使用TopologyTestDriver测试kafka流。我分享代码片段和我面临的错误。 Error org.apache.kafka.common.errors.SerializationException: Error serializing Avro message Suppressed: java.lang.IllegalArgumentException: 請總是: 在每次測試