请求语法
POST /PutLogs?ProjectName={ProjectName}&LogPoolName={LogPoolName} HTTP/1.1
Authorization: <AuthorizationString>
x-klog-api-version: 0.1.0
Host: <Project Endpoint>
x-klog-signature-method: hmac-sha1
x-klog-compress-type: lz4
Date: <GMT Date>
Content-Type: application/x-protobuf
Content-MD5: <Content-MD5>
Content-Length: <ContentLength>
Connection: Keep-Alive
<PB 格式日志压缩数据 LogGroup>
请求参数
该接口无特有请求头。获取更多信息,请参见公共请求头
参数详情具体如下表。
| 参数名称 |
类型 |
是否必须 |
描述 |
| ProjectName |
String |
是 |
工程名称 |
| LogPoolName |
String |
是 |
日志池名称 |
PB语法数据格式如下,详情请参见数据编码格式
| 参数名称 |
类型 |
是否必须 |
描述 |
| Time |
int64 |
是 |
日志时间 |
| Contents |
List |
是 |
每个元素为一个content,详见Content字段说明 |
| 参数名称 |
类型 |
是否必须 |
描述 |
| Key |
String |
是 |
自定义key名称 |
| Value |
String |
是 |
自定义key对应的值 |
| 参数名称 |
类型 |
是否必须 |
描述 |
| Logs |
List |
是 |
Log的列表,详见Log |
| Filename |
String |
否 |
日志的文件名 |
| Source |
String |
否 |
日志来源,可以填写机器的ip |
错误码
除公共错误码外,还可能返回如下特有错误码:
| Http状态码 |
errorCode |
errorMessage |
| 400 |
PostBodyInvalid |
Protobuffer content cannot be parsed |
| 400 |
InvalidTimestamp |
Invalid timestamps are in logs |
| 400 |
InvalidEncoding |
Non-UTF8 characters are in logs |
| 400 |
InvalidKey |
Invalid keys are in logs |
| 400 |
PostBodyTooLarge |
Logs must be less than or equal to 3 MB and 4096 entries |
| 400 |
PostBodyUncompressError |
Failed to decompress logs |
示例
请求示例
POST /PutLogs?projectName=my-project&logPoolName=my-logpool HTTP/1.1
Authorization: KLOG <yourAccessKeyId>:<yourSignature>
x-klog-api-version: 0.6.0
Host: klog-cn-beijing-internal.ksyun.com
x-klog-signature-method: hmac-sha1
Date: Sun, 27 May 2018 07:43:26 GMT
Content-Type: application/x-protobuf
Content-MD5: A7967D81EFF5E3CD447FB6D8DF294E20
Content-Length: 80
Connection: Keep-Alive
x-klog-compress-type: lz4
<PB 格式日志压缩数据 LogGroup>
响应示例
HTTP/1.1 200
Server: nginx
Content-Length: 0
Connection: close
Access-Control-Allow-Origin: *
Date: Sun, 27 May 2018 07:43:27 GMT
x-klog-requestid: 5B0A619F205DC3F30EDA9322