全部产品
Search
文档中心

日志服务:PostLogStoreLogs

更新时间:Oct 26, 2023

调用PostLogStoreLogs接口向指定的Logstore中写入日志数据。

接口说明

  • 已创建并获取AccessKey。更多信息,请参见访问密钥

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

  • 已明确您查询日志所属的Project名称、所属地域、Logstore名称等。如何查询,请参见管理Project管理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中运行PostLogStoreLogs接口。

调试

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

请求头

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

请求语法

POST /logstores/{logstore}/shards/lb HTTP/1.1

请求参数

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

Project名称。

logstore String Path ali-test-logstore

Logstore名称。

String Body PB格式日志压缩数据

写入数据结构体。PB格式日志压缩数据字段描述请参见数据模型数据编码方式

返回数据

名称 类型 示例值 描述
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。

示例

请求示例

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.

内部服务调用错误。

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