首页 > 解决方案 > 如何在融合模式注册表中发展模式

问题描述

我正在使用 Avro/Kafka 和 Confluent 的 Avro 架构注册表。

我使用 avsc 文件和 avdl 制作了一些具有基本类型的基本模式和主题。

我正在查看 Confluent 制作的 API 文档,以尝试将 Schema 升级到版本 2。特别是这一部分:

https://docs.confluent.io/current/schema-registry/using.html#register-a-new-version-of-a-schema-under-the-subject-kafka-key

但是当我尝试 POST 到这个端点时,我得到一个422 Conflict.

我正在使用BACKWARDS兼容性,并且只更新以前版本的一个字段:

{
    "type": "record",
    "name": "Address",
    "fields": [
        {"name": "id", "type": "string"},
        {"name": "street", "type": "string"}
    ]
}

和新版本:

{
    "type": "record",
    "name": "Address",
    "fields": [
        {"name": "id", "type": "string"},
        {"name": "street", "type": "string"},
        {"name": "number", "type": "int"}
    ]
}

谁能告诉我如何发展模式?

标签: avroconfluent-schema-registry

解决方案


通过设置解决了

access.control.allow.methods=GET,POST,OPTIONS,PUT,DELETE

我之前设置为允许CORS*但它似乎只允许 GET (?) 所以在更改此属性后,我能够更改/发展架构。


推荐阅读