全部產品
Search
文件中心

Simple Log Service:PutLogs - 寫入日誌

更新時間:Nov 25, 2025

調用PutLogs介面向指定的Logstore中寫入日誌資料。

介面說明

說明
  • 服務端會對每次 PutLogs 寫入的日誌資料做格式檢查,只要日誌資料中有任何一條日誌不符合規範,則整個請求失敗且無任何日誌資料成功寫入。

  • 目前僅支援寫入 PB 格式的日誌資料,日誌資料以 LogGroup 的形式展示。

  • 日誌資料寫入時有兩種模式:
    • 負載平衡模式(LoadBalance):自動根據 Logstore 下所有可寫的 Shard 進行負載平衡寫入。該方法寫入可用性較高,適合不保證順序的資料消費情境。請求文法:

      POST /logstores/logstoreName/shards/lb HTTP/1.1
      Authorization: LOG yourAccessKeyId:yourSignature
      Content-Type: application/x-protobuf
      Content-Length: Content Length
      Content-MD5: Content MD5
      Date: GMT Date
      Host: ProjectName.Endpoint
      x-log-apiversion: 0.6.0
      x-log-bodyrawsize: BodyRawSize
      x-log-compresstype: lz4
      x-log-signaturemethod: hmac-sha1
      <PB 格式日誌壓縮資料>
      

    • Key 路由 Shard 模式(KeyHash):在 URL 參數中增加 Key 欄位,用來判斷資料寫入哪個 Shard 中。該參數為選擇性參數,不設定時自動切換為負載平衡寫入模式。例如,可以將某個生產者(例如 instance)根據名稱 Hash 固定到 Shard 上,這樣就能保證寫入與消費在該 Shard 上的資料是嚴格有序的(在合并、分裂過程中能夠嚴格保證對於 Key 在一個時間點只會出現在一個 Shard 上)。請求文法:

      POST /logstores/logstoreName/shards/route?key=14d2f850ad6ea48e46e4547edbbb27e0
      Authorization: LOG yourAccessKeyId:yourSignature
      Content-Type: application/x-protobuf
      Content-Length: Content Length
      Content-MD5: Content MD5
      Date: GMT Date
      Host: ProjectName.Endpoint
      x-log-apiversion: 0.6.0
      x-log-bodyrawsize: BodyRawSize
      x-log-compresstype: lz4
      x-log-signaturemethod: hmac-sha1
      <PB 格式日誌壓縮資料>
      

  • PutLogs 介面每次可以寫入的原始日誌大小上限為 10 MB,日誌組中每條日誌下的 Value 部分建議不超過 1 MB。歷史版本的 SDK 可能存在不同限制,建議升級到最新的版本解決。

  • 在 SDK 參考中,Log Service提供 Java 和 Python SDK 等 PutLogs 的使用樣本。

PB 資料

PB 格式日誌壓縮資料欄位描述如下。詳情請參見資料模型資料編碼方式

  • Log

參數名稱資料類型是否必填描述
TimeInteger日誌時間。Unix 時間戳記格式,表示從 1970-1-1 00:00:00 UTC 計算起的秒數。
ContentsList日誌欄位列表,至少包含一個元素,每個元素類型請參見下方 Content 表格。
  • Content

參數名稱資料類型是否必填描述
KeyString自訂 Key 名稱。
ValueString自訂 Key 對應的值。
  • LogTag

參數名稱資料類型是否必填描述
KeyString自訂 Key 名稱。
ValueString自訂 Key 對應的值。
  • LogGroup

參數名稱資料類型是否必填描述
LogsList日誌列表,每個元素請參見 Log 欄位表格。
TopicString日誌主題,使用者自訂欄位,用於區分不同特徵的日誌資料。
SourceString日誌的來源。例如產生該日誌的機器的 IP 位址。
LogTagsList日誌的標籤列表,每個元素請參見 LogTag。

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

調試

授權資訊

當前API暫無授權資訊透出。

請求文法

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

路徑參數

名稱

類型

必填

描述

樣本值

logstore

string

Logstore 名稱。

ali-test-logstore

請求參數

名稱

類型

必填

描述

樣本值

project

string

Project 名稱。

ali-test-project

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 壓縮後的位元據>

返回參數

名稱

類型

描述

樣本值

當前API暫無返回參數

回應標頭

PutLogs 介面無特有回應標頭。關於 Log Service API 的公用回應標頭,請參見公用回應標頭

響應元素

返回 HTTP 狀態代碼 200,則表示請求成功。該介面調用成功後無任何響應元素。

樣本

正常返回樣本

JSON格式

{}

錯誤碼

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情