0

我只是在这里做一些测试。我为一个主题设置了下面的架构:

{
    "type": "STRING",
    "schema": "",
    "properties": {}
}

我也将其设置is-allow-auto-update-schema为 false 和schema-validation-enforcetrue。然后我运行下面的代码:

python -c "import pulsar; from pulsar.schema import *;  prod = pulsar.Client('pulsar://localhost:6650').create_producer('topic1', schema=StringSchema()); prod.send('Hola manola'); prod.close()"

我得到了一个,IncompatibleSchemaException但我不明白为什么,因为两个模式都表明消息应该只是一个字符串。

is-allow-auto-update-schema然后我检查了设置to时会发生什么,true并删除了主题的架构,然后自动上传了下一个架构:

{
    "name": "topic1",
    "schema": "bnVsbA\u003d\u003d",
    "type": "STRING",
    "properties": {}
}

事实证明,该schema字段现在包含某些内容。文档说:

对于原始类型,Pulsar 不会在 SchemaInfo 中存储任何模式数据。SchemaInfo 中的类型用于确定如何对数据进行序列化和反序列化。

我想我错过了一些东西:有人可以给我一个线索吗?谢谢!

4

0 回答 0