创建VPC通道
功能介绍
在API网关中创建连接私有VPC资源的通道,并在创建API时将后端节点配置为使用这些VPC通道,以便API网关直接访问私有VPC资源。
 
 
   每个用户最多创建30个VPC通道。
URI
HTTP/HTTPS请求方法以及URI如下表所示。
| 请求方法 | URI | 
|---|---|
| POST | /v1/{project_id}/apigw/instances/{instance_id}/vpc-channels | 
URI中的参数说明如下表所示。
| 名称 | 是否必选 | 类型 | 说明 | 
|---|---|---|---|
| project_id | 是 | String | 项目ID。可从控制台“我的凭证”中获取region下项目ID,管理员权限可查询。 | 
| instance_id | 是 | String | 实例ID,可从API网关控制台的专享版实例信息中获取。 | 
请求消息
| 参数 | 是否必选 | 类型 | 说明 | 
|---|---|---|---|
| name | 是 | String | VPC通道的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“-”、“_”组成,且只能以英文或中文开头。 
         说明: 
         中文字符必须为UTF-8或者unicode编码。 | 
| type | 是 | Integer | VPC通道的类型。 
 | 
| member_type | type = 2时必选 | String | VPC通道的成员类型。 
 仅VPC通道类型为2时有效,缺省为instance。 | 
| port | type = 2时必选 | Integer | VPC通道中主机的端口号。 取值范围1 ~ 65535,仅VPC通道类型为2时有效。 | 
| balance_strategy | type = 2时必选 | Integer | 分发算法。 
 仅VPC通道类型为2时有效,缺省为1。 | 
| vpc_health_config | type = 2时必选 | 字典数据类型 | 健康检查详情,仅VPC通道类型为2时有效。 | 
| 参数 | 是否必选 | 类型 | 说明 | 
|---|---|---|---|
| protocol | 是 | String | 
        使用以下协议,对VPC中主机执行健康检查。
         
 | 
| path | protocol = http时必选 | String | 健康检查时的目标路径。 
         说明: 
         需要服从URI规范。 | 
| port | 否 | Integer | 健康检查的目标端口,缺省时为VPC中主机的端口号。 取值范围1 ~ 65535。 | 
| threshold_normal | 是 | Integer | 正常阈值。 判定VPC通道中主机正常的依据为:连续检查x成功,x为您设置的正常阈值。 取值范围2 ~ 10 | 
| threshold_abnormal | 是 | Integer | 异常阈值。 判定VPC通道中主机异常的依据为:连续检查x失败,x为您设置的异常阈值。 取值范围2 ~ 10。 | 
| time_out | 是 | Integer | 超时时间:检查期间,无响应的时间,单位为秒。必须小于time_interval字段取值。 取值范围2 ~ 30。 | 
| time_interval | 是 | Integer | 间隔时间:连续两次检查的间隔时间,单位为秒。必须大于time_out字段取值。 取值范围5 ~ 300。 | 
| http_code | protocol = http时必选 | String | 检查目标HTTP响应时,判断成功使用的HTTP响应码。 取值范围为100到599之前的任意整数值,支持如下三种格式: 
 | 
| 参数 | 是否必选 | 类型 | 说明 | 
|---|---|---|---|
| instance_name | 是 | String | 后端实例的名称。 支持汉字,英文,数字,“-”,“_”,“.”,1 ~ 64字符。 
         说明: 
         中文字符必须为UTF-8或者unicode编码。 | 
| instance_id | 是 | String | 后端实例的编号。 支持英文,数字,“-”,“_”,1 ~ 64字符。 | 
| weight | type = 2时必选 | Integer | 权重值。 权重值越大,转发到该后端实例的请求数量越多。 取值范围1 ~ 100,仅VPC通道类型为2时有效。 | 
请求消息样例:
{
  "balance_strategy": 1,
  "name": "vpc_001",
  "port": 15565,
  "type": 2,
  "member_type": "instance",
  "vpc_health_config": {
    "http_code": "205",
    "path": "/hc",
    "port": 15563,
    "protocol": "http",
    "threshold_abnormal": 5,
    "threshold_normal": 5,
    "time_interval": 200,
    "time_out": 30
  },
  "vpc_instances": [
    {
      "instance_id": "instance01",
      "instance_name": "instance_name01",
      "weight": 10
    }
  ]
}
 响应消息
| 名称 | 类型 | 说明 | 
|---|---|---|
| id | String | VPC通道的编号。 | 
| name | String | VPC通道的名称。 | 
| type | Integer | VPC通道的类型。 
 | 
| member_type | String | VPC通道的成员类型。 
 仅VPC通道类型为2时有效。 | 
| status | Integer | VPC通道的状态。 
 | 
| port | Integer | VPC通道中主机的端口号。 | 
| balance_strategy | Integer | 分发算法。 
 | 
| create_time | Timestamp | VPC通道的创建时间。 | 
响应消息样例:
{
  "name": "vpc_001",
  "type": 2,
  "member_type": "instance",
  "port": 15565,
  "balance_strategy": 1,
  "id": "c3e6a7d85d9e47be89dfcc3cd37405d7",
  "create_time": "2018-07-27T12:30:48.027484Z",
  "status": 1
}
 状态码
| 状态码 | 说明 | 
|---|---|
| 201 | Created | 
| 400 | Bad Request | 
| 401 | Unauthorized | 
| 403 | Forbidden | 
| 404 | Not Found | 
| 500 | Server Internal Error | 
 
  