Queries logs in a project by executing an SQL statement.

Description

  • You can use the query parameter to specify a standard SQL statement.
  • You must specify a project in the domain name of the request.
  • You must specify a Logstore in the FROM clause of the SQL statement. A Logstore can be used as an SQL table.
  • You must specify a time range in the SQL statement by using the __date__ parameter or __time__ parameter. The value of the __date__ parameter is a timestamp, and the value of the __time__ parameter is an integer. The unit of the __time__ parameter is seconds.
  • Host consists of a project name and a Log Service endpoint. You must specify a project in Host.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request headers

This operation uses only common request headers. For more information, see Common request headers.

Request syntax

GET /logs HTTP/1.1

Request parameters

ParameterTypeLocationRequiredExampleDescription
projectStringHostYesali-test-project

The name of the project.

queryStringQueryYesSELECT COUNT(*) as pv FROM nginx-moni where __time__ > 1646102500 and __time__ < 1646103400

The standard SQL statement. In this example, the SQL statement queries the number of page views (PVs) from 2022-03-01 10:41:40 to 2022-03-01 10:56:40 in a Logstore whose name is nginx-moni.

powerSqlBooleanQueryNofalse

Specifies whether to enable the Dedicated SQL feature. For more information, see Enable Dedicated SQL. Valid values:

  • true: enables the Dedicated SQL feature.
  • false: disables the Dedicated SQL feature. This is the default value. In this case, the Standard SQL feature is enabled.

You can use the powerSql or query parameter to configure Dedicated SQL.

Response parameters

ParameterTypeExampleDescription
x-log-progressStringComplete

The status of the query and analysis results. Valid values:

  • Complete: The query is successful, and the complete query and analysis results are returned.
  • Incomplete: The query is successful, but the query and analysis results are incomplete. To obtain the complete results, you must repeat the request.
x-log-countLong10000

The total number of logs in the query and analysis results.

x-log-processed-rowsLong10000

The number of lines that are processed based on the request.

x-log-elapsed-millisecondLong5

The time that is consumed by the request. Unit: milliseconds.

Array of Object[ { "__time__" : 1409529660, "__source__" : "192.168.1.100", "Key1" : "error", "Key2" : "Value2" }, { "__time__" : 1409529680, "__source__" : "192.168.1.100", "Key3" : "error", "Key4" : "Value4" } ]

The logs that are returned.

Examples

Sample requests

GET /logs?query=SELECT COUNT(*) as pv FROM nginx-moni where __time__ > 1646102500 and __time__ < 1646103400&powerSql=false HTTP/1.1
Host:ali-test-project.ch-hangzhou.log.aliyuncs.com
Content-Type:application/json

Sample success responses

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

[ {
  "__time__" : 1409529660,
  "__source__" : "192.168.1.100",
  "Key1" : "error",
  "Key2" : "Value2"
}, {
  "__time__" : 1409529680,
  "__source__" : "192.168.1.100",
  "Key3" : "error",
  "Key4" : "Value4"
} ]

Error codes

For a list of error codes, visit the API Error Center.

HTTP status code

Error code

Error message

Description

400

ParameterInvalid

Parameter is invalid.

The error message returned because a specified parameter is invalid.

For more information, see Common error codes.