
# 查询Prometheus实例下区间数据 - ListRangeQueryAomPrometheusInstance
#### 功能介绍
该接口用于查询Prometheus实例中PromQL(Prometheus Query Language)在一段时间返回内的计算结果。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-aom/aom_04_0057.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-aom/aom_04_0031.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项             | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名             | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | aom:metric:list | List | -           | -   | aom:metric:get | -      |
     
  
 
#### URI
POST /v1/{project_id}/{prometheus_instance}/aom/api/v1/query_range
表1路径参数 
| 参数                  | 是否必选 | 参数类型   | 描述                                                                                                     |
|:---|:---|:---|:---|
| project_id          | 是    | String | 项目ID，可以从控制台获取，也可以从调用API处获取。获取方式请参见：[获取项目ID](https://support.huaweicloud.com/api-aom/aom_04_0024.html)。 |
| prometheus_instance | 是    | String | Prometheus实例id。默认普罗实例id为0。                                                                             |
   
表2Query参数 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                            |
|:---|:---|:---|:---|
| query | 是    | String | PromQL表达式，参考：[Prometheus官方文档](https://prometheus.io/docs/prometheus/latest/querying/basics/)。 |
| start | 是    | String | 起始时间戳。Unix时间戳格式，单位：秒。                                                                         |
| end   | 是    | String | 结束时间戳。Unix时间戳格式，单位：秒。                                                                         |
| step  | 是    | String | 查询时间步长，时间区内每step秒执行一次。                                                                        |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                            |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 从IAM服务获取的用户Token。获取方式请参见：[获取Token](https://support.huaweicloud.com/api-aom/aom_04_0059.html)。 |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数     | 参数类型   | 描述                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| status | String | **参数解释**： 响应状态。 **取值范围**： success：返回成功。 error：返回失败。 |
| data   | Object | 响应数据）                                                                                                                                                                                                                                                                           |
   
**状态码：400**
表5响应Body参数 
| 参数        | 参数类型   | 描述                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| status    | String | **参数解释**： 响应状态。 **取值范围**： success：返回成功 error：返回失败。 |
| errorType | String | 错误类型。                                                                                                                                                                                                                                                                          |
| error     | String | 错误信息。                                                                                                                                                                                                                                                                          |
   
**状态码：403**
表6响应Body参数 
| 参数        | 参数类型   | 描述                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| status    | String | **参数解释**： 响应状态。 **取值范围**： success：返回成功 error：返回失败。 |
| errorType | String | 错误类型。                                                                                                                                                                                                                                                                          |
| error     | String | 错误信息。                                                                                                                                                                                                                                                                          |
   
**状态码：422**
表7响应Body参数 
| 参数        | 参数类型   | 描述                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| status    | String | **参数解释**： 响应状态。 **取值范围**： success：返回成功 error：返回失败。 |
| errorType | String | 错误类型。                                                                                                                                                                                                                                                                          |
| error     | String | 错误信息。                                                                                                                                                                                                                                                                          |
   
**状态码：503**
表8响应Body参数 
| 参数        | 参数类型   | 描述                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| status    | String | **参数解释**： 响应状态。 **取值范围**： success：返回成功 error：返回失败。 |
| errorType | String | 错误类型。                                                                                                                                                                                                                                                                          |
| error     | String | 错误信息。                                                                                                                                                                                                                                                                          |
   
#### 请求示例
查询在start到end时间范围内每隔step秒的aom_node_status指标（前topk个）。
```
https://{EndPoint}/v1/{project_id}/{prometheus_instance}/aom/api/v1/query_range?query=topk(2,aom_node_status)&start=1630386780&end=1630390380&step=15
```
#### 响应示例
**状态码：200**
OK 请求响应成功。
```
{
  "status" : "success",
  "data" : {
    "resultType" : "matrix",
    "result" : [ {
      "metric" : {
        "__name__" : "amm_node_status",
        "clusterId" : "000000-0000-0000-0000-0000000",
        "hostID" : "c9xxcb-2x6c-4h54-8fcd-f68xx85",
        "nameSpace" : "default",
        "nodeIP" : "1xx.1xx.0.1xx",
        "nodeName" : "sis-xxn-amm"
      },
      "values" : [ [ 1630386780, "0" ], [ 1630388610, "0" ], [ 1630388625, "0" ] ]
    }, {
      "metric" : {
        "__name__" : "amm_node_status",
        "clusterId" : "00000000-0000-0000-0000-00000000",
        "hostID" : "ec5xxxb-0xx8-4xxx-bxx-9ecxxf",
        "nameSpace" : "default",
        "nodeIP" : "1xx.168.0.1x",
        "nodeName" : "fdx-ibxxst"
      },
      "values" : [ [ 1630388265, "0" ], [ 1630388280, "0" ], [ 1630388295, "0" ] ]
    } ]
  }
}
```
**状态码：400**
BadRequest 非法请求。建议直接修改该请求，不要重试该请求。
```
{
  "status" : "error",
  "errorType" : "bad_request",
  "error" : "bad request."
}
```
**状态码：403**
Forbidden 请求被拒绝访问。返回该状态码，表明请求能够到达服务端，且服务端能够理解用户请求，但是拒绝做更多的事情，因为该请求被设置为拒绝访问，建议直接修改该请求，不要重试该请求。
```
{
  "status" : "error",
  "errorType" : "auth",
  "error" : "auth project_id not pass."
}
```
**状态码：422**
Unprocessable 表达式无法执行。
```
{
  "status" : "error",
  "errorType" : "execution",
  "error" : "expression can't be executed."
}
```
**状态码：503**
ServiceUnavailable 被请求的服务无效。建议直接修改该请求，不要重试该请求。
```
{
  "status" : "error",
  "errorType" : "timeout",
  "error" : "query timed out in query execution."
}
```
#### 状态码
| 状态码 | 描述                                                                                            |
|:---|:---|
| 200 | OK 请求响应成功。                                                                                    |
| 400 | BadRequest 非法请求。建议直接修改该请求，不要重试该请求。                                                            |
| 403 | Forbidden 请求被拒绝访问。返回该状态码，表明请求能够到达服务端，且服务端能够理解用户请求，但是拒绝做更多的事情，因为该请求被设置为拒绝访问，建议直接修改该请求，不要重试该请求。 |
| 422 | Unprocessable 表达式无法执行。                                                                        |
| 503 | ServiceUnavailable 被请求的服务无效。建议直接修改该请求，不要重试该请求。                                                |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-aom/ErrorCode.html)。
