PutLogs - 写入日志

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

接口说明

目前 openapi SDK 不支持此接口,请使用日志服务 SDK

  • 服务端会对每次 PutLogs 写入的日志数据做格式检查,只要日志数据中有任何一条日志不符合规范,则整个请求失败且无任何日志数据成功写入。
  • 目前仅支持写入 PB 格式的日志数据,日志数据以 LogGroup 的形式展示。
  • 日志数据写入时有两种模式:
    • 负载均衡模式(LoadBalance):自动根据 Logstore 下所有可写的 Shard 进行负载均衡写入。该方法写入可用性较高,适合不保证顺序的数据消费场景。
    • Key 路由 Shard 模式(KeyHash):在 URL 参数中增加 Key 字段,用来判断数据写入哪个 Shard 中。该参数为可选参数,不设置时自动切换为负载均衡写入模式。例如,可以将某个生产者(例如 instance)根据名称 Hash 固定到 Shard 上,这样就能保证写入与消费在该 Shard 上的数据是严格有序的(在合并、分裂过程中能够严格保证对于 Key 在一个时间点只会出现在一个 Shard 上,请参见分区(Shard)
  • PutLogs 接口每次可以写入的原始日志大小上限为 10 MB,日志组中每条日志下的 Value 部分建议不超过 1 MB。历史版本的 SDK 可能存在不同限制,建议升级到最新的版本解决。
  • 在 SDK 参考中,日志服务提供 Java 和 Python SDK 等 PutLogs 的使用示例。更多信息,请参见Java SDK 快速入门Python SDK 快速入门等。

调试

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

授权信息

当前API暂无授权信息透出。

请求语法

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

请求参数

名称类型必填描述示例值
projectstring

Project 名称。

ali-test-project
logstorestring

Logstore 名称。

ali-test-logstore
x-log-compresstypestring

日志压缩类型,目前支持 lz4、gzip 两种类型。

lz4
bodyLogGroup

压缩后的 pb 日志数据

请求头

关于 Log Service API 的公共请求头,请参见公共请求头

请求示例:

POST /logstores/sls-test-logstore/shards/lb
{
    "Content-Length": 118,
    "Content-Type":"application/x-protobuf",
    "x-log-bodyrawsize":1356,
    "Host": "ali-test-project.cn-hangzhou-devcommon-intranet.sls.aliyuncs.com",
    "Content-MD5":"6554BD042149C844761C2C094A8FECCE",
    "Date":"Thu, 12 Nov 2015 06:54:26 GMT",
    "x-log-apiversion": "0.6.0",
    "x-log-compresstype":"lz4"
    "x-log-signaturemethod": "hmac-sha1",
    "Authorization":"LOG yourAccessKeyId:yourSignature"
}
<PB 格式日志使用 Lz4 压缩后的二进制数据>

返回参数

名称类型描述示例值
headersobject
Serverstring

服务器名称。

nginx
Content-Typestring

返回的响应体的内容格式。

application/json
Content-Lengthstring

响应内容长度。

0
Connectionstring

是否长链接。取值包括: close:不是长链接,则每个 HTTP 请求都会重新建立 TCP 连接。 keep-alive:长链接,TCP 连接建立后保持连接状态,节省连接所需时间和带宽。

close
Datestring

返回响应的时间。

Sun, 27 May 2018 08:25:04 GMT
x-log-requestidstring

服务端产生的标识,该请求的唯一 ID。

5B0A6B60BB6EE39764D458B5

响应头

PutLogs 接口无特有响应头。关于 Log Service API 的公共响应头,请参见公共响应头

响应元素

返回 HTTP 状态码 200,则表示请求成功。该接口调用成功后无任何响应元素。

示例

正常返回示例

JSON格式

{}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2024-09-06新增 OpenAPI查看变更详情