すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:データエンコーディング

最終更新日:Jun 04, 2026

Simple Log Service (SLS) は、ログの書き込みに標準形式としてプロトコルバッファ (protobuf) を使用します。

プロトコルバッファは、構造化データを交換するための言語中立かつプラットフォーム非依存の形式です。API を通じてログをサーバーに書き込む前に、生ログデータを protobuf データストリームにシリアル化する必要があります。次のスキーマで、必要な形式を定義します。

message Log
{
    required uint32 Time = 1; // UNIX 時間形式
    message Content
    {
        required string Key = 1;
        required string Value = 2;
    }  
    repeated Content Contents = 2;
    optional fixed32 Time_ns = 4; // 時刻のナノ秒部分
}

message LogTag
{
    required string Key = 1;
    required string Value = 2;
}

message LogGroup
{
    repeated Log Logs = 1;
    optional string Topic = 3;
    optional string Source = 4;
    repeated LogTag LogTags = 6;
}

message LogGroupList
{
    repeated LogGroup logGroupList = 1;
}

このスキーマでは、4 つのメッセージタイプを定義します。次の表に、各フィールドの詳細を示します。

メッセージ

フィールド

タイプ

必須

説明

Log

Time

uint32

はい

UNIX 時間形式のログのタイムスタンプ

Log

Contents

Content (repeated)

はい

ログの内容を構成する 1 つ以上のキーと値のペア

Log > Content

Key

string

はい

ログフィールド名

Log > Content

Value

string

はい

ログフィールド値

Log

Time_ns

fixed32

いいえ

タイムスタンプのナノ秒精度拡張

LogTag

Key

string

はい

ロググループに付与されたタグ名

LogTag

Value

string

はい

ロググループに付与されたタグ値

LogGroup

Logs

Log (repeated)

はい

グループ内のログ

LogGroup

Topic

string

いいえ

Logstore内でログを分類するためのトピック

LogGroup

Source

string

いいえ

ログを生成したマシンまたは IP アドレス

LogGroup

LogTags

LogTag (repeated)

いいえ

ロググループのメタデータタグ

LogGroupList

logGroupList

LogGroup (repeated)

はい

単一の API 呼び出しで送信するロググループのリスト

説明
  • Log メッセージ内の Contents リスト、および LogGroup 内の LogTags リストでは、各キーは一意である必要があります。キーが重複すると、未定義の動作や障害が発生する可能性があります。

  • protobuf 形式の詳細については、「GitHub上のprotobuf」をご参照ください。

  • SLS にログを書き込むための API オペレーションの詳細については、「PutLogs」をご参照ください。