Выполнение запроса от Apache Calcite к защищенному серверу ElasticSearch (https)

Как выразить схему (https) в файле model.json, это для подключения к Elasticsearch?

Ниже приведен файл model.js:

{
  "version": "1.0",
  "defaultSchema": "elasticsearch",
  "schemas": [
    {
      "type": "custom",
      "name": "elasticsearch",
      "factory": "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory",
      "operand": {
        "coordinates": "{'127.0.0.1': 9200}",
        "index": "myIndex",
        "useConig": "{}"
      }
    }
  ]
}

В следующем коде JAVA я пытаюсь подключиться к Elasticsearch:

Connection conn = DriverManager.getConnection("jdbc:calcite:", properties);
calciteConnection = conn.unwrap(CalciteConnection.class);
String elasticSchema = Resources.toString(somefile.class.getResource("/model.json"), Charset.defaultCharset());

new ModelHandler(calciteConnection, "inline:" + elasticSchema);

String sql = “select field1 from table1”
statement2 = calciteConnection.prepareStatement(sql);
ResultSet set = statement2.executeQuery();

Исключение для закрытия соединения, и я вижу в журнале, что он пытался подключиться к http, а не к https (желательно). Где я могу указать https в файле модели?


person Vincent Carter    schedule 04.07.2019    source источник


Ответы (1)


Адаптер Calcite Elasticsearch в настоящее время не поддерживает соединения через HTTPS. Я предлагаю вам открыть задачу в JIRA компании Calcite. Или, что еще лучше, внесите необходимые изменения в код самостоятельно :)

person Michael Mior    schedule 06.07.2019