Confluent5.5.0不仅理解Avro模式,还理解json-schema和Protobuf。我有一个有效的json-schema,我正试图将其转换到schema registry服务器,但我一直得到响应
curl -X POST -H "Content-Type: application/vnd.schemaregistry.v1+json" \
--data @$tmpfile ${schemaregistry}/subjects/${topic}-value/versions?schemaType=JSONSCHEMA
{"error_code":42201,"message":"Either the input schema or one its references is invalid"}
手册不清楚如何使用schematype
参数。我尝试过作为查询参数,作为json中的字段,...我发布的$tmpfile
是一个json,其中有一个名为schema
的顶级字段,它包含一个引用转义的json-schema。同样的机制对于Avro模式非常有效。
查看模式注册表的日志记录,我看到它试图将提供的数据解析为Avro模式,因此难怪它会失败。
有人帮忙吗?和合流:请澄清并修正您的文档!
根据Confluent schema registry API文档,可以通过调用
curl --silent -X GET http://localhost:8081/schemas/types
这将导致
["JSON","PROTOBUF","AVRO"]
对于当前版本(5.5),因此输出可能有助于设置适当的schematype-attribute。
尽管如此,正如@Bart van deenen在这里指出的,API文档(仍然)是错误的。
啊,我明白了。文件不清不对!
您必须在发布的JSON中添加一个字段。字段名为schematype
,其值必须是json
,而不是jsonschema
(文档中所说的)。
对于其他人,这里的示例展示了如何将带有avro和json模式的本地文件放入Schema-Registry:
#!/bin/bash
schemaregistry="$1"
tmpfile=$(mktemp)
topic=avro-topic
export SCHEMA=$(cat schema.avsc)
echo '{"schema":""}' | jq --arg schema "$SCHEMA" '.schema = $schema' \
> $tmpfile
curl -X POST -H "Content-Type: application/vnd.schemaregistry.v1+json" \
--data @$tmpfile ${schemaregistry}/subjects/${topic}-value/versions
topic=json-topic
export SCHEMA=$(cat schema.json)
echo '{"schema":"","schemaType":"JSON"}' | jq --arg schema "$SCHEMA" '.schema = $schema' \
> $tmpfile
curl -X POST -H "Content-Type: application/vnd.schemaregistry.v1+json" \
--data @$tmpfile ${schemaregistry}/subjects/${topic}-value/versions
rm $tmpfile
Schema Registry Confluent Schema Registry provides a serving layer for your metadata. It provides a RESTful interface for storing and retrieving your Avro®, JSON Schema, and Protobuf schemas. It store
允许将自定义的注册表插入到任务系统中,以期提供共享任务或增强功能。 注意: 只有用 task() 方法注册的任务才会进入自定义注册表中。直接传递给 series() 或 parallel() 的任务函数(task functions)不会进入自定义任务注册表 - 如果你需要自定义注册表的行为,请通过字符串引用的方式将任务(task)组合在一起。 分配新注册表时,将传输当前注册表中的每个任务,并将用
�� npm registry documentation A collection of archived documentation about registry endpoints/API If you're having issues with the website or registry itself pleasecontact npm's support staff.
《分布式服务注册中心 XXL-REGISTRY》 为方便项目维护,该项目已经合并至 XXL-RPC :https://www.oschina.net/p/xxl-rpc
Registry Decoder是一款免费、开源的注册表取证分析工具,它可以自动获取、分析和报告windows注册表中的内容。Registry Decoder的主要目的是为注册表相关研究提供一个统一完整的平台,并且适用于所有人员。
Open-Registry - Open JavaScript Module Registry Website: https://open-registry.dev Preliminary npm proxy: https://npm.open-registry.dev LiberaPay for donations: https://liberapay.com/open-registry-com