Выполнение запроса от Apache Calcite к защищенному серверу Elastisearch (https) - PullRequest
0 голосов
/ 05 июля 2019

Как выразить схему (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 в файле модели?

1 Ответ

0 голосов
/ 06 июля 2019

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

...