Grava dados de log em um logstore especificado.
Descrição da operação
O SDK do OpenAPI não oferece suporte a esta operação. Em vez disso, use o SDK do Simple Log Service (SLS).
-
O serviço verifica o formato dos dados de log para cada solicitação PutLogs. Se qualquer entrada de log for inválida, toda a solicitação falhará e nenhum log será gravado.
-
Esta operação oferece suporte apenas a dados de log no formato protobuf. Os dados de log são estruturados como um LogGroup.
-
Os logs podem ser gravados em dois modos:
-
Modo LoadBalance: Os dados são gravados automaticamente em todos os shards graváveis em um logstore. Este método oferece alta disponibilidade e é adequado para cenários de consumo de dados que não exigem uma ordem específica. Sintaxe da solicitação:
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 <Compressed log data in protobuf format> -
Modo KeyHash: Adicione um parâmetro de chave à URL para determinar qual shard recebe os dados. Este parâmetro é opcional. Se você não definir este parâmetro, o sistema mudará automaticamente para o modo de balanceamento de carga. Por exemplo, fixe um produtor, como uma instância, a um shard específico com base no hash do seu nome. Isso garante que os dados gravados e consumidos do shard sejam estritamente ordenados. Durante as operações de mesclagem e divisão, uma chave é associada a apenas um shard em um determinado momento. Sintaxe da solicitação:
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 <Compressed log data in protobuf format>
-
-
O tamanho máximo dos logs brutos para cada solicitação PutLogs é de 10 MB. O valor de cada log em um grupo de logs não deve exceder 1 MB. Versões mais antigas do SDK podem ter limites diferentes. Atualize para a versão mais recente do SDK.
-
O SLS fornece exemplos de como usar o PutLogs com os SDKs Java e Python.
Dados Protobuf
Esta seção descreve os campos para dados de log compactados no formato protobuf. Para obter mais informações, consulte Modelo de dados e Codificação de dados.
Log
| Parâmetro | Tipo de dados | Obrigatório | Descrição |
| Time | Integer | Sim | A hora do log. O valor é um carimbo de data/hora UNIX que representa o número de segundos decorridos desde 01/01/1970 00:00:00 UTC. |
| Contents | List | Sim | Uma lista de campos de log. A lista deve conter pelo menos um elemento. Para o tipo de elemento, consulte a tabela Content abaixo. |
Content
| Parâmetro | Tipo de dados | Obrigatório | Descrição |
| Key | String | Sim | O nome da chave personalizada. |
| Value | String | Sim | O valor que corresponde à chave personalizada. |
LogTag
| Parâmetro | Tipo de dados | Obrigatório | Descrição |
| Key | String | Sim | O nome da chave personalizada. |
| Value | String | Sim | O valor que corresponde à chave personalizada. |
LogGroup
| Parâmetro | Tipo de dados | Obrigatório | Descrição |
| Logs | List | Sim | Uma lista de logs. Para cada elemento, consulte a tabela Log. |
| Topic | String | Não | O tópico dos logs. Use este campo personalizado para distinguir dados de log com diferentes características. |
| Source | String | Não | A origem dos logs, como o endereço IP da máquina que gerou os logs. |
| LogTags | List | Sim | Uma lista de tags de log. Para cada elemento, consulte a tabela LogTag. |
Experimente agora
Testar
Autorização RAM
Sintaxe da solicitação
POST /logstores/{logstore}/shards/lb HTTP/1.1
Parâmetros de caminho
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| logstore |
string |
Sim |
O nome do logstore. |
ali-test-logstore |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| project |
string |
Sim |
O nome do projeto. |
ali-test-project |
| x-log-compresstype |
string |
Sim |
O tipo de compactação dos logs. Valores válidos: lz4 e gzip. |
lz4 |
| body | LogGroup |
Não |
Os dados de log compactados no formato protobuf. |
Cabeçalhos da solicitação
Para obter informações sobre os cabeçalhos de solicitação comuns das APIs do SLS, consulte Cabeçalhos de solicitação comuns.
Exemplo de solicitação
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"
}
<Dados binários de logs no formato protobuf compactados usando lz4>
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
Nenhum definido.
Cabeçalhos da resposta
A operação PutLogs não possui cabeçalhos de resposta específicos. Para obter informações sobre os cabeçalhos de resposta comuns das APIs do SLS, consulte Cabeçalhos de resposta comuns.
Elementos da resposta
Um código de status HTTP 200 indica que a solicitação foi bem-sucedida. Nenhum elemento de resposta é retornado.
Exemplos
Resposta de sucesso
JSON formato
{}
Códigos de erro
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.