调用GetCursor接口可以根据时间获取对应的游标(Cursor)。

接口说明

  • Host由Project名称和日志服务Endpoint构成,您需要在Host中指定Project。
  • Cursor与Project、Logstore、Shard的关系如下:
    • Project下有多个Logstore。
    • 每个Logstore会有多个Shard。
    • 通过Cursor可以获得特定日志对应的位置。

请求头

该接口使用公共请求头,无特殊请求头。请参见公共请求参数文档。

请求语法

GET /logstores/{logstore}/shards/{shardId}?type=cursor HTTP/1.1

请求参数

名称 类型 位置 是否必选 示例值 描述
logstore String Path sls-test-logstore

Logstore名称。

shardId Integer Path 1

Shard ID。

from String Query begin

时间点(Unix时间戳)或者字符串beginend

通过from可以在Shard中定位生命周期内的日志,假设Logstore的生命周期为[begin_time,end_time)from=from_time,那么:

  • from_time ≤ begin_time or from_time = "begin"时:返回时间点为begin_time对应的Cursor位置。
  • from_time ≥ end_time or from_time = "end"时:返回当前时间点下一条将被写入的Cursor位置(当前该Cursor位置上无数据)。
  • from_time > begin_time and from_time < end_time时:返回第一个服务端接收时间大于等于from_time的数据包对应的Cursor。
说明 Logstore生命周期由属性中TTL字段指定。例如,当前时间为2018-11-11 09:00:00,TTL=5。则每个Shard中可以消费的数据时间段为 [2018-11-05 09:00:00,2018-11-11 09:00:00),这里的时间指的是服务端时间。更多信息,请参见数据保存时间

返回数据

名称 类型 示例值 描述
Server String nginx

服务器名称。

Content-Type String application/json

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

Content-Length String 0

响应内容长度。

Connection String close

是否长链接。取值包括:

  • close:不是长链接,则每个HTTP请求都会重新建立TCP连接。
  • keep-alive:长链接,TCP连接建立后保持连接状态,节省连接所需时间和带宽。
Date String Sun, 27 May 2018 08:25:04 GMT

返回响应的时间。

x-log-requestid String 5B0A6B60BB6EE39764D458B5

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

cursor String MTQ0NzI5OTYwNjg5NjYzMjM1Ng==

Cursor值。

示例

请求示例

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

正常返回示例

JSON格式

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

{
  "cursor" : "MTQ0NzI5OTYwNjg5NjYzMjM1Ng=="
}

错误码

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

HttpStatusCode

ErrorCode

ErrorMessage

错误码描述

400

ParameterInvalid

ParameterInvalid

无效参数。

400

ShardNotExist

Shard ShardID does not exist.

Shard不存在。

400

LogStoreWithoutShard

The logstore has no shard.

Logstore没有Shard。

404

ProjectNotExist

Project does not exist.

Project不存在。

404

LogStoreNotExist

Logstore does not exist.

Logstore不存在。

500

InternalServerError

Specified Server Error Message.

内部服务调用错误。

更多信息,请参见通用错误码