使用控制台运行 API 请求

编辑

使用控制台运行 API 请求

编辑

控制台允许您在 Kibana 中与 Elasticsearch APIKibana API 进行交互。

Console

要进入控制台,请在导航菜单中找到开发工具,或使用全局搜索栏

您还可以在某些搜索解决方案和 Elasticsearch 无服务器项目页面上直接找到控制台,您可以从页脚展开它。这个控制台,称为持久控制台,具有与开发工具中的控制台相同的功能,并共享相同的历史记录。

Console

编写请求

编辑

控制台理解类似 cURL 的语法中的命令。例如,以下是对 Elasticsearch _search API 的 GET 请求。

GET /_search
{
  "query": {
    "match_all": {}
  }
}

这是 cURL 中等效的命令

curl -XGET "https://127.0.0.1:9200/_search" -d'
{
  "query": {
    "match_all": {}
  }
}'

在 Kibana API 端点的请求前加上 kbn:

GET kbn:/api/index_management/indices

自动补全

编辑

当您键入命令时,控制台会提供上下文相关的建议。这些建议会显示每个 API 的参数,并加快您的键入速度。

您可以在控制台设置中配置自动补全的首选项。

注释

编辑

您可以使用双斜杠或井号来创建单行注释,以编写注释或临时禁用请求的某些部分。

# This request searches all of your indices.
GET /_search
{
  // The query parameter indicates query context.
  "query": {
    "match_all": {} // Matches all documents.
  }
}

您还可以使用斜杠后跟星号来标记多行注释的开头。星号后跟斜杠标记结尾。

GET /_search
{
  "query": {
    /*"match_all": {
      "boost": 1.2
    }*/
    "match_none": {}
  }
}

变量

编辑

单击变量以创建、编辑和删除变量。

Variables

您可以在请求的路径和正文中引用这些变量。每个变量可以被引用多次。

GET ${pathVariable}
{
  "query": {
    "match": {
      "${bodyNameVariable}": "${bodyValueVariable}"
    }
  }
}

默认情况下,正文中的变量可以通过删除附近的引号来替换为布尔值、数字、数组或对象,而不是带有周围引号的字符串。三引号会覆盖此默认行为,并强制简单地替换为字符串。

GET /locations/_search
{
  "query": {
    "bool": {
      "must": {
        "match": {
          // ${shopName} shall be replaced as a string if the variable exists.
          "shop.name": """${shopName}"""
        }
      },
      "filter": {
        "geo_distance": {
          "distance": "12km",
          // "${pinLocation}" may be substituted with an array such as [-70, 40].
          "pin.location": "${pinLocation}"
        }
      }
    }
  }
}

自动格式化

编辑

自动格式化功能可以帮助您格式化请求,使其更易读。选择您要格式化的一个或多个请求,打开上下文菜单,然后选择自动缩进

键盘快捷键

编辑
转到行号
Ctrl/Cmd + L
自动缩进当前请求
Ctrl/Cmd + I
跳转到下一个请求末尾
Ctrl/Cmd +
跳转到上一个请求末尾
Ctrl/Cmd +
打开当前请求的文档
Ctrl/Cmd + /
运行当前请求
Ctrl/Cmd + Enter
应用自动补全菜单中的当前或最顶部项
EnterTab
关闭自动补全菜单
Esc
在自动补全菜单中导航项目
+

查看 API 文档

编辑

要查看 API 端点的文档,请选择请求,然后打开上下文菜单并选择打开 API 参考

运行请求

编辑

当您准备好运行请求时,请选择请求,然后单击播放按钮。

请求执行的结果将显示在响应面板中,您可以在其中看到

  • JSON 响应
  • 与请求对应的 HTTP 状态代码
  • 执行时间(毫秒)。

您可以选择多个请求并一起提交。 控制台 会逐个执行请求。当您正在调试问题或尝试在多个场景中查询组合时,提交多个请求很有帮助。

导入和导出请求

编辑

您可以导出请求

  • 到 TXT 文件,通过使用 导出请求 按钮。使用此方法时,输入面板的所有内容(包括注释、请求和有效负载)都会被复制。所有格式都将保留,并允许您稍后使用 导入请求 按钮重新导入该文件,或导入到不同的环境中。

    当导入包含控制台请求的 TXT 文件时,输入面板的当前内容将被替换。如果您不想丢失它,请先导出它,或者如果您已经运行了请求,请在历史记录选项卡中查找它。

  • 通过将它们单独复制为 curlJavaScriptPython。为此,请选择一个请求,然后打开上下文菜单并选择复制为。当使用此操作时,请求会被单独复制到您的剪贴板。您可以保存您喜欢的语言,以便下次使用时更快地进行复制操作。

    当从外部环境运行复制的请求时,您需要将 身份验证信息添加到请求中。

获取您的请求历史记录

编辑

控制台会维护您尝试执行的最后 500 个请求的列表。要查看它们,请打开历史记录选项卡。

您可以通过选择请求并单击添加并运行来再次运行历史记录中的请求。如果您想将其添加回控制台输入面板而不运行它,请单击添加。它会被添加到编辑器中的当前光标位置。

配置控制台设置

编辑

转到控制台配置选项卡,以自定义其显示、自动补全和辅助功能设置。

禁用控制台

编辑

如果您不想使用控制台,可以通过在您的 kibana.yml 配置文件中将 console.ui.enabled 设置为 false 来禁用它。更改此设置会导致服务器在下次启动时重新生成资产,这可能会导致页面开始服务之前出现延迟。

您还可以选择仅禁用在多个 Kibana 页面页脚中显示的持久控制台。为此,请转到堆栈管理> 高级设置,然后关闭 devTools:enablePersistentConsole 设置。