查询指定Project下某个Logstore中的日志数据。
接口说明
-
请求语法中 Host 由 Project 名称和日志服务 Endpoint 构成,您需要在 Host 中指定 Project。
-
当查询涉及的日志数量变化非常大时,日志服务 API 无法预测需要调用多少次该接口来获取完整结果。所以需要您查看每次请求返回结果中的 x-log-progress 状态值,根据状态值来确定是否需要重复调用该接口来获取最终完整结果。每次重复调用该接口都会重新消耗相同数量的查询 CU。
-
当日志写入到 Logstore 中,日志服务的查询接口(GetHistograms 和 GetLogs)能够查到该日志的延时因写入日志类型不同而异。日志服务按日志时间戳把日志分为如下两类:
- 实时数据:日志中时间点为服务器当前时间点\(-180 秒,900 秒]。例如,日志时间为 UTC 2014-09-25 12:03:00,服务器收到时为 UTC 2014-09-25 12:05:00,则该日志被作为实时数据处理,一般出现在正常场景下。
- 历史数据:日志中时间点为服务器当前时间点[-7x86400 秒,-180 秒)。例如,日志时间为 UTC 2014-09-25 12:00:00,服务器收到时为 UTC 2014-09-25 12:05:00,则该日志被作为历史数据处理,一般出现在补数据场景下。 其中,实时数据写入至可查询的最大延时为 3 秒,99.9%情况下 1 秒内即可查询完毕。
- 日志服务提供 Java 和 Python SDK 的 GetLogs 查询使用示例。更多信息,请参见Java GetLogs 使用示例和Python GetLogs 使用示例。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
log:GetLogStoreLogs | Read |
|
| 无 |
请求语法
GET /logstores/{logstore}?type=log
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
project | string | 是 | Project 名称。 | ali-test-project |
logstore | string | 是 | 查询 Logstore 中的数据。 | example-logstore |
from | integer | 是 | 查询开始时间点。该时间是指写入日志数据时指定的日志时间。
说明
如果您要确保不漏查数据,请将查询时间对齐到分钟级别。如果您在分析语句中设置了时间范围,则查询分析时以该时间范围为准。
如果您需要精确到秒,需要在分析语句中指定时间时,使用from_unixtime 函数或to_unixtime 函数转换下时间格式。例如:
| 1627268185 |
to | integer | 是 | 查询结束时间点。该时间是指写入日志数据时指定的日志时间。
说明
如果您要确保不漏查数据,请将查询时间对齐到分钟级别。如果您在分析语句中设置了时间范围,则查询分析时以该时间范围为准。
如果您需要精确到秒,需要在分析语句中指定时间时,使用from_unixtime 函数或to_unixtime 函数转换下时间格式。例如:
| 1627269085 |
query | string | 否 | 查询语句或者分析语句。更多信息,请参见查询概述和分析概述。
在 query 参数的分析语句中加上 说明
当 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 |
topic | string | 否 | 日志主题。默认值为双引号("")。更多信息,请参见日志主题(Topic)。 | topic |
line | long | 否 | 仅当 query 参数为查询语句时,该参数有效,表示请求返回的最大日志条数。最小值为 0,最大值为 100,默认值为 100。 | 100 |
offset | long | 否 | 仅当 query 参数为查询语句时,该参数有效,表示查询开始行。默认值为 0。 | 0 |
reverse | boolean | 否 | 用于指定返回结果是否按日志时间戳降序返回日志,精确到分钟级别。
注意
| false |
powerSql | boolean | 否 | 是否使用 SQL 独享版。更多信息,请参见开启 SQL 独享版。
除通过 powerSql 参数配置 SQL 独享版外,您还可以使用 query 参数。 | false |
返回参数
示例
正常返回示例
JSON
格式
[
{
"test": "test",
"test2": 1
}
]
错误码
访问错误中心查看更多错误码。
HttpStatusCode | ErrorCode | ErrorMessage | 错误码描述 |
---|---|---|---|
404 | ProjectNotExist | Project does not exist. | Project 不存在。 |
404 | LogStoreNotExist | Logstore does not exist. | Logstore 不存在。 |
400 | InvalidTimeRange | Request time range is invalid. | 请求的时间区间无效。 |
400 | InvalidQueryString | Query string is invalid. | 请求的查询分析语句无效。 |
400 | InvalidOffset | Offset is invalid. | 请求的 offset 参数无效。 |
400 | InvalidLine | Line is invalid. | 请求的 line 参数无效。 |
400 | InvalidReverse | Reverse value is invalid. | Reverse 参数的值无效。 |
400 | IndexConfigNotExist | Logstore without index config. | Logstore 未开启索引。 |
400 | ParameterInvalid | ErrorType:OLSQueryParseError.ErrorMessage:offset is not available for pagination in sql query, please use limit x,y syntax for pagination. | 当 query 参数中有分析语句(SQL 语句)时,建议设置该接口的 line 参数和 offset 参数为 0,通过 SQL 语句的 LIMIT 语法实现翻页。 query 参数中的 SQL 语句存在问题时,您可以参见查询与分析日志的常见报错进行排查。 |
500 | InternalServerError | Specified Server Error Message. | 内部服务调用错误。 |
更多信息,请参见通用错误码。