
# 上报高精度日志接口参考
#### 功能介绍
该接口用于主机上报租户日志给LTS。
接入点IP可在LTS控制台安装ICAgent的安装命令中获取，端口为8102，调用时使用该参数请参见[请求示例]。
每次上报的时候，每条日志都必须带一个纳秒级的时间戳。在LTS界面查看日志的时候，会按照时间戳排序展示在页面上。关于上报日志的约束与限制请参考[日志读写限制](https://support.huaweicloud.com/productdesc-lts/lts-0718.html)。
#### URI
POST /v2/{project_id}/lts/groups/{log_group_id}/streams/{log_stream_id}/tenant/contents/high-accuracy
表1路径参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| project_id    | 是    | String | **参数解释：** 项目ID，获取方式请参见：[获取项目ID](https://support.huaweicloud.com/api-lts/lts_api_0006.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                          |
| log_group_id  | 是    | String | **参数解释：** 日志组ID，获取方式请参见：[获取日志组ID和日志流ID](https://support.huaweicloud.com/api-lts/lts_api_0014.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                    |
| log_stream_id | 是    | String | **参数解释：** 日志流ID，获取方式请参见：[获取日志组ID和日志流ID](https://support.huaweicloud.com/api-lts/lts_api_0014.html)。 **约束限制：** 每个logstream写入速率最大不能超过100MB/S，超过此规格可能会导致日志丢失。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数               | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| X-Auth-Token     | 是    | String | **参数解释：** 从IAM获取的用户Token，获取方式请参见：[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Content-Type     | 是    | String | **参数解释：** 用于定义消息体的格式，该字段填为：application/json;charset=UTF-8。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Content-Encoding | 否    | String | **参数解释：** 日志压缩格式。 **约束限制：** 不涉及。 **取值范围：** - **GZIP**  - **SNAPPY**  - **gzip**  - **snappy**   **默认取值：** 不涉及。 |
   
表3请求Body参数 
| 参数                | 是否必选 | 参数类型                                                                                    | 描述                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| contents          | 是    | Array of [LogContents] | **参数解释：** 包含上报时间戳的日志内容列表。 **约束限制：** 不涉及。                                                                                                                                                                                                                           |
| labels            | 是    | Object                                                                                  | **参数解释：** 用户自定义label。 请不要将字段名称设置为[内置保留字段](https://support.huaweicloud.com/usermanual-lts/lts_0822.html)，否则可能会造成字段名称重复、查询不精确等问题。 **约束限制：** 不涉及。                                                                                     |
| tenant_project_id | 否    | String                                                                                  | **参数解释：** 租户项目ID，获取方式请参见：[获取项目ID](https://support.huaweicloud.com/api-lts/lts_api_0006.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
 表4LogContents 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| log_time_ns | 是    | Long   | **参数解释：** 日志数据上报时间，UTC时间（纳秒）。 **约束限制：** 通过接口上报日志到LTS的时间相距当前时间不超过2天，否则上报日志会被LTS删除。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| log         | 是    | String | **参数解释：** 日志内容。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                 |
   
#### 响应参数
**状态码为200时：**
表5响应Body参数 
| 参数        | 参数类型   | 描述                                                                                                                                                     |
|:---|:---|:---|
| errorCode | String | **参数解释：** 错误码。 **取值范围：** 不涉及。   |
| error_msg | String | **参数解释：** 调用失败响应信息描述。 **取值范围：** 不涉及。 |
| result    | String | **参数解释：** 响应结果。 **取值范围：** 不涉及。     |
   
**状态码为400时：**
表6响应Body参数 
| 参数        | 参数类型   | 描述                                                                                                                                                       |
|:---|:---|:---|
| errorCode | String | **参数解释：** 错误码。 **取值范围：** 不涉及。          |
| error_msg | String | **参数解释：** 调用失败响应信息描述。 **取值范围：** 不涉及。 |
| result    | String | **参数解释：** 响应结果。 **取值范围：** 不涉及。      |
   
**状态码为401时：**
表7响应Body参数 
| 参数        | 参数类型   | 描述                                                                                                                                                       |
|:---|:---|:---|
| errorCode | String | **参数解释：** 错误码。 **取值范围：** 不涉及。        |
| error_msg | String | **参数解释：** 调用失败响应信息描述。 **取值范围：** 不涉及。 |
| result    | String | **参数解释：** 响应结果。 **取值范围：** 不涉及。   |
   
**状态码为500时：**
表8响应Body参数 
| 参数        | 参数类型   | 描述                                                                                                                                                          |
|:---|:---|:---|
| errorCode | String | **参数解释：** 错误码。 **取值范围：** 不涉及。          |
| error_msg | String | **参数解释：** 调用失败响应信息描述。 **取值范围：** 不涉及。 |
| result    | String | **参数解释：** 响应结果。 **取值范围：** 不涉及。        |
   
**状态码为503时：**
表9响应Body参数 
| 参数     | 参数类型   | 描述                                                                                                                                 |
|:---|:---|:---|
| result | String | **参数解释：** 被请求的服务无效，服务不可用。 **取值范围：** 不涉及。 |
   
 #### 请求示例
```
POST https://{接入点IP:8102}/v2/{project_id}/lts/groups/{log_group_id}/streams/{log_stream_id}/tenant/contents/high-accuracy
{
 "contents": [
  {
   "log_time_ns": 1586850540000000000,
   "log": "Fri Feb  15 15:48:04 UTC 2019"
  },
  {
   "log_time_ns": 1586850540000000001,
   "log": "Sat April 18 16:04:04 UTC 2019"
  }
 ],
 "labels": {
  "user_tag": "string"
 }
}
```
#### 响应示例
**状态码：200**
日志上报成功。
```
{
  "errorCode": "SVCSTG.ALS.200.200",
  "error_msg": "Report success.",
  "result": null
}
```
**状态码：401**
在客户端提供认证信息后，返回该状态码，表明服务端指出客户端所提供的认证信息不正确或非法。
```
{
  "errorCode" : "SVCSTG.ALS.403.105",
  "error_msg" : "Project id is invalid.",
  "result": null
}
```
#### 状态码
| 状态码 | 描述                                           |
|:---|:---|
| 200 | 日志上报成功。                                      |
| 400 | 非法请求。建议根据error_msg直接修改该请求，不要重试该请求。           |
| 401 | 在客户端提供认证信息后，返回该状态码，表明服务端指出客户端所提供的认证信息不正确或非法。 |
| 500 | 系统内部错误。                                      |
| 503 | 被请求的服务无效，服务不可用。                              |
   
