阅读816 返回首页    go 微信


GetCursor__日志库相关接口_API-Reference_日志服务-阿里云

GetCursor 根据时间获得游标(Cursor),下图表示Project,LogStore, Shard 与 Cursor关系:

  • Project下有多个logstore
  • 每个logstore会有多个shard
  • 通过cursor可以获得特定日志对应的位置

请求语法

GET /logstores/ay42/shards/2?type=cursor&from=1402341900 HTTP/1.1
Authorization: <AuthorizationString>
Date: <GMT Date>
Host: <Project Endpoint>
x-log-apiversion: 0.6.0

请求参数

参数名称 类型 是否必须 描述
shard string
type string 此处为"cursor"
from string 时间点(UNIX下秒数), 或"begin","end"
LogStore生命周期:

Logstore生命周期由属性中lifeCycle字段指定,例如当前时间为2015-11-11 09:00:00,lifeCycle=24。则每个shard中可以消费的数据时间段为[2015-11-10 09:00:00,2015-11-11 09:00:00),这里的时间指的是Server端时间。

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

请求头

无特有请求头,关于API的公共请求头请参考公共请求头

响应头

无特有响应头,关于API的公共响应头请参考公共响应头

响应元素

{
    "cursor": "MTQ0NzI5OTYwNjg5NjYzMjM1Ng=="
}

细节描述

错误码

除了返回API的通用错误码,还可能返回如下特有错误码:

HTTP状态码 ErrorCode ErrorMessage
404 LogStoreNotExist Logstore {Name} not exist
400 ParameterInvalid Parameter From is not valid
400 ShardNotExist Shard {ShardID} not exist
500 InternalServerError Specified Server Error Message
400 LogStoreWithoutShard the logstore has no shard

示例

请求示例:
GET /logstores/sls-test-logstore/shards/0?type=cursor&from=begin
Header:
{
    "Content-Length": 0, 
    "x-log-signaturemethod": "hmac-sha1", 
    "x-log-bodyrawsize": 0, 
    "User-Agent": "log-python-sdk-v-0.6.0", 
    "Host": "ali-test-project.cn-hangzhou-devcommon-intranet.sls.aliyuncs.com", 
    "Date": "Thu, 12 Nov 2015 03:56:57 GMT", 
    "x-log-apiversion": "0.6.0", 
    "Content-Type": "application/json", 
    "Authorization": "LOG 94to3z418yupi6ikawqqd370:+vo0Td6PrN0CGoskJoOiAsnkXgA="
}
响应示例:
Header:
{
    "content-length": "41", 
    "server": "nginx/1.6.1", 
    "connection": "close", 
    "date": "Thu, 12 Nov 2015 03:56:57 GMT", 
    "content-type": "application/json", 
    "x-log-requestid": "56440E0999248C070600C6AA"
}
Body:
{
    "cursor": "MTQ0NzI5OTYwNjg5NjYzMjM1Ng=="
}

最后更新:2016-11-23 16:04:02

  上一篇:go DeleteShard__日志库相关接口_API-Reference_日志服务-阿里云
  下一篇:go PullLogs__日志库相关接口_API-Reference_日志服务-阿里云