查询持久日志
目的:为已认证账户发现已上传的 SSTable 文件。
前置条件
- jsonlog 部署中已启用基于 PostgreSQL 的查询路由。
- 具备带
acc声明的 Bearer 令牌用于账户隔离。 - 每个查询请求体都必须提供
start_ts和end_ts。
API/脚本流程
- 按时间范围查询文件:
- 使用
{ start_ts, end_ts }调用POST /query。
- 使用
- 按频道/级别细化:
- 添加可选
channel、level、limit。
- 添加可选
- 查看聚合:
GET /query/stats。
HTTP/curl 流程
JSONLOG_BASE_URL="http://localhost:3002"
ACCESS_TOKEN="<account_scoped_token>"
START_TS="$(($(date +%s) * 1000 - 3600000))"
END_TS="$(($(date +%s) * 1000))"
curl -sS -X POST "${JSONLOG_BASE_URL}/query" \
-H "authorization: Bearer ${ACCESS_TOKEN}" \
-H "content-type: application/json" \
--data "{\"start_ts\":${START_TS},\"end_ts\":${END_TS},\"channel\":\"svc-api\",\"limit\":100}"
curl -sS "${JSONLOG_BASE_URL}/query/stats" \
-H "authorization: Bearer ${ACCESS_TOKEN}"
校验
- 缺少令牌返回
401。 start_ts > end_ts返回400。- 成功返回
200,包含{ files, count }。 - 每个文件包含用于 media-gate 拉取的
path和时间边界元数据。