Simple Log Service (SLS), günlükleri yazmak için standart biçim olarak Protocol Buffers (protobuf) kullanır.
Protobuf, yapılandırılmış veri alışverişi için dilden ve platformdan bağımsız bir biçimdir. Günlükleri bir API aracılığıyla sunucuya yazmadan önce ham günlük verilerini bir protobuf akışına seri hale getirin. Aşağıdaki şema gerekli biçimi tanımlar:
message Log
{
required uint32 Time = 1; // UNIX time format
message Content
{
required string Key = 1;
required string Value = 2;
}
repeated Content Contents = 2;
optional fixed32 Time_ns = 4; // The nanosecond part of the time
}
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;
}
Şema dört mesaj türü tanımlar. Aşağıdaki tabloda her alan açıklanmıştır:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Protobuf verilerindeki anahtarlar benzersiz olmalıdır. Yinelenen anahtarlar tanımsız davranışa veya hatalara neden olur.
Protobuf biçimi hakkında daha fazla bilgi için bkz. GitHub'daki protobuf.
Simple Log Service'e günlük yazma API işlemi hakkında daha fazla bilgi için bkz. PutLogs.