調用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
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
project | string | 是 | Project 名稱。 | ali-test-project |
logstore | string | 是 | Logstore 名稱。 | ali-test-logstore |
x-log-compresstype | string | 是 | 日志壓縮類型,目前支持 lz4、gzip 兩種類型。 | lz4 |
body | LogGroup | 否 | 壓縮后的 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 壓縮后的二進制數據>
返回參數
響應頭
PutLogs 接口無特有響應頭。關于 Log Service API 的公共響應頭,請參見公共響應頭。
響應元素
返回 HTTP 狀態碼 200,則表示請求成功。該接口調用成功后無任何響應元素。
示例
正常返回示例
JSON
格式
{}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|---|---|
2024-09-06 | 新增 OpenAPI | 查看變更詳情 |