Ошибка с REST-прокси Confluent Schema при попытке установить схему Avro - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь обновить схему avro с помощью API оставшегося прокси в Confluent. Я могу сделать GET со следующим, и получить действительный ответ:

http://mykafkahost.com: 8081 / subject / avro-схема-для-значения / версии / 1

Но когда я пытаюсь это сделать: http://mykafkahost.com: 8081 / subject / my-avro-schema-for-value / 1

с использованием POST, PUT или PATCH, я последовательно get

{"error_code":404,"message":"HTTP 404 Not Found"}

Также пробовал http://mykafkahost.com: 8081 / subject / my-avro-схема-для-значения / версии / 1 , но это дает:

{"error_code":405,"message":"HTTP 405 Method Not Allowed"}

Я спросил операционную команду, и они не верят, что определенные c глаголы включены / отключены, но это кажется мне возможным. Если мне нужно включить POST, через какой файл конфигурации это делается?

Ответы [ 2 ]

1 голос
/ 19 февраля 2020

Если вы намереваетесь обновить схему, которая уже зарегистрирована в реестре схемы, то здесь будет вызов POST,

HTTP POST:
URL http://mykafkahost.com:8081/subjects/my-avro-schema-for-value/ 
Post Body:
    {
          "schema":
             "{
                    \"type\": \"record\",
                    \"name\": \"test\",
                    \"fields\":
                      [
                        {
                          \"type\": \"string\",
                          \"name\": \"field1\"
                        },
                        {
                          \"type\": \"int\",
                          \"name\": \"field2\"
                        }
                      ]
                  }"
        }

Response: 
HTTP/1.1 200 OK
{"id":2}

При успешном выполнении запроса POST будет новая версия схемы для topi c, но вы не можете обновить существующую версию, вы можете только удалить версию.

Надеюсь, что это ответ.

1 голос
/ 19 февраля 2020

с использованием API остальных прокси в Confluent

Это реестр Schema , а не REST Proxy.



Но когда я пытаюсь это сделать: :8081/subjects/my-avro-schema-for-value/1

, используя либо POST, PUT, or PATCH, я последовательно получаю

{"error_code":404,"message":"HTTP 404 Not Found"}

  1. Опечатка? Вы ставите /my-avro-schema, а не /avro-schema
  2. Этот адрес не отвечает на эти методы . Только DELETE работает на /subjects/<name>-value/versions/<version>

через какой файл конфигурации это делается?

Существует только один файл конфигурации для Реестр схем.

...