# 开启数据库代理 - CreateRdSforMySqlProxy
#### 功能介绍
开启数据库代理。
- 调用接口前，您需要了解API[认证鉴权](https://support.huaweicloud.com/api-rds/rds_03_0001.html)。
- 调用接口前，您需要了解[请求Header参数说明](https://support.huaweicloud.com/api-rds/rds_03_0005.html#rds_03_0005__section479119143310)。
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/RDS/doc?api=CreateRdSforMySqlProxy)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-rds/rds_10_0005.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                        | 访问级别  | 资源类型（\*为必须） | 条件键                                                                         | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| rds:instance:modifyProxy | write | instance  | g:EnterpriseProjectId g:ResourceTag/\<tag-key\> | -   | -      |
   
#### URI
- URI格式 POST /v3/{project_id}/instances/{instance_id}/proxy/open
  

- 参数说明
  表1参数说明 
  | 名称               | 是否必选     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  |:---|:---|:---|
  | project_id    | 是 | **参数解释：** 租户在某一region下的project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-rds/rds_03_0002.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                |
  | instance_id | 是 | **参数解释：** 实例ID。 可调用[查询数据库实例列表](https://support.huaweicloud.com/api-rds/rds_01_0004.html)接口，通过[表4](https://support.huaweicloud.com/api-rds/rds_01_0004.html#rds_01_0004__table2058713718267)中的"id"获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
     
  
 
#### 请求消息
表2参数说明 
| 参数                   | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| flavor_ref         | 是 | String           | **参数解释**： 数据库代理规格码。 **约束限制**： 不涉及。 **取值范围**： - 当局点支持主备模式数据库代理时，该字段不生效。  - 当局点支持集群模式数据库代理时，该字段请参考[查询数据库代理规格信息](https://support.huaweicloud.com/api-rds/rds_11_0035.html)接口返回体中的"code"字段。   **默认取值**： 不涉及。                                                      |
| node_num          | 是 | Integer          | **参数解释**： 数据库代理节点数量。 **约束限制**： 不涉及。 **取值范围**： - 当局点支持主备模式数据库代理时，请设置该字段为固定值2。  - 当局点支持集群模式数据库代理时，该字段最小值为2，最大值请参考[查询数据库代理信息列表](https://support.huaweicloud.com/api-rds/rds_11_0034.html)接口返回体中"max_proxy_node_num"字段值。   **默认取值**： 不涉及。                               |
| proxy_name         | 否  | String          | **参数解释**： 数据库代理名称。用于表示实例的名称，同一租户下，同类型的实例名可重名。 **约束限制**： 当前区域仅支持主备模式数据库代理时，将随机生成名称。 **取值范围**： 最小长度为4个字符，最大不超过64个字节，以字母或中文字符开头，只能包含字母、数字、中划线、下划线、英文句号和中文。 **默认取值**： 不选择该参数时，将随机生成名称。                                                                                                                                                                                                                                                                                              |
| proxy_mode         | 否   | String            | **参数解释**： 数据库代理读写模式。 **约束限制**： 不涉及。 **取值范围**： - readwrite：读写模式，默认为读写模式。  - readonly：只读模式。   **默认取值**： readwrite                                                                                                                                                      |
| route_mode         | 否  | Integer           | **参数解释**： 数据库代理路由模式。 **约束限制**： 不涉及。 **取值范围**： - 0：表示权重负载模式。  - 1：表示负载均衡模式（数据库主节点不接受读请求）。  - 2：表示负载均衡模式（数据库主节点接受读请求）。   **默认取值**： 不涉及。 |
| nodes_read_weight | 是    | Array of objects | **参数解释**： 数据库节点的读权重设置。详情请参见[表3]。 **约束限制**： - 在proxy_mode（数据库代理读写模式）为readonly（只读模式）时，需要至少为一个只读实例配置权重。  - 在route_mode（路由模式）\>0时，为主实例配置的权重将不生效。                                                                                                                                                                         |
| subnet_id          | 否 | String          | **参数解释**： 数据库VPC下的子网ID。 **约束限制**： 不涉及。 **取值范围**： 获取方法如下： - 方法1：登录虚拟私有云服务的控制台界面，单击VPC下的子网，进入子网详情页面，查找网络ID。  - 方法2：通过虚拟私有云服务的API接口查询，具体操作可参考[查询子网列表](https://support.huaweicloud.com/api-vpc/vpc_subnet01_0003.html)。   **默认取值**： 不涉及。                                                                                                                            |
   
 表3nodes_read_weight字段数据结构说明 
| 参数       | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| instance_id | 是     | String   | **参数解释**： 数据库实例ID。 **约束限制**： 不涉及。 **取值范围**： - 主实例ID可调用[查询数据库实例列表](https://support.huaweicloud.com/api-rds/rds_01_0004.html)接口，通过[表4](https://support.huaweicloud.com/api-rds/rds_01_0004.html#rds_01_0004__table2058713718267)中的"id"获取。  - 只读实例ID可调用[查询数据库实例列表](https://support.huaweicloud.com/api-rds/rds_01_0004.html)接口，通过[表9](https://support.huaweicloud.com/api-rds/rds_01_0004.html#rds_01_0004__table1179987152611)中的"id"获取。   **默认取值**： 不涉及。 |
| weight   | 是   | Integer | **参数解释**： 数据库代理读权重。 **约束限制**： 不涉及。 **取值范围**： 1\~1000 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   
#### 请求示例
开启数据库代理。
```
POST https://{Endpoint}/v3/23a50154cf494ec9ad6883979a12db0a/instances/920ec36cef814a8b830a5bed50d9a088in01/proxy/open
{
    "flavor_ref": "rds.proxy.xlarge.2",
    "node_num": 2,
    "proxy_name": "proxy-test",
"nodes_read_weight": [
        {
            "instance_id": "917c67424dd54af3addf537a069e5b20in01",
            "weight": 1
        }
    ]
}
```
#### 响应消息
- 正常响应要素说明
  表4要素说明 
  | 名称             | 参数类型       | 说明                                                                                                                        |
  |:---|:---|:---|
  | job_id | String | **参数解释**： 任务ID。 **取值范围**： 不涉及。 |
  | proxy_id                                | String                             | **参数解释：** 代理ID。 **取值范围：** 不涉及。                              |
     
  

- 正常响应样例
  ```
  { 
     "job_id" : "09908118-8e32-4742-982a-7be194f59e1d",
     "proxy_id": "3ea2d2105f634da2a97ce663597d80dbpo01"
   }
  ```
  
- 异常响应 请参见[异常响应结果](https://support.huaweicloud.com/api-rds/rds_01_0010.html)。
  
 
#### 状态码
- 正常 202
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-rds/rds_10_0200.html)。
  
 
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-rds/rds_10_0201.html)。
