2
スキーマレジストリにAVROスキーマを登録しようとしています。スキーマにはレコードといくつかのフィールドが含まれています。 JSONをスキーマレジストリREST APIにポストしますが、JSONは正常に見えますが、サーバはcurl : {"error_code":42201,"message":"Input schema is an invalid Avro schema"}
を返します。AVROスキーマのJSONは有効ですが、Kafkaスキーマレジストリから無効を返します
他にもありますか?
Powershellは、JSONとしてスキーマを生成するために使用されます。
$type = @{namespace="customer-actions"; name="customer-enrollment";
type="record";
[email protected]{name="id"; type="int"},
@{name="name"; type="string"}}
$typeJ = ConvertTo-Json $type -Depth 3 -Compress
$schema = @{schema = "$typeJ" }
$schemaJ = ConvertTo-Json $schema -Compress
これは...以下を生成
本当に悪いに見える{"schema":"{\"type\":\"record\",\"namespace\":\"customer-actions\",\"name\":\"customer-enrollment\",\"fields\":[{\"name\":\"id\",\"type\":\"int\
"},{\"name\":\"name\",\"type\":\"string\"}]}"}
。エスケープされた引用符はすべて必要です。同一のエスケープ文字が問題なく簡単なスキーマで使用されます。
ありがとうございます。
[編集] スキーマレジストリAPIの呼び出しが、それは場合に役立ちます
curl -Uri http://server:8081/subjects/customer-enrollment/versions `
-Method Post `
-ContentType "application/vnd.schemaregistry.v1+json" `
-Body $schemaJ
バリデータはこちら[AVROスキーマバリデータ](https://json-schema-validator.herokuapp.com/avro.jsp) –
[Rubber Duck Debugging](https: //en.wikipedia.org/wiki/Rubber_duck_debugging) –
@LucianoAfranllieはそうです! –