Avro /架构注册表-设置新的不可为空/必填字段

问题描述 投票:0回答:1

我开始使用Avro / Confluent的架构注册表和.avsc文件,并希望添加架构中所需的新字段。

例如,旧模式如下:

{
  "name": ...
  "fields": [
    {"name": "one", "type": "string"}
  ]
}

我想将其更改为:


{
  "one": string,
  "two": string,
}

我如何使two字段为必需/不可为空[[当尝试发展模式时?因为我必须在其中添加default值,所以它始终可以成为另一个。

编辑

值得指出的是,我正在使用Confluent的Schema Registry并试图发展模式!
avro confluent confluent-schema-registry
1个回答
0
投票
我想我只是解决了自己的问题。供将来参考:

使用

Compatibility:BACKWARDS时,不可能设置一个绝对必需的字段,显然这会破坏其余的架构。

所以我想这的答案是将其设置为

NONE

(就我而言)。任何其他具有见解的答案都将有所帮助,但现在我将使用该解决方案!
© www.soinside.com 2019 - 2024. All rights reserved.