
# Trace数据标注 - TagOpsTraceLabel
#### 功能介绍
该接口用于给调用链数据进行数据标注。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-agentarts/agentarts_07_0003.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-agentarts/Permission.html)。
| 授权项                         | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|:---|:---|
| agentarts::tagOpsTraceLabel | Write | -           | -   | -  | - apm:apm2TraceEvents:get  - apm:apm2Service:get   |
   
#### URI
POST /v1/ops/observation/traces/{trace_id}/label
表1路径参数 
| 参数       | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| trace_id | 是    | String | **参数解释**： 调用链ID，可通过查询调用链列表接口（ListOpsTrace）获取。 **约束限制**： 长度限制为1\~64个字符。 **取值范围**： 不涉及。 **默认取值**： 不涉及。 |
   
#### 请求参数
表2请求Body参数 
| 参数         | 是否必选 | 参数类型                 | 描述                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| session_id | 否    | String               | **参数解释**： 会话ID，唯一标识一个会话，可通过ListOpsSession接口获取。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                    |
| trace_type | 否    | String               | **参数解释**： 调用链类型。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                  |
| span_id    | 否    | String               | **参数解释**： 分布式链路追踪中的Span标识，用于标识一次具体的调用操作，可通过查询调用链详细信息接口（ShowOpsTrace）获取。 **约束限制**： 长度限制为1\~64个字符。 **取值范围**： 不涉及。 **默认取值**： 不涉及。 |
| label      | 否    | Map\<String,String\> | **参数解释**： 标注的标签数据，Map类型，其中key表示标签名称，类型为String；value表示标签值，类型为String。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。               |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数      | 参数类型   | 描述                                                                                                                                         |
|:---|:---|:---|
| code    | String | **参数解释**： 响应码。 **取值范围**： 不涉及。  |
| message | String | **参数解释**： 响应描述。 **取值范围**： 不涉及。 |
   
**状态码：400**
表4响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                         |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。 **取值范围**： 不涉及。  |
| error_msg  | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。 |
   
**状态码：403**
表5响应Body参数 
| 参数                            | 参数类型                                                                                          | 描述                                                                                                                                                         |
|:---|:---|:---|
| error_code                    | String                                                                                        | **参数解释**： 错误码。 **取值范围**： 不涉及。                  |
| error_msg                     | String                                                                                        | **参数解释**： 错误信息。 **取值范围**： 不涉及。                 |
| encoded_authorization_message | String                                                                                        | **参数解释**： 编码后的授权信息，用于客户端解析权限问题。 **取值范围**： 不涉及。 |
| details                       | Array of [OpsObserverCommonError] objects | **参数解释**： 赖的下游服务错误信息列表。 **取值范围**： 不涉及。         |
   
 表6OpsObserverCommonError 
| 参数         | 参数类型   | 描述                                                                                                                                         |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。 **取值范围**： 不涉及。  |
| error_msg  | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。 |
   
**状态码：500**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                         |
|:---|:---|:---|
| error_code | String | **参数解释**： 错误码。 **取值范围**： 不涉及。  |
| error_msg  | String | **参数解释**： 错误信息。 **取值范围**： 不涉及。 |
   
#### 请求示例
```
POST https://api.example.com/v1/ops/observation/traces/5af65999f08e136b0963253064a2f693/label
{
  "trace_type" : "root_span",
  "span_id" : "018e8d4f16496b9a",
  "label" : {
    "key" : "aaa"
  }
}
```
#### 响应示例
**状态码：200**
**参数解释**：
响应码，用于标识接口调用结果。
**取值范围**：
200表示成功，其他值表示失败，具体参见错误码文档。
```
{
  "code" : "200"
}
```
**状态码：400**
**参数解释**：
响应码，用于标识接口调用结果。
**取值范围**：
400表示请求参数不正确。
```
{
  "error_code" : "AgentArts.05001003",
  "error_msg" : "请求参数不正确"
}
```
**状态码：403**
**参数解释**：
响应码，用于标识接口调用结果。
**取值范围**：
403表示权限不足，拒绝访问。
```
{
  "error_code" : "AgentArts.05004003",
  "error_msg" : "权限不足，拒绝访问",
  "encode_authorization_message" : "eyJIcnJvciI6ICJVbmF1dGhvcm16ZWQifQ==",
  "details" : [ {
    "error_code" : "AgentArts.05001003"
  }, {
    "error_msg" : "请求参数不正确"
  } ]
}
```
**状态码：500**
**参数解释**：
响应码，用于标识接口调用结果。
**取值范围**：
500表示内部服务器错误。
```
{
  "error_code" : "AgentArts.05005000",
  "error_msg" : "内部服务器错误"
}
```
#### 状态码
| 状态码 | 描述                                                                                                                                                                         |
|:---|:---|
| 200 | **参数解释**： 响应码，用于标识接口调用结果。 **取值范围**： 200表示成功，其他值表示失败，具体参见错误码文档。 |
| 400 | **参数解释**： 响应码，用于标识接口调用结果。 **取值范围**： 400表示请求参数不正确。              |
| 403 | **参数解释**： 响应码，用于标识接口调用结果。 **取值范围**： 403表示权限不足，拒绝访问。            |
| 500 | **参数解释**： 响应码，用于标识接口调用结果。 **取值范围**： 500表示内部服务器错误。              |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-agentarts/ErrorCode.html)。
