文档

GetCursor

更新时间:

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

接口说明

  • Host由Project名称和日志服务Endpoint构成,您需要在Host中指定Project。
  • 游标Cursor用于记录消费者消费日志的位置,以便下次消费时从上次消费的位置继续消费。
  • Cursor与Project、Logstore、Shard的关系如下:
    • Project下有多个Logstore。
    • 每个Logstore会有多个Shard。
    • 通过Shard可以获得指定时间的游标Cursor位置。
  • 已创建并获取AccessKey。更多信息,请参见访问密钥

    阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维。RAM用户需具备操作日志服务资源的权限。具体操作,请参见创建RAM用户及授权

  • 已明确您查询日志所属的Project名称、所属地域、Logstore名称等。如何查询,请参见管理Project管理Logstore

鉴权资源

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

动作(Action)

授权策略中的资源描述方式(Resource)

log:GetCursorOrData acs:log:{#regionId}:{#accountId}:project/{#ProjectName}/logstore/{#LogstoreName}

调试

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

请求头

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

请求语法

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

请求参数

名称 类型 位置 是否必选 示例值 描述
project String Host ali-test-project

Project名称。

logstore String Path sls-test-logstore

Logstore名称。

shardId Integer Path 1

Shard ID。

from String Query begin

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

说明 如果传入时间,则默认从Begin Cursor开始查询;如果Cursor取值大于End Cursor,则返回空列表。

通过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.

内部服务调用错误。

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

  • 本页导读 (1)
文档反馈