Open Distro for Elasticsearch SQL CLI with auto-completion and syntax highlighting
Project description
Open Distro for Elasticsearch SQL CLI
The SQL CLI component in Open Distro for Elasticsearch (ODFE) is a stand-alone Python application and can be launched by a 'wake' word odfesql
.
It only supports Open Distro for Elasticsearch (ODFE) SQL Plugin You must have the ODFE SQL plugin installed to your Elasticsearch instance to connect. Users can run this CLI from MacOS and Linux, and connect to any valid Elasticsearch end-point such as Amazon Elasticsearch Service (AES).
Features
- Multi-line input
- Autocomplete for SQL syntax and index names
- Syntax highlighting
- Formatted output:
- Tabular format
- Field names with color
- Enabled horizontal display (by default) and vertical display when output is too wide for your terminal, for better visualization
- Pagination for large output
- Connect to Elasticsearch with/without security enabled on either Elasticsearch OSS or Amazon Elasticsearch Service domains.
- Supports loading configuration files
- Supports all SQL plugin queries
Install
Launch your local Elasticsearch instance and make sure you have the Open Distro for Elasticsearch SQL plugin installed.
To install the SQL CLI:
-
We suggest you install and activate a python3 virtual environment to avoid changing your local environment:
pip install virtualenv virtualenv venv cd venv source ./bin/activate
-
Install the CLI:
pip3 install odfe-sql-cli
The SQL CLI only works with Python 3, since Python 2 is no longer maintained since 01/01/2020. See https://pythonclock.org/
-
To launch the CLI, run:
odfesql https://localhost:9200 --username admin --password admin
By default, the
odfesql
command connects to http://localhost:9200.
Configure
When you first launch the SQL CLI, a configuration file is automatically created at ~/.config/odfesql-cli/config
(for MacOS and Linux), the configuration is auto-loaded thereafter.
You can also configure the following connection properties:
endpoint
: You do not need to specify an option, anything that follows the launch commandodfesql
is considered as the endpoint. If you do not provide an endpoint, by default, the SQL CLI connects to http://localhost:9200.-u/-w
: Supports username and password for HTTP basic authentication, such as:- Elasticsearch OSS with Open Distro for Elasticsearch Security Plugin installed
- Amazon Elasticsearch Service domain with Fine Grained Access Control enabled
- Elasticsearch with X-pack security enabled
--aws-auth
: Turns on AWS sigV4 authentication to connect to an Amazon Elasticsearch Service endpoint. Use with the AWS CLI (aws configure
) to retrieve the local AWS configuration to authenticate and connect.
For a list of all available configurations, see clirc.
Using the CLI
-
Save the sample accounts test data file.
-
Index the sample data.
curl -H "Content-Type: application/x-ndjson" -POST https://localhost:9200/data/_bulk -u admin:admin --insecure --data-binary "@accounts.json"
-
Run a simple SQL command in ODFE SQL CLI:
SELECT * FROM accounts;
By default, you see a maximum output of 200 rows. To show more results, add a
LIMIT
clause with the desired value.
The CLI supports all types of query that ODFE SQL supports. Refer to ODFE SQL basic usage documentation.
Query options
Run single query from command line with options
--help
: help page for options-q
: follow by a single query-f
: support jdbc/raw format output-v
: display data vertically-e
: translate sql to DSL
CLI Options
-l
: Query language option. Available options are [sql, ppl]. By default it's using sql.-p
: always use pager to display output--clirc
: provide path of config file to load
Code of Conduct
This project has adopted an Open Source Code of Conduct.
Security issue notifications
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our vulnerability reporting page. Please do not create a public GitHub issue for security bugs you report.
Licensing
See the LICENSE file for our project's licensing. We will ask you to confirm the licensing of your contribution.
Copyright
Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file odfe-sql-cli-1.13.0.0.tar.gz
.
File metadata
- Download URL: odfe-sql-cli-1.13.0.0.tar.gz
- Upload date:
- Size: 16.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5ac2ac65e2369a7ed5eb5f3ee1ececa3701f8b31e38aacb236baf95faf3c060 |
|
MD5 | dba705d01c1327d6cc520f9acf1cca11 |
|
BLAKE2b-256 | 3e983920535677b4ded5e10aa84f64ded287584e355f2ed7d9e90f57b5978227 |
File details
Details for the file odfe_sql_cli-1.13.0.0-py3-none-any.whl
.
File metadata
- Download URL: odfe_sql_cli-1.13.0.0-py3-none-any.whl
- Upload date:
- Size: 24.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22b9b1c39930a4873ee2abfcf8371ea79f7773745b8fd0fe677baee592ed5438 |
|
MD5 | 0286d8a3424df33bd33191c7c6e1b994 |
|
BLAKE2b-256 | 308c34f45c009cf16c73997082e7cae7321ef85c44564f9be3d9174c3d19d282 |