Queries a cursor based on a point in time.
Usage notes
- Host consists of a project name and a Log Service endpoint. You must specify a project in Host.
- A cursor is used to record the position of the log that is consumed by a consumer. The consumer can continue to consume data from the last recorded cursor.
- The following list describes the relationships among a cursor, project, Logstore, and shard:
- A project can have multiple Logstores.
- A Logstore can have multiple shards.
- You can use a cursor to locate a log in a shard.
An AccessKey pair is created and obtained. For more information, see AccessKey pairs.
The AccessKey pair of an Alibaba Cloud account has permissions on all API operations. Using these credentials to perform operations in Log Service is a high-risk operation. We recommend that you use a RAM user to call API operations or perform routine O&M. To create a RAM user, log on to the RAM console. Make sure that the RAM user has the management permissions on Log Service resources. For more information, see Create a RAM user and authorize the RAM user to access Log Service.
- The information that is required to query logs is obtained. The information includes the name of the project to which the logs belong, the region of the project, and the name of the Logstore to which the logs belong. For more information, see Manage a project and Manage a Logstore.
Authentication resources
The following table describes the authorization information that is required for this operation. You can add the information to the Action element of a RAM policy statement to grant a RAM user or a RAM role the permissions to call this operation.
Action | Resource |
log:GetCursorOrData | acs:log:{#regionId}:{#accountId}:project/{#ProjectName}/logstore/{#LogstoreName} |
Debugging
Request headers
This operation uses only common request headers and does not have operation-specific request headers. For more information, see Common request parameters.
Request syntax
GET /logstores/{logstore}/shards/{shardId}?type=cursor HTTP/1.1
Request parameters
Parameter | Type | Position | Required | Example | Description |
project | String | Host | Yes | ali-test-project | The name of the project. |
logstore | String | Path | Yes | sls-test-logstore | The name of the Logstore. |
shardId | Integer | Path | Yes | 1 | The ID of the shard. |
from | String | Query | Yes | begin | The point in time that you want to use to query a cursor. Set the value to a UNIX timestamp or a string such as Note By default, the query starts from the begin cursor of a shard. If the corresponding cursor is greater than the end cursor of the shard, an empty list is returned. |
You can use the from parameter to locate a log in a shard within the lifecycle of a Logstore. If the lifecycle of a Logstore is [begin_time,end_time)
and the from parameter is set to from_time
, the cursor that is returned varies based on the following conditions:
from_time ≤ begin_time or from_time = "begin"
: The cursor that corresponds to begin_time is returned.from_time ≥ end_time or from_time = "end"
: The cursor that corresponds to the next log to write based on the current time is returned. The cursor currently points to no data.from_time > begin_time and from_time < end_time
: The cursor that corresponds to the first packet received by Log Service later than or at from_time is returned.
2018-11-11 09:00:00
, and the value of the TTL field of the Logstore is 5. The data in each shard of the Logstore can be consumed within the time range [2018-11-05 09:00:00,2018-11-11 09:00:00)
. The time range is determined based on the time on the Log Service side. For more information, see Data retention period. Response parameters
Parameter | Type | Example | Description |
Server | String | nginx | The name of the server. |
Content-Type | String | application/json | The format of the response body. |
Content-Length | String | 0 | The length of the response body. |
Connection | String | close | Indicates whether the connection is persistent. Valid values:
|
Date | String | Sun, 27 May 2018 08:25:04 GMT | The time when the response was returned. |
x-log-requestid | String | 5B0A6B60BB6EE39764D458B5 | The request ID. |
cursor | String | MTQ0NzI5OTYwNjg5NjYzMjM1Ng== | The value of the cursor. |
Examples
Sample requests
GET /logstores/sls-test-logstore/shards/0?type=cursor&from=begin HTTP/1.1
Host:ali-test-project.cn-hangzhou.log.aliyuncs.com
Content-Type:application/json
Sample success responses
JSON
format
HTTP/1.1 200 OK
Content-Type:application/json
{
"cursor" : "MTQ0NzI5OTYwNjg5NjYzMjM1Ng=="
}
Error codes
For a list of error codes, see Service error codes.
HttpStatusCode | ErrorCode | ErrorMessage | Description |
400 | ParameterInvalid | ParameterInvalid | A specified parameter is invalid. |
400 | ShardNotExist | Shard ShardID does not exist. | The specified shard does not exist. |
400 | LogStoreWithoutShard | The logstore has no shard. | No shards exist in the specified Logstore. |
404 | ProjectNotExist | Project does not exist. | The specified project does not exist. |
404 | LogStoreNotExist | Logstore does not exist. | The specified Logstore does not exist. |
500 | InternalServerError | Specified Server Error Message. | An internal server error has occurred. |
For more information, see Common error codes.