调用PostLogStoreLogs接口向指定的Logstore中写入日志数据。
接口说明
- 服务端会对每次PostLogStoreLogs写入的日志数据做格式检查,只要日志数据中有任何一条日志不符合规范,则整个请求失败且无任何日志数据成功写入。
- 目前仅支持写入PB格式的日志数据,日志数据以LogGroup的形式展示。
- 日志数据写入时有两种模式:
- 负载均衡模式(LoadBalance):自动根据Logstore下所有可写的Shard进行负载均衡写入。该方法写入可用性较高,适合不保证顺序的数据消费场景。
- Key路由Shard模式(KeyHash):在URL参数中增加Key字段,用来判断数据写入哪个Shard中。该参数为可选参数,不设置时自动切换为负载均衡写入模式。例如,可以将某个生产者(例如instance)根据名称Hash固定到Shard上,这样就能保证写入与消费在该Shard上的数据是严格有序的(在合并、分裂过程中能够严格保证对于Key在一个时间点只会出现在一个Shard上,请参见分区(Shard))。
- PostLogStoreLogs接口每次可以写入的原始日志大小上限为10 MB,日志组中每条日志下的Value部分建议不超过1 MB。历史版本的SDK可能存在不同限制,建议升级到最新的版本解决。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求头
该接口使用公共请求头,无特殊请求头。请参见公共请求参数文档。
请求语法
POST /logstores/{logstore}/shards/lb HTTP/1.1
请求参数
名称 | 类型 | 位置 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|---|
logstore | String | Path | 否 | ali-test-logstore | Logstore名称。 |
String | Body | 否 | PB 格式日志压缩数据 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
Server | String | nginx | 服务器名称。 |
Content-Type | String | application/json | 返回的响应体的内容格式。 |
Content-Length | String | 0 | 响应内容长度。 |
Connection | String | close | 是否长链接。取值包括:
|
Date | String | Sun, 27 May 2018 08:25:04 GMT | 返回响应的时间。 |
x-log-requestid | String | 5B0A6B60BB6EE39764D458B5 | 服务端产生的标识,该请求的唯一ID。 |
示例
请求示例
POST /logstores/ali-test-logstore/shards/lb HTTP/1.1
Host:ali-test-project.cn-hangzhou.log.aliyuncs.com
Content-Type:application/json
"PB 格式日志压缩数据"
正常返回示例
JSON
格式
HTTP/1.1 200 OK
错误码
访问错误中心查看更多错误码。
HttpStatusCode |
ErrorCode |
ErrorMessage |
错误码描述 |
---|---|---|---|
400 |
PostBodyInvalid |
Fail to parse protobuf. |
Protobuffer内容不合法,无法解析。 |
400 |
PostBodyInvalid |
Loggroup contains zero logs. |
LogGroup中没有日志。 |
400 |
PostBodyUncompressError |
Post body uncompressed fail. |
日志内容解压失败。 |
404 |
ProjectNotExist |
Project does not exist. |
Project不存在。 |
404 |
LogStoreNotExist |
Logstore does not exist. |
Logstore不存在。 |
413 |
PostBodyTooLarge |
Body size {bodySize} must little than 10485760. |
请求body (压缩前)不能超过10MB。 |
500 |
InternalServerError |
Specified Server Error Message. |
内部服务调用错误。 |
更多信息,请参见通用错误码。