具有自动完成和语法突出显示功能的Elasticsearch SQL CLI开放发行版

odfe-sql-cli的Python项目详细描述


SQL CLI Test and BuildLatest VersionDocumentationChat ^{1}$ PRs welcome!

打开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,请执行以下操作:

  1. 我们建议您安装并激活python3虚拟环境,以避免更改您的本地环境:

    pip install virtualenv
    virtualenv venv
    cd venv
    source ./bin/activate
    
  2. 安装CLI:

    ^{pr2}$

    SQL CLI仅适用于Python3,因为自2020年1月1日起不再维护Python2。见https://pythonclock.org/

  3. 要启动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基本身份验证的用户名和密码,例如:
  • --aws-auth:打开AWS sigV4身份验证以连接到Amazon Elasticsearch服务端点。与AWS CLI(aws configure)一起使用可检索本地AWS配置以进行身份验证和连接。在

有关所有可用配置的列表,请参见clirc。在

使用CLI

  1. 保存示例accounts test data文件。在

  2. 索引样本数据。在

    curl -H "Content-Type: application/x-ndjson" -POST https://localhost:9200/data/_bulk -u admin:admin --insecure —data-binary "@accounts.json"
    
  3. 在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.或其附属公司。版权所有。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
导入扫描程序后出现java编译错误   java如何在字符串中查找元音,并在屏幕上打印元音最多的单词?   java Libgdx robovm生成错误   java Eclipse条件断点仅在其他断点之后   java IntelliJ Idea JavaFX调试问题   如果字符串*仅*包含字符集中的*所有*字符,再加上一个可选字符,则匹配java正则表达式   java禁用实体、DTO包上的声纳复制   java如何使用正则表达式获取HTML标记中的字符串数据   使用Enum和billpugh方法的java通用单例   java如何在我的安卓应用程序中建立VPN连接(Cisco IPSec Xauth PSK),而不是通过安卓内置的VPN工具激活它?   JavaWebSphere9:JaxWS在Workmanager中的调用第二次失败   java缺少openfaces树表的js   netbeans Java实体bean没有从数据库中删除行;仅从JTable   java JBoss AS 7.1数据源如何加密密码   批处理文件的替代方案,因为我无法在其中包含java代码   java ArrayList容量大小增加奇怪的行为   多个OneTONE自引用关系的java JPA注释   throttle(intPower)和getSpeed()之间的java差异:UML图中的int?   火花和值和计数不同值Java