Simple Log Service (SLS) utiliza Protocol Buffers (protobuf) como formato estándar para escribir registros.
Protobuf es un formato independiente del lenguaje y la plataforma para intercambiar datos estructurados. Antes de escribir registros en el servidor mediante una API, serialice los datos sin procesar en un flujo de datos protobuf. A continuación se define el formato obligatorio:
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;
}
El esquema define cuatro tipos de mensajes. A continuación se describe cada campo:
|
Mensaje |
Campo |
Tipo |
Obligatorio |
Descripción |
|
|
|
|
Sí |
Marca de tiempo del registro en formato de tiempo UNIX |
|
|
|
|
Sí |
Uno o más pares clave-valor que conforman el contenido del registro |
|
|
|
|
Sí |
Nombre del campo del registro |
|
|
|
|
Sí |
Valor del campo del registro |
|
|
|
|
No |
Extensión de precisión de nanosegundos para la marca de tiempo |
|
|
|
|
Sí |
Nombre de la etiqueta asociada al grupo de registros |
|
|
|
|
Sí |
Valor de la etiqueta asociada al grupo de registros |
|
|
|
|
Sí |
Conjunto de registros del grupo |
|
|
|
|
No |
Tema utilizado para clasificar registros dentro de un logstore |
|
|
|
|
No |
Máquina o dirección IP que generó los registros |
|
|
|
|
No |
Etiquetas de metadatos del grupo de registros |
|
|
|
|
Sí |
Lista de grupos de registros enviados en una sola llamada a la API |
Las claves en los datos protobuf deben ser únicas. Las claves duplicadas provocan comportamientos indefinidos o errores.
Para obtener más información sobre el formato protobuf, consulte protobuf en GitHub.
Para obtener más información sobre la operación de API para escribir registros en Simple Log Service, consulte PutLogs.