
# 修改Prometheus实例的预聚合规则 - UpdateRecordingRule
#### 功能介绍
该接口用于修改Prometheus实例创建预聚合规则。
#### 调用方法
请参见[如何调用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:put | Write | -           | -   | -  | -      |
     
  
 
#### URI
PUT /v1/{project_id}/{prometheus_instance}/aom/api/v1/rules/{rule_id}
表1路径参数 
| 参数                  | 是否必选 | 参数类型   | 描述                                                           |
|:---|:---|:---|:---|
| project_id          | 是    | String | 租户从IAM申请到的projectid，一般为32位字符串。                               |
| prometheus_instance | 是    | String | prometheus实例id。当前仅支持Prometheus实例类型为Prometheus for CCE 和通用实例。 |
| rule_id             | 是    | String | Prometheus实例下预汇聚规则id。                                        |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                     |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 从IAM服务获取的用户Token。      |
| Content-Type | 是    | String | 指定类型为application/json。 |
   
表3请求Body参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| recording_rule | 是    | String | 预聚合规则。 待创建的预聚合规则详细信息。支持如下子参数： - groups：规则组。一份RecordingRule.yaml可以配置多组规则组。   - name：规则组名称。规则组名称必须唯一。   - interval：规则组的执行周期。默认60s。（可选）   - rules：规则。一个规则组可以包含多条规则。   - record：规则的名称。聚合规则的名称必须符合 [Prometheus指标名称规范](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels)。   - expr：计算表达式。Prometheus监控将通过该表达式计算得出预聚合指标。计算表达式必须符合[PromQL](https://prometheus.io/docs/prometheus/latest/querying/basics/)。   - labels：指标的标签。标签必须符合[Prometheus指标标签规范](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels)。（可选）    |
   
#### 响应参数
**状态码：204**
No Content 表示请求成功，但没有内容返回。
无
#### 请求示例
修改Prometheus实例下预聚合规则。
```
https://{Endpoint}/v1/{project_id}/{prometheus_instance}/aom/api/v1/rules/221****4942****669
{
  "recording_rule" : "groups:\n    - name: apiserver_request_total\n      interval: 60s\n      rules:\n        - record: job_instance_mode:apiserver_request_total:avg_rate5m\n          expr: avg by (job, instance, mode) (rate(apiserver_request_total[5m]))\n          labels:\n            team: operations\n        - record: job:apiserver_request_total:sum_rate10m\n          expr: sum by (job)(rate(apiserver_request_total[10m]))\n          labels:\n            team: operations"
}
```
#### 响应示例
无
#### 状态码
| 状态码 | 描述                         |
|:---|:---|
| 204 | No Content 表示请求成功，但没有内容返回。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-aom/ErrorCode.html)。
