

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# QueryMetrics
<a name="AMP-APIReference-QueryMetrics"></a>

`QueryMetrics` 操作评估单个时间点或一段时间内的即时查询。

有效的 HTTP 动词：  
`GET`, `POST`

有效 URIs：  
`/workspaces/{{workspaceId}}/api/v1/query` 此 URI 评估单个时间点的即时查询。  
`/workspaces/{{workspaceId}}/api/v1/query_range` 此 URI 评估一段时间内的即时查询。

URL 查询参数：  
`query=<string>` Prometheus 表达式查询字符串。在 `query` 和 `query_range` 中使用。  
`time=<rfc3339 | unix_timestamp>`（可选）如果您对单个时间点的即时查询使用 `query`，则为评估时间戳。  
`timeout=<duration>`（可选）评估超时。默认为以 `-query.timeout` 标志的值为上限。在 `query` 和 `query_range` 中使用。  
`start=<rfc3339 | unix_timestamp>` 如果您使用 `query_range` 查询一段时间范围，则为开始时间戳。  
`end=<rfc3339 | unix_timestamp>` 如果您使用 `query_range` 查询一段时间范围，则为结束时间戳。  
`step=<duration | float>` `duration` 格式的查询解析步长，或者是 `float` 秒数。仅在您使用 `query_range` 查询一段时间范围时使用，并且对于此类查询是必需的。  
`max_samples_processed_warning_threshold=<integer>`（可选）为已处理的查询样本（QSP）设置警告阈值。当查询达到此阈值时，将在 API 响应中返回一条警告消息。  
`max_samples_processed_error_threshold=<integer>>`（可选）为已处理的查询样本（QSP）设置错误阈值。超过此阈值的查询将被拒绝并显示错误，并且不收费。用于防止过高的查询成本。

**Duration**

与 Prometheus 兼容的 API 中的 `duration` 是一个数值，后面紧跟以下单位之一：
+ `ms` 毫秒
+ `s` 秒
+ `m` 分钟
+ `h` 小时
+ `d` 天，假设一天始终是 24 小时
+ `w` 周，假设一周总始终是 7 天
+ `y` 年，假设一年始终是 365 天

**示例请求**

```
POST /workspaces/ws-b226cc2a-a446-46a9-933a-ac50479a5568/api/v1/query?query=sum(node_cpu_seconds_total) HTTP/1.1
Content-Length: 0, 
Authorization: AUTHPARAMS
X-Amz-Date: 20201201T193725Z
User-Agent: Grafana/8.1.0
```

**示例响应**

```
HTTP/1.1 200 OK
x-amzn-RequestId: 12345678-abcd-4442-b8c5-262b45e9b535
Content-Length: 132
Connection: keep-alive
Date: Tue, 01 Dec 2020 19:37:25 GMT
Content-Type: application/json
Server: amazon
content-encoding: gzip

{
    "status": "success",
    "data": {
        "resultType": "vector",
        "result": [
            {
                "metric": {},
                "value": [
                    1634937046.322,
                    "252590622.81000024"
                ]
            }
        ]
    }
}
```