具有自动完成和语法突出显示功能的Elasticsearch SQL CLI开放发行版
odfe-sql-cli的Python项目详细描述
打开Elasticsearch SQL CLI发行版
opendistro for Elasticsearch(ODFE)中的sqlcli组件是一个独立的Python应用程序,可以通过“wake”单词odfesql
启动。在
它只支持Open Distro for Elasticsearch (ODFE) SQL Plugin 必须将ODFE SQL插件安装到Elasticsearch实例才能进行连接。 用户可以从MacOS和Linux上运行此CLI,并连接到任何有效的Elasticsearch端点,例如Amazon Elasticsearch Service(AES)。在
特点
- 多行输入
- SQL语法和索引名称的自动完成
- 语法突出显示
- 格式化输出:
- 表格格式
- 带颜色的字段名
- 当输出对终端来说太宽时,启用水平显示(默认)和垂直显示,以获得更好的可视化效果
- 大输出分页
- 连接到在Elasticsearch OSS或Amazon Elasticsearch服务域上启用/不启用安全性的Elasticsearch。在
- 支持加载配置文件
- 支持所有SQL插件查询
安装
启动本地的Elasticsearch实例,并确保安装了Elasticsearch的Open发行版SQL插件。在
要安装SQL CLI,请执行以下操作:
- 在
我们建议您安装并激活python3虚拟环境,以避免更改您的本地环境:
在pip install virtualenv virtualenv venv cd venv source ./bin/activate
- 在
安装CLI:
^{pr2}$SQL CLI仅适用于Python3,因为自2020年1月1日起不再维护Python2。见https://pythonclock.org/
在 - 在
要启动CLI,请运行:
odfesql https://localhost:9200 --username admin —password admin
默认情况下,
在odfesql
命令连接到http://localhost:9200。在
配置
当您第一次启动sqlcli时,会在~/.config/odfesql-cli/config
(对于MacOS和Linux)自动创建一个配置文件,然后自动加载配置。在
您还可以配置以下连接属性:
endpoint
:不需要指定一个选项,在启动命令odfesql
之后的任何内容都被视为端点。如果不提供端点,默认情况下,sqlcli连接到http://localhost:9200。在-u/-w
:支持HTTP基本身份验证的用户名和密码,例如:- 安装了Open Distro for Elasticsearch Security Plugin的Elasticsearch OSS
- 启用Fine Grained Access Control的Amazon Elasticsearch服务域
- 启用X-pack安全的Elasticsearch
--aws-auth
:打开AWS sigV4身份验证以连接到Amazon Elasticsearch服务端点。与AWS CLI(aws configure
)一起使用可检索本地AWS配置以进行身份验证和连接。在
有关所有可用配置的列表,请参见clirc。在
使用CLI
- 在
保存示例accounts test data文件。在
在 - 在
索引样本数据。在
在curl -H "Content-Type: application/x-ndjson" -POST https://localhost:9200/data/_bulk -u admin:admin --insecure —data-binary "@accounts.json"
- 在
在ODFE SQL CLI中运行一个简单的SQL命令:
SELECT * FROM accounts;
默认情况下,最大输出为200行。要显示更多结果,请添加一个具有所需值的
在LIMIT
子句。在
CLI支持odfesql支持的所有类型的查询。参考ODFE SQL basic usage documentation.
查询选项
使用选项从命令行运行单个查询
--help
:选项的帮助页-q
:后面跟着一个查询-f
:支持jdbc/raw格式输出-v
:垂直显示数据-e
:将sql转换为DSL
CLI选项
-p
:始终使用寻呼机显示输出- ^{cd16>文件加载路径
行为准则
这个项目采用了Open Source Code of Conduct。在
安全问题通知
如果您在这个项目中发现了潜在的安全问题,我们要求您通过我们的vulnerability reporting page通知AWS/Amazon安全性。请not创建公共Git您报告的安全漏洞的集线器问题。在
许可
请参阅LICENSE文件以获取我们项目的许可证。我们将要求您确认您的出资许可。在
版权所有
版权2020亚马逊网站,Inc.或其附属公司。版权所有。在
- 项目
标签: