GetLogsV2 - 查询Logstore中的日志数据

查询指定Project下某个Logstore中的原始日志数据,返回结果显示某时间区间中的原始日志(返回结果压缩后传输)。

接口说明

  • 日志服务 SDK 目前仅支持 Go、Java、Python 三种语言,OpenAPI 全部已支持。

  • 使用过程中注意指定压缩方法,不同语言实现的压缩算法不同,详情参考入参 Accept-Encoding。

  • 更多相关说明请参见 GetLogs

鉴权资源

下表列出了 API 对应的授权信息。您可以在 RAM 权限策略语句的 Action 元素中添加该信息,用于为 RAM 用户或 RAM 角色授予调用此 API 的权限。

动作(Action)授权策略中的资源描述方式(Resource)
log:GetLogStoreLogsacs:log:{#regionId}:{#accountId}:project/{#ProjectName}

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

当前API暂无授权信息透出。

请求语法

POST /logstores/{logstore}/logs HTTP/1.1

请求参数

名称类型必填描述示例值
projectstring

project 名称。

ali-test-project
logstorestring

logstore 名称。

test-logstore
Accept-Encodingstring

压缩方式

  • Java、Python、Go 目前支持 lz4 、gzip 解压缩

  • php、Js、C#目前仅支持 gzip 解压缩

lz4
bodyobject

请求结构体。

frominteger

查询开始时间点。该时间是指写入日志数据时指定的日志时间。

请求参数 from 和 to 定义的时间区间遵循左闭右开原则,即该时间区间包括区间开始时间点,但不包括区间结束时间点。如果 from 和 to 的值相同,则为无效区间,函数直接返回错误。 Unix 时间戳格式,表示从 1970-1-1 00:00:00 UTC 计算起的秒数。

1627268185
tointeger

查询结束时间点。该时间是指写入日志数据时指定的日志时间。

请求参数 from 和 to 定义的时间区间遵循左闭右开原则,即该时间区间包括区间开始时间点,但不包括区间结束时间点。如果 from 和 to 的值相同,则为无效区间,函数直接返回错误。 Unix 时间戳格式,表示从 1970-1-1 00:00:00 UTC 计算起的秒数。

1627268185
linelong

仅当 query 参数为查询语句时,该参数有效,表示请求返回的最大日志条数。最小值为 0,最大值为 100,默认值为 100。

100
offsetlong

仅当 query 参数为查询语句时,该参数有效,表示查询开始行。默认值为 0。

0
reverseboolean

用于指定返回结果是否按日志时间戳降序返回日志,精确到分钟级别。

true:按照日志时间戳降序返回日志。 false(默认值):按照日志时间戳升序返回日志。 注意 当 query 参数为查询语句时,参数 reverse 有效,用于指定返回日志排序方式。 当 query 参数为查询和分析语句时,参数 reverse 无效,由 SQL 分析语句中 order by 语法指定排序方式。如果 order by 为 asc(默认),则为升序;如果 order by 为 desc,则为降序。

false
powerSqlboolean

是否开启增强 sql,默认关闭。

false
sessionstring

查询参数

mode=scan
topicstring

日志主题。默认值为双引号("")。

""
querystring

查询语句或者分析语句。更多信息,请参见查询概述分析概述

在 query 参数的分析语句中加上 set session parallel_sql=true;,表示使用 SQL 独享版。例如* | set session parallel_sql=true; select count(*) as pv 。

说明当 query 参数中有分析语句(SQL 语句)时,该接口的 line 参数和 offset 参数无效,建议设置为 0,需通过 SQL 语句的 LIMIT 语法实现翻页。更多信息,请参见分页显示查询分析结果。

status: 401 | SELECT remote_addr,COUNT(*) as pv GROUP by remote_addr ORDER by pv desc limit 5
forwardboolean

scan 或短语查询表示是否向前或向后翻页

false
highlightboolean

是否高亮

false

返回参数

名称类型描述示例值
headersobject
datestring

返回响应的时间。

Sun, 27 May 2018 08:25:04 GMT
serverstring

服务器名称。

nginx
content-lengthstring

响应内容长度。

0
x-log-requestidstring

服务端产生的标识,该请求的唯一 ID。

5B0A6B60BB6EE39764D458B5
x-log-bodyrawsizestring

返回响应内容的大小。

120
connectionstring

是否长链接。取值包括: close:不是长链接,则每个 HTTP 请求都会重新建立 TCP 连接。 keep-alive:长链接,TCP 连接建立后保持连接状态,节省连接所需时间和带宽。

keep-alive
content-typestring

返回的响应体的内容格式。

json
x-log-compresstypestring

返回响应内容的压缩格式。

lz4
object

返回数据

metaobject

返回数据 meta 信息

progressstring

查询的结果是否完整。

  • Complete:查询已经完成,返回结果为完整结果。
  • Incomplete:查询已经完成,返回结果为不完整结果,需要重复请求以获得完整结果。
Complete
aggQuerystring

查询语句中 | 之后的 SQL 部分

select *
whereQuerystring

查询语句中 | 之前的部分

*
hasSQLboolean

是否 sql 查询

false
processedRowslong

本次查询处理的行数。

10000
elapsedMillisecondlong

本次查询消耗的毫秒时间。

5
cpuSecdouble

独享 SQL 的核时

0.002
cpuCoresinteger

使用 cpu 核数

3
keysarray

查询结果中所有的 key

string

key

key
termsarray<object>

查询语句中所有的词

object

{term=*, key=}
limitedinteger

限制条数,sql 不带 limit 会返回

100
modeinteger

查询模式枚举 0: 普通查询(包括 sql) 1: 短语查询 2: SCAN 扫描 3: SCAN SQL

0
phraseQueryInfoobject

短语查询

scanAllboolean

是否已经扫描了全部日志

true
beginOffsetlong

本次扫描结果对应的索引过滤后的起始 offset

0
endOffsetlong

本次扫描结果对应的索引过滤后的结束 offset

0
endTimelong

本次扫描结果对应的索引过滤后的最后时间

1
scanByteslong

scan 时返回扫描的数据量(字节)。

1024
highlightsarray

高亮内容

array

高亮内容

LogContent

高亮日志内容

countinteger

本次查询请求返回的日志行数。

1
processedByteslong

查询处理日志量

10000
isAccurateboolean

是否秒级精确

true
columnTypesarray

列类型

string

类型

long
telementryTypestring

可观测数据类型

None
dataarray<object>

返回结果。

object

返回的数据。

string

返回数据。

{'remote_addr': '198.51.XXX.XXX', 'pv': '1', '__source__': '', '__time__': '1649902984'}

示例

正常返回示例

JSON格式

{
  "meta": {
    "progress": "Complete",
    "aggQuery": "select *",
    "whereQuery": "*",
    "hasSQL": false,
    "processedRows": 10000,
    "elapsedMillisecond": 5,
    "cpuSec": 0.002,
    "cpuCores": 3,
    "keys": [
      "key"
    ],
    "terms": [
      {
        "test": "test",
        "test2": 1
      }
    ],
    "limited": 100,
    "mode": 0,
    "phraseQueryInfo": {
      "scanAll": true,
      "beginOffset": 0,
      "endOffset": 0,
      "endTime": 1
    },
    "scanBytes": 1024,
    "highlights": [
      [
        {
          "Key": "key-test",
          "Value": "value-test"
        }
      ]
    ],
    "count": 1,
    "processedBytes": 10000,
    "isAccurate": true,
    "columnTypes": [
      "long"
    ],
    "telementryType": "None"
  },
  "data": [
    {
      "key": "{'remote_addr': '198.51.XXX.XXX', 'pv': '1', '__source__': '', '__time__': '1649902984'}"
    }
  ]
}

错误码

访问错误中心查看更多错误码。