Avro.AvroException: Array 未在字段中实现非泛型 IList

Avro.AvroException: Array does not implement non-generic IList in field

我有 .netcore 3.1 api 我正在使用 kafka 和我正在使用的融合云库,它们的版本是:

模式注册表 1.7.0 Serdes 1.3.0

在我的模式中我有:

{
  "name": "orderLineIds",
  "type": {
    "type": "array",
    "items": "int"
  },
  "default": [],
  "doc": "Associated order line item ids related to this promotion"
}

在我的 class 中生成以下内容:

        public IList<System.Int32> orderLineIds
    {
        get
        {
            return this._orderLineIds;
        }
        set
        {
            this._orderLineIds = value;
        }
    }

当我尝试产品事件时,出现以下错误:

Avro.AvroException: Array does not implement non-generic IList in field orderLineIds

我是不是做错了什么或从我的模式中遗漏了什么?

我使用的是 .Net 5 和 schema registry 1.8.1,我遇到了同样的问题。我发现如果您的集合为空,Avro 序列化程序将抛出此异常,因为它试图转换为 IList.

我会仔细检查 orderLineIds 总是至少有一个空列表并且不为空。

一旦我这样做了,我的错误就消失了。