Как написать ключевые значения для консультации
В первом примере мы будем использовать HTTP API напрямую, во втором мы будем использовать Java Consul API ecwid. На Github вы найдете все примеры. Итак, давайте начнем.
HTTP API В этом примере мы сохраняем значение “buon giorno” с ключом “сообщение”. И все, что вам нужно сделать, это выполнить операцию REST PUT с v1/kv
в качестве пути. Здесь проконсультироваться можно по адресу http://127.0.0.1:8500
. Это оно.
var value = "buon giorno"; var keyValuePath = "/config/consul-example/greetings/message"; var resourceUrl = "http://127.0.0.1:8500/v1/kv" + keyValuePath; HttpRequest request = HttpRequest.newBuilder() .uri(new URI(resourceUrl)) .PUT(HttpRequest.BodyPublishers.ofString(value)) .build(); HttpClient .newBuilder() .build() .send(request, HttpResponse.BodyHandlers.ofString());
Java Consul API Библиотека довольно проста. Сначала вам нужно создать клиент Consul с URL-адресом. Вы используете этот ConsulClient для чтения и записи. Это просто методы set* (с ключом и значением) и get*. С помощью функции getKVValue() вы получаете экземпляр ответа. А для получения реального значения вы должны вызвать getDecodedValue(). 🙂
ConsulClient consulClient = new ConsulClient("http://127.0.0.1:8500"); consulClient.setKVValue("/config/blueprint/greetings/note", "hello"); Responseresponse = consulClient.getKVValue("/config/blueprint/greetings/note"); System.out.println("value: " + response.getValue().getDecodedValue());
Ссылки https://www.consul.io/api-docs#http-methods https://github.com/Ecwid/consul-api
Оригинал: “https://dev.to/claudioaltamura/writing-key-values-from-java-to-consul-58ik”