8.3.2. 使用 Apicurio Registry 配置 JSON Schema SerDe
Apicurio Registry 为 JSON Schema 提供以下 Kafka 客户端序列化r 和 deserializer 类:
-
io.apicurio.registry.serde.jsonschema.JsonSchemaKafkaSerializer -
io.apicurio.registry.serde.jsonschema.JsonSchemaKafkaDeserializer
与 Apache Avro 不同,JSON Schema 不是序列化技术,而是验证技术。因此,JSON Schema 的配置选项并不相同。例如,没有编码选项,因为数据始终被编码为 JSON。
配置 JSON Schema serializer
您可以配置 JSON Schema serializer 类,如下所示:
- Apicurio Registry URL
- 工件解析器策略
- 模式验证
唯一非标准配置属性是 JSON Schema 验证(默认为启用)。您可以通过将 apicurio.registry.serde.validation-enabled 设置为 "false" 来禁用此功能。例如:
props.putIfAbsent(SerdeConfig.VALIDATION_ENABLED, Boolean.FALSE)
配置 JSON Schema deserializer
您可以配置 JSON Schema deserializer 类,如下所示:
- Apicurio Registry URL
- 模式验证
- 用于对数据进行反序列化的类
您必须提供 Apicurio Registry 的位置,以便可以加载 schema。其他配置是可选的。
注意
只有在 serializer 传递 Kafka 消息中的全局 ID 时,仅当 serializer 中启用了验证时才会发生,反序列化验证才可以正常工作。