华为云用户手册

  • 请求示例 更新VPC通道非备用后端实例信息 { "member_group_name" : "primary", "members" : [ { "host" : "192.168.2.25", "weight" : 1, "is_backup" : false, "member_group_name" : "primary" } ] } 全量更新VPC通道后端实例信息 { "members" : [ { "ecs_id" : "1082720c-3c15-409c-9ae3-4983ddfb6a9d", "ecs_name" : "APIGtest02", "weight" : 2 } ] }
  • 响应示例 状态码: 200 OK 示例 1 { "total" : 1, "size" : 1, "members" : [ { "host" : "192.168.2.25", "weight" : 1, "is_backup" : false, "member_group_name" : "primary", "port" : 22, "status" : 1, "ecs_id" : "192.168.2.25", "ecs_name" : "192.168.2.25", "id" : "683b6807cad54122a6777ad047a6178e", "vpc_channel_id" : "56a7d7358e1b42459c9d730d65b14e59", "create_time" : "2020-07-23T09:13:24Z", "member_group_id" : "631b551cddda40478ef720163a9412ed" } ] } 示例 2 { "total" : 1, "size" : 1, "members" : [ { "host" : "192.168.0.17", "weight" : 2, "is_backup" : false, "member_group_name" : "primary", "port" : 22, "status" : 1, "ecs_id" : "1082720c-3c15-409c-9ae3-4983ddfb6a9d", "ecs_name" : "APIGtest02", "id" : "5c868f0224084710a1e188b7d3057c52", "vpc_channel_id" : "105c6902457144a4820dff8b1ad63331", "create_time" : "2020-07-23T09:03:53Z", "member_group_id" : "631b551cddda40478ef720163a9412ed" } ] } 状态码: 400 Bad Request { "error_code" : "APIG.2001", "error_msg" : "The request parameters must be specified, parameter name:members" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3023", "error_msg" : "The VPC channel does not exist,id:56a7d7358e1b42459c9d730d65b14e59" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI PUT /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id}/members 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 vpc_channel_id 是 String VPC通道的编号
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 members 否 Array of MemberInfo objects 后端实例列表 member_group_name 否 String 需要修改的后端服务器组 不传时使用members中的定义对VPC通道后端进行全量覆盖修改。 传入时,只对members中对应后端服务器组的后端实例进行处理,其他后端服务器组的入参会被忽略。例如:member_group_name=primary时,只处理members中后端服务器组为105c6902457144a4820dff8b1ad63331的后端实例。 表4 MemberInfo 参数 是否必选 参数类型 描述 host 否 String 后端服务器地址 后端实例类型为ip时必填 最大长度:255 weight 否 Integer 权重值。 允许您对后端服务进行评级,权重值越大,转发到该云服务的请求数量越多。 最小值:0 最大值:10000 is_backup 否 Boolean 是否备用节点。 开启后对应后端服务为备用节点,仅当非备用节点全部故障时工作。 实例需要升级到对应版本才支持此功能,如果不支持请联系技术支持。 缺省值:false member_group_name 否 String 后端服务器组名称。为后端服务地址选择服务器组,便于统一修改对应服务器组的后端地址。 status 否 Integer 后端服务器状态 1:可用 2:不可用 port 否 Integer 后端服务器端口 最小值:0 最大值:65535 ecs_id 否 String 后端云服务器的编号。 后端实例类型为ecs时必填,支持英文,数字,“-”,“_”,1 ~ 64字符。 最大长度:255 ecs_name 否 String 后端云服务器的名称。 后端实例类型为ecs时必填,支持汉字,英文,数字,“-”,“_”,“.”,1 ~ 64字符。 最大长度:64
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 size Integer 本次返回的列表长度 total Long 满足条件的记录数 members Array of VpcMemberInfo objects 本次查询到的云服务器列表 表6 VpcMemberInfo 参数 参数类型 描述 host String 后端服务器地址 后端实例类型为ip时必填 最大长度:255 weight Integer 权重值。 允许您对后端服务进行评级,权重值越大,转发到该云服务的请求数量越多。 最小值:0 最大值:10000 is_backup Boolean 是否备用节点。 开启后对应后端服务为备用节点,仅当非备用节点全部故障时工作。 实例需要升级到对应版本才支持此功能,如果不支持请联系技术支持。 缺省值:false member_group_name String 后端服务器组名称。为后端服务地址选择服务器组,便于统一修改对应服务器组的后端地址。 status Integer 后端服务器状态 1:可用 2:不可用 port Integer 后端服务器端口 最小值:0 最大值:65535 ecs_id String 后端云服务器的编号。 后端实例类型为ecs时必填,支持英文,数字,“-”,“_”,1 ~ 64字符。 最大长度:255 ecs_name String 后端云服务器的名称。 后端实例类型为ecs时必填,支持汉字,英文,数字,“-”,“_”,“.”,1 ~ 64字符。 最大长度:64 id String 后端实例对象的编号 vpc_channel_id String VPC通道的编号 create_time String 后端实例增加到VPC通道的时间 member_group_id String 后端服务器组编号 health_status String 负载通道后端实例健康状态,unknown、healthy、unhealthy分别标识未做健康检查、健康、不健康。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "variable_value" : "192.168.1.5", "env_id" : "7a1ad0c350844ee69479b47df9a881cb", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "id" : "25054838a624400bbf2267cf5b3a3f70", "variable_name" : "address" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3011", "error_msg" : "The environment variable does not exist, id: 25054838a624400bbf2267cf5b3a3f70" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/env-variables/{env_variable_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 env_variable_id 是 String 环境变量的编号
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 variable_value String 变量值支持英文字母、数字、英文格式的下划线、中划线,斜线(/)、点、冒号,1 ~ 255个字符。 env_id String 环境编号 最小长度:1 最大长度:65 group_id String API分组编号 最小长度:1 最大长度:65 variable_name String 变量名,支持英文字母、数字、英文格式的下划线、中划线,必须以英文字母开头,3~32个字符。在API定义中等于#Name的值#部分(区分大小写),发布到环境里的API被变量值替换。 说明: 中文字符必须为UTF-8或者unicode编码。 id String 环境变量编号 状态码: 401 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 bandwidth_size 否 Integer 入公网带宽 单位:Mbit/s bandwidth_charging_mode 否 String 入公网带宽计费类型: bandwidth:按带宽计费 traffic:按流量计费 缺省值:bandwidth
  • 响应参数 状态码: 202 表4 响应Body参数 参数 参数类型 描述 instance_id String 实例ID message String 公网入口变更的任务信息 job_id String 任务编号 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 202 Accepted { "instance_id" : "6a7d71827fd54572b1f31aa9548fcc81", "message" : "JOB_ASSIGNED_FOR_UPDATE_0077I:The job JOB-a7c1241c33334490a3fdcd11102bcbda is assigned to the instance 6a7d71827fd54572b1f31aa9548fcc81 for running updating", "job_id" : "JOB-a7c1241c33334490a3fdcd11102bcbda" } 状态码: 400 Bad Request { "error_code" : "APIC.9211", "error_msg" : "update bandwidth size failed" } 状态码: 401 Unauthorized { "error_code" : "APIC.7102", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIC.7106", "error_msg" : "No permissions to request for the method" } 状态码: 404 Not Found { "error_code" : "APIC.7302", "error_msg" : "Instance not found" } 状态码: 500 Internal Server Error { "error_code" : "APIC.9000", "error_msg" : "Failed to request internal service" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 status 否 Integer 响应的HTTP状态码。范围为200-599,但不允许为444。 body 否 String 响应的Body模板 headers 否 Array of ResponseInfoHeader objects 自定义的响应头 数组长度:0 - 10 表4 ResponseInfoHeader 参数 是否必选 参数类型 描述 key 否 String 分组自定义响应的响应头的key,支持英文字母、数字和中划线,长度为1到128位 value 否 String 分组自定义响应的响应头的value,为长度为1到1024位的字符串 最小长度:1 最大长度:1024
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 status Integer 响应的HTTP状态码。范围为200-599,但不允许为444。 body String 响应的Body模板 headers Array of ResponseInfoHeader objects 自定义的响应头 数组长度:0 - 10 default Boolean 是否为默认响应 表6 ResponseInfoHeader 参数 参数类型 描述 key String 分组自定义响应的响应头的key,支持英文字母、数字和中划线,长度为1到128位 value String 分组自定义响应的响应头的value,为长度为1到1024位的字符串 最小长度:1 最大长度:1024 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "AC CES S_DENIED" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 403 } } 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:group_id. Please refer to the support documentation" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3001", "error_msg" : "API group c77f5e81d9cb4424bf704ef2b0ac7600 does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI PUT /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/gateway-responses/{response_id}/{response_type} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 group_id 是 String 分组的编号 response_id 是 String 响应编号 response_type 是 String 错误类型 AUTH_FAILURE: 认证失败,IAM或APP认证校验失败 AUTH_HEADER_MISSING: 认证身份来源信息缺失 AUTHORIZER_FAILURE: 自定义认证方返回认证失败 AUTHORIZER_CONF_FAILURE:自定义认证方异常,通信失败、返回异常响应等错误 AUTHORIZER_IDENTITIES_FAILURE: 前端自定义认证的身份来源信息缺失或不合法错误 BACKEND_UNAVAILABLE: 后端不可用,网络不可达错误 BACKEND_TIMEOUT: 后端超时,与后端的网络交互超过预配置的时间错误 THROTTLED: API调用次数超出所配置的流量策略阈值 UNAUTHORIZED: 使用的凭据未被授权访问该API ACCESS_DENIED: 拒绝访问,如触发配置的访问控制策略、或异常攻击检测拦截 NOT_FOUND: 未匹配到API错误 REQUEST_PA RAM ETERS_FAILURE: 请求参数校验失败、不支持的HTTP方法 DEFAULT_4XX: 其它4XX类错误 DEFAULT_5XX: 其它5XX类错误 THIRD_AUTH_FAILURE: 第三方认证方返回认证失败 THIRD_AUTH_IDENTITIES_FAILURE: 第三方认证的身份来源信息缺失或不合法错误 THIRD_AUTH_CONF_FAILURE: 第三方认证方异常,通信失败、返回异常响应等错误 ORCHESTRATION_PARAMETER_NOT_FOUND: 参数编排失败,请求中没有待编排的入参 ORCHESTRATION_FAILURE: 参数编排失败,没有编排规则匹配成功
  • 响应示例 状态码: 201 Created { "bindings" : [ { "api_id" : "5f918d104dc84480a75166ba99efff21", "sign_secret" : "dc0************2b3", "group_name" : "api_group_001", "sign_id" : "0b0e8f456b8742218af75f945307173c", "sign_key" : "a071a20d460a4f639a636c3d7e3d8163", "binding_time" : "2020-08-03T04:00:11.638167852Z", "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "env_name" : "RELEASE", "sign_name" : "signature_demo", "api_type" : 1, "api_name" : "Api_http", "id" : "25082bd52f74442bb1d273993d567938", "api_remark" : "Web backend API" } ] } 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:sign_id. Please refer to the support documentation" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3017", "error_msg" : "Signature key 0b0e8f456b8742218af75f945307173c does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 sign_id 是 String 签名密钥编号 publish_ids 是 Array of strings API的发布记录编号
  • 响应示例 状态码: 200 OK { "member_group_name" : "vpc_member_group", "member_group_id" : "105c6902457144a4820dff8b1ad63331", "dict_code" : "", "member_group_remark" : "", "create_time" : "2020-07-23T07:24:33Z", "update_time" : "2020-07-23T07:24:33Z", "microservice_version" : "", "microservice_port" : 0, "microservice_labels" : [ ] } 状态码: 400 Bad Request { "error_code" : "APIG.2001", "error_msg" : "The request parameters must be specified, parameter name:members" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3023", "error_msg" : "The VPC channel does not exist,id:56a7d7358e1b42459c9d730d65b14e59" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 member_group_name String VPC通道后端服务器组名称。支持汉字、英文、数字、下划线、中划线、点,且只能以英文和汉字开头,3-64字符。 说明: 中文字符必须为UTF-8或者unicode编码。 member_group_remark String VPC通道后端服务器组描述。 最大长度:255 member_group_weight Integer VPC通道后端服务器组权重值。 当前服务器组存在服务器且此权重值存在时,自动使用此权重值分配权重。 最小值:0 最大值:100 dict_code String VPC通道后端服务器组的字典编码 支持英文,数字,特殊字符(-_.) 暂不支持 最小长度:3 最大长度:64 microservice_version String VPC通道后端服务器组的版本,仅VPC通道类型为微服务时支持。 最大长度:64 microservice_port Integer VPC通道后端服务器组的端口号,仅VPC通道类型为微服务时支持。端口号为0时后端服务器组下的所有地址沿用原来负载端口继承逻辑。 最小值:0 最大值:65535 microservice_labels Array of MicroserviceLabel objects VPC通道后端服务器组的标签,仅VPC通道类型为微服务时支持。 reference_vpc_channel_id String 引用的负载通道编号,仅VPC通道类型为引用类型(vpc_channel_type=reference)时支持。 最小长度:0 最大长度:64 member_group_id String VPC通道后端服务器组编号 create_time String VPC通道后端服务器组创建时间 update_time String VPC通道后端服务器组更新时间 表4 MicroserviceLabel 参数 参数类型 描述 label_name String 标签名称。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 label_value String 标签值。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id}/member-groups/{member_group_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 vpc_channel_id 是 String VPC通道的编号 member_group_id 是 String VPC通道后端服务器组编号
  • 请求示例 创建一个跨域共享插件 { "plugin_name" : "跨域插件", "plugin_type" : "cors", "plugin_scope" : "global", "plugin_content" : "{\"allow_origin\": \"*\",\"allow_methods\": \"GET,POST,PUT\",\"allow_headers\": \"Content-Type,Accept,Accept-Ranges,Cache-Control\",\"expose_headers\": \"X-Request-Id,X-Apig-Latency\",\"max_age\": 172800,\"allow_credentials\": true}", "remark" : "CORS跨域资源访问" } 创建一个HTTP响应头插件 { "plugin_name" : "HTTP响应头插件", "plugin_type" : "set_resp_headers", "plugin_scope" : "global", "plugin_content" : "{\\\"response_headers\\\":[{\\\"name\\\":\\\"x-demo\\\",\\\"value_type\\\":\\\"custom_value\\\",\\\"value\\\":\\\"sss\\\",\\\"action\\\":\\\"append\\\"}]}", "remark" : "HTTP响应头管理" } 创建一个流控插件 { "plugin_name" : "流控插件", "plugin_type" : "rate_limit", "plugin_scope" : "global", "plugin_content" : "{\\\"scope\\\":\\\"basic\\\",\\\"default_time_unit\\\":\\\"minute\\\",\\\"default_interval\\\":1,\\\"api_limit\\\":50,\\\"app_limit\\\":0,\\\"user_limit\\\":0,\\\"ip_limit\\\":0,\\\"algorithm\\\":\\\"counter\\\",\\\"specials\\\":[],\\\"parameters\\\":[],\\\"rules\\\":[]}", "remark" : "流量控制" } 创建一个kafka日志插件 { "plugin_name" : "KAFKA日志插件", "plugin_type" : "kafka_log", "plugin_scope" : "app", "plugin_content" : "{\\\"broker_list\\\":[\\\"0.0.0.0:11\\\"],\\\"topic\\\":\\\"topic\\\",\\\"key\\\":\\\"\\\",\\\"max_retry_count\\\":0,\\\"retry_backoff\\\":1,\\\"sasl_config\\\":{\\\"security_protocol\\\":\\\"PLAINTEXT\\\",\\\"sasl_mechanisms\\\":\\\"PLAIN\\\",\\\"sasl_username\\\":\\\"\\\",\\\"sasl_password\\\":\\\"\\\",\\\"ssl_ca_content\\\":\\\"\\\"},\\\"meta_config\\\":{\\\"system\\\":{\\\"start_time\\\":true,\\\"request_id\\\":true,\\\"client_ip\\\":true,\\\"api_id\\\":false,\\\"user_name\\\":false,\\\"app_id\\\":false,\\\"access_model1\\\":false,\\\"request_time\\\":true,\\\"http_status\\\":true,\\\"server_protocol\\\":false,\\\"scheme\\\":true,\\\"request_method\\\":true,\\\"host\\\":false,\\\"api_uri_mode\\\":false,\\\"uri\\\":false,\\\"request_size\\\":false,\\\"response_size\\\":false,\\\"upstream_uri\\\":false,\\\"upstream_addr\\\":true,\\\"upstream_status\\\":true,\\\"upstream_connect_time\\\":false,\\\"upstream_header_time\\\":false,\\\"upstream_response_time\\\":true,\\\"all_upstream_response_time\\\":false,\\\"region_id\\\":false,\\\"auth_type\\\":false,\\\"http_x_forwarded_for\\\":true,\\\"http_user_agent\\\":true,\\\"error_type\\\":true,\\\"access_model2\\\":false,\\\"inner_time\\\":false,\\\"proxy_protocol_vni\\\":false,\\\"proxy_protocol_vpce_id\\\":false,\\\"proxy_protocol_addr\\\":false,\\\"body_bytes_sent\\\":false,\\\"api_name\\\":false,\\\"app_name\\\":false,\\\"provider_app_id\\\":false,\\\"provider_app_name\\\":false,\\\"custom_data_log01\\\":false,\\\"custom_data_log02\\\":false,\\\"custom_data_log03\\\":false,\\\"custom_data_log04\\\":false,\\\"custom_data_log05\\\":false,\\\"custom_data_log06\\\":false,\\\"custom_data_log07\\\":false,\\\"custom_data_log08\\\":false,\\\"custom_data_log09\\\":false,\\\"custom_data_log10\\\":false,\\\"response_source\\\":false},\\\"call_data\\\":{\\\"log_request_header\\\":false,\\\"request_header_filter\\\":\\\"\\\",\\\"log_request_query_string\\\":false,\\\"request_query_string_filter\\\":\\\"\\\",\\\"log_request_body\\\":false,\\\"log_response_header\\\":false,\\\"response_header_filter\\\":\\\"\\\",\\\"log_response_body\\\":false,\\\"custom_authorizer\\\":{\\\"frontend\\\":[],\\\"backend\\\":[]}}}}", "remark" : "KAFKA日志推送" } 创建一个断路器插件 { "plugin_name" : "断路器插件", "plugin_type" : "breaker", "plugin_scope" : "app", "plugin_content" : "{\\\"breaker_condition\\\":{\\\"breaker_type\\\":\\\"timeout\\\",\\\"breaker_mode\\\":\\\"counter\\\",\\\"unhealthy_condition\\\":\\\"\\\",\\\"unhealthy_threshold\\\":30,\\\"min_call_threshold\\\":20,\\\"unhealthy_percentage\\\":51,\\\"time_window\\\":15,\\\"open_breaker_time\\\":15},\\\"downgrade_default\\\":null,\\\"downgrade_parameters\\\":null,\\\"downgrade_rules\\\":null,\\\"scope\\\":\\\"basic\\\"}", "remark" : "断路器" } 创建一个第三方认证插件 { "plugin_name" : "第三方认证插件", "remark" : "这是一个包含规则表达式白名单的第三方认证插件", "plugin_type" : "third_auth", "plugin_scope" : "global", "plugin_content" : "{\\\"auth_request\\\":{\\\"method\\\":\\\"POST\\\",\\\"protocol\\\":\\\"HTTP\\\",\\\"url_domain\\\":\\\"xxx.xxx.xxx.xxx:1234\\\",\\\"timeout\\\":10,\\\"path\\\":\\\"/check\\\",\\\"vpc_channel_enabled\\\":false,\\\"vpc_channel_info\\\":{\\\"vpc_proxy_host\\\":\\\"abc.com\\\",\\\"vpc_id\\\":\\\"3c113f40a54a40369ceb1eb1409a32ee\\\"}},\\\"identities\\\":{\\\"headers\\\":[{\\\"name\\\":\\\"token\\\"}],\\\"query\\\":[{\\\"name\\\":\\\"user\\\"}]},\\\"carry_body\\\":{\\\"enabled\\\":true,\\\"max_body_size\\\":10000},\\\"carry_path_enabled\\\":false,\\\"return_resp_body_enabled\\\":true,\\\"carry_resp_headers\\\":[\\\"x-message-result\\\"],\\\"simple_auth_mode_enabled\\\":false,\\\"match_auth\\\":{\\\"key\\\":\\\"x-message-result\\\",\\\"value\\\":\\\"success\\\"},\\\"rule_enabled\\\":true,\\\"rule_type\\\":\\\"allow\\\",\\\"parameters\\\":[{\\\"value\\\":\\\"reqPath\\\",\\\"type\\\":\\\"path\\\",\\\"name\\\":\\\"reqPath\\\"},{\\\"value\\\":\\\"method\\\",\\\"type\\\":\\\"method\\\",\\\"name\\\":\\\"method\\\"},{\\\"value\\\":\\\"Host\\\",\\\"type\\\":\\\"header\\\",\\\"name\\\":\\\"Host\\\"}],\\\"rules\\\":[{\\\"match_regex\\\": \\\"[\\\\\\\"OR\\\\\\\", [\\\\\\\"reqPath\\\\\\\", \\\\\\\"~~\\\\\\\", \\\\\\\"/xxl-job-admin/*\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/app/leave/infor/v1/addLeaveLnfor\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/v1/charge/home/modifyChargeSync\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/app/mweb/campaign/api/v1/getActivityConfig\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/mp/vehicle/owner/home\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/app/mweb/campaign/api/v1/getTime\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/c-showroom-service/v1/vehicleDetails/upload\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"~~\\\\\\\", \\\\\\\"/operation-charging-bff/carOwnerRights/certificate/*\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"~~\\\\\\\", \\\\\\\"/api/2c/v1/sales-bff/*\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/2c/v1/vehicleDetails/upload\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"~~\\\\\\\", \\\\\\\"/operation-admin/*\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/app/settings/api/v1/receiveClk\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/vehicle/relative/yTSendVehicleControl.json\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/appoint/getAppointmentByTestDrive\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/evd/callBackEvdPay\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/evd/callBackEvdOrder\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/evd/getUserToken\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/evd/callBackEvdCoupon\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/task/busTriggerTaskEvent.json\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/datacenter-log-center/api/trackApi/commonAdd.json\\\\\\\"]]\\\", \\\"rule_name\\\": \\\"allow2\\\"}],\\\"custom_forbid_limit\\\":100,\\\"auth_downgrade_enabled\\\":false}" } 创建一个响应缓存插件 { "plugin_name" : "响应缓存插件", "remark" : "这是响应缓存插件", "plugin_type" : "proxy_cache", "plugin_scope" : "global", "plugin_content" : "{\\\"cache_key\\\": {\\\"system_params\\\": [\\\"$context.sourceIp\\\",\\\"$context.requestId\\\"],\\\"parameters\\\": [\\\"demo_parameter\\\"],\\\"headers\\\": [\\\"demo_header\\\"]},\\\"cache_http_status_and_ttl\\\": [{\\\"http_status\\\": [200],\\\"ttl\\\": 300},{\\\"http_status\\\": [300],\\\"ttl\\\": 200}],\\\"client_cache_control\\\": {\\\"mode\\\": \\\"apps\\\",\\\"datas\\\": [\\\"demo_app_id_1,demo_app_id_2\\\"]},\\\"cacheable_headers\\\": [\\\"demo_cacheable_headers_1,demo_cacheable_headers_2\\\"]}" } 创建一个请求镜像插件 { "plugin_name" : "请求镜像插件", "remark" : "这是请求镜像插件", "plugin_type" : "proxy_mirror", "plugin_scope" : "global", "plugin_content" : "{\\\"protocol\\\": \\\"http\\\",\\\"host\\\": \\\"xxx.xxx.xxx.xxx:1234\\\",\\\"path\\\": \\\"/test\\\",\\\"path_concat_mode\\\": \\\"replace\\\",\\\"sample_ratio\\\": 1,\\\"timeout\\\": 5000,\\\"mirror_request_body_enabled\\\": true}" }
  • 响应示例 状态码: 201 OK { "plugin_id" : "5b729aa252764739b3s237ef0d66dc63", "plugin_name" : "跨域插件", "plugin_type" : "cors", "plugin_scope" : "global", "plugin_content" : "{\"allow_origin\": \"*\",\"allow_methods\": \"GET,POST,PUT\",\"allow_headers\": \"Content-Type,Accept,Accept-Ranges,Cache-Control\",\"expose_headers\": \"X-Request-Id,X-Apig-Latency\",\"max_age\": 172800,\"allow_credentials\": true}", "remark" : "CORS跨域资源访问", "create_time" : "2022-11-02T12:31:23.353Z", "update_time" : "2022-11-02T12:31:23.353Z" } { "plugin_id" : "8a688dce7d0c45cf84edac3d7b071769", "plugin_name" : "HTTP响应头插件", "plugin_type" : "set_resp_headers", "plugin_scope" : "global", "plugin_content" : "{\\\"response_headers\\\":[{\\\"name\\\":\\\"x-demo\\\",\\\"value_type\\\":\\\"custom_value\\\",\\\"value\\\":\\\"sss\\\",\\\"action\\\":\\\"append\\\"}]}", "remark" : "HTTP响应头管理", "create_time" : "2022-11-02T12:31:23.353Z", "update_time" : "2022-11-02T12:31:23.353Z" } { "plugin_id" : "9642ff2b9a86481689ca9d28babcfd7f", "plugin_name" : "流控插件", "plugin_type" : "rate_limit", "plugin_scope" : "global", "plugin_content" : "{\\\"scope\\\":\\\"basic\\\",\\\"default_time_unit\\\":\\\"minute\\\",\\\"default_interval\\\":1,\\\"api_limit\\\":50,\\\"app_limit\\\":0,\\\"user_limit\\\":0,\\\"ip_limit\\\":0,\\\"algorithm\\\":\\\"counter\\\",\\\"specials\\\":[],\\\"parameters\\\":[],\\\"rules\\\":[]}", "remark" : "流量控制", "create_time" : "2022-11-02T12:31:23.353Z", "update_time" : "2022-11-02T12:31:23.353Z" } { "plugin_id" : "92284ece6ec7466da2c2ac2416f46d5d", "plugin_name" : "KAFKA日志插件", "plugin_type" : "kafka_log", "plugin_scope" : "app", "plugin_content" : "{\\\"broker_list\\\":[\\\"0.0.0.0:11\\\"],\\\"topic\\\":\\\"topic\\\",\\\"key\\\":\\\"\\\",\\\"max_retry_count\\\":0,\\\"retry_backoff\\\":1,\\\"sasl_config\\\":{\\\"security_protocol\\\":\\\"PLAINTEXT\\\",\\\"sasl_mechanisms\\\":\\\"PLAIN\\\",\\\"sasl_username\\\":\\\"\\\",\\\"sasl_password\\\":\\\"\\\",\\\"ssl_ca_content\\\":\\\"\\\"},\\\"meta_config\\\":{\\\"system\\\":{\\\"start_time\\\":true,\\\"request_id\\\":true,\\\"client_ip\\\":true,\\\"api_id\\\":false,\\\"user_name\\\":false,\\\"app_id\\\":false,\\\"access_model1\\\":false,\\\"request_time\\\":true,\\\"http_status\\\":true,\\\"server_protocol\\\":false,\\\"scheme\\\":true,\\\"request_method\\\":true,\\\"host\\\":false,\\\"api_uri_mode\\\":false,\\\"uri\\\":false,\\\"request_size\\\":false,\\\"response_size\\\":false,\\\"upstream_uri\\\":false,\\\"upstream_addr\\\":true,\\\"upstream_status\\\":true,\\\"upstream_connect_time\\\":false,\\\"upstream_header_time\\\":false,\\\"upstream_response_time\\\":true,\\\"all_upstream_response_time\\\":false,\\\"region_id\\\":false,\\\"auth_type\\\":false,\\\"http_x_forwarded_for\\\":true,\\\"http_user_agent\\\":true,\\\"error_type\\\":true,\\\"access_model2\\\":false,\\\"inner_time\\\":false,\\\"proxy_protocol_vni\\\":false,\\\"proxy_protocol_vpce_id\\\":false,\\\"proxy_protocol_addr\\\":false,\\\"body_bytes_sent\\\":false,\\\"api_name\\\":false,\\\"app_name\\\":false,\\\"provider_app_id\\\":false,\\\"provider_app_name\\\":false,\\\"custom_data_log01\\\":false,\\\"custom_data_log02\\\":false,\\\"custom_data_log03\\\":false,\\\"custom_data_log04\\\":false,\\\"custom_data_log05\\\":false,\\\"custom_data_log06\\\":false,\\\"custom_data_log07\\\":false,\\\"custom_data_log08\\\":false,\\\"custom_data_log09\\\":false,\\\"custom_data_log10\\\":false,\\\"response_source\\\":false},\\\"call_data\\\":{\\\"log_request_header\\\":false,\\\"request_header_filter\\\":\\\"\\\",\\\"log_request_query_string\\\":false,\\\"request_query_string_filter\\\":\\\"\\\",\\\"log_request_body\\\":false,\\\"log_response_header\\\":false,\\\"response_header_filter\\\":\\\"\\\",\\\"log_response_body\\\":false,\\\"custom_authorizer\\\":{\\\"frontend\\\":[],\\\"backend\\\":[]}}}}", "remark" : "KAFKA日志推送", "create_time" : "2022-11-02T12:31:23.353Z", "update_time" : "2022-11-02T12:31:23.353Z" } { "plugin_id" : "8b5253ed723c4a878e7b8532c08763b4", "plugin_name" : "断路器插件", "plugin_type" : "breaker", "plugin_scope" : "app", "plugin_content" : "{\\\"breaker_condition\\\":{\\\"breaker_type\\\":\\\"timeout\\\",\\\"breaker_mode\\\":\\\"counter\\\",\\\"unhealthy_condition\\\":\\\"\\\",\\\"unhealthy_threshold\\\":30,\\\"min_call_threshold\\\":20,\\\"unhealthy_percentage\\\":51,\\\"time_window\\\":15,\\\"open_breaker_time\\\":15},\\\"downgrade_default\\\":null,\\\"downgrade_parameters\\\":null,\\\"downgrade_rules\\\":null,\\\"scope\\\":\\\"basic\\\"}", "remark" : "断路器", "create_time" : "2022-11-02T12:31:23.353Z", "update_time" : "2022-11-02T12:31:23.353Z" } { "plugin_id" : "235d97683439437585aff06020059720", "plugin_name" : "第三方认证插件", "plugin_type" : "third_auth", "plugin_scope" : "global", "plugin_content" : "{\\\"auth_request\\\":{\\\"method\\\":\\\"POST\\\",\\\"protocol\\\":\\\"HTTP\\\",\\\"url_domain\\\":\\\"xxx.xxx.xxx.xxx:1234\\\",\\\"path\\\":\\\"/check\\\",\\\"timeout\\\":10,\\\"vpc_channel_enabled\\\":2,\\\"vpc_channel_info\\\":null},\\\"identities\\\":{\\\"headers\\\":[{\\\"name\\\":\\\"token\\\",\\\"essential\\\":false}],\\\"queries\\\":null},\\\"carry_body\\\":{\\\"enabled\\\":true,\\\"max_body_size\\\":10000},\\\"carry_path_enabled\\\":false,\\\"return_resp_body_enabled\\\":true,\\\"carry_resp_headers\\\":[\\\"x-message-result\\\"],\\\"simple_auth_mode_enabled\\\":false,\\\"match_auth\\\":{\\\"key\\\":\\\"x-message-result\\\",\\\"value\\\":\\\"success\\\"},\\\"parameters\\\":[{\\\"type\\\":\\\"path\\\",\\\"name\\\":\\\"reqPath\\\",\\\"value\\\":\\\"reqPath\\\"},{\\\"type\\\":\\\"method\\\",\\\"name\\\":\\\"method\\\",\\\"value\\\":\\\"method\\\"},{\\\"type\\\":\\\"header\\\",\\\"name\\\":\\\"Host\\\",\\\"value\\\":\\\"Host\\\"}],\\\"rules\\\":[{\\\"rule_name\\\":\\\"allow2\\\",\\\"match_regex\\\":\\\"[\\\\\\\"OR\\\\\\\", [\\\\\\\"reqPath\\\\\\\", \\\\\\\"~~\\\\\\\", \\\\\\\"/xxl-job-admin/*\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/app/leave/infor/v1/addLeaveLnfor\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/v1/charge/home/modifyChargeSync\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/app/mweb/campaign/api/v1/getActivityConfig\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/mp/vehicle/owner/home\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/app/mweb/campaign/api/v1/getTime\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/c-showroom-service/v1/vehicleDetails/upload\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"~~\\\\\\\", \\\\\\\"/operation-charging-bff/carOwnerRights/certificate/*\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"~~\\\\\\\", \\\\\\\"/api/2c/v1/sales-bff/*\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/2c/v1/vehicleDetails/upload\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"~~\\\\\\\", \\\\\\\"/operation-admin/*\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/app/settings/api/v1/receiveClk\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/vehicle/relative/yTSendVehicleControl.json\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/appoint/getAppointmentByTestDrive\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/evd/callBackEvdPay\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/evd/callBackEvdOrder\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/evd/getUserToken\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/evd/callBackEvdCoupon\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/api/task/busTriggerTaskEvent.json\\\\\\\"], [\\\\\\\"reqPath\\\\\\\", \\\\\\\"==\\\\\\\", \\\\\\\"/datacenter-log-center/api/trackApi/commonAdd.json\\\\\\\"]]\\\"}],\\\"rule_type\\\":\\\"allow\\\",\\\"rule_enabled\\\":true,\\\"custom_forbid_limit\\\":100,\\\"auth_downgrade_enabled\\\":false}", "remark" : "这是一个包含规则表达式白名单的第三方认证插件", "create_time" : "2023-05-06T06:54:59.296181801Z", "update_time" : "2023-05-06T06:54:59.296182035Z" } { "plugin_id" : "d5bf25cf31e04e888907b8ad72563f45", "plugin_name" : "响应缓存插件", "plugin_type" : "proxy_cache", "plugin_scope" : "global", "plugin_content" : "{\\\"cache_key\\\": {\\\"system_params\\\": [\\\"$context.sourceIp\\\",\\\"$context.requestId\\\"],\\\"parameters\\\": [\\\"demo_parameter\\\"],\\\"headers\\\": [\\\"demo_header\\\"]},\\\"cache_http_status_and_ttl\\\": [{\\\"http_status\\\": [200],\\\"ttl\\\": 300},{\\\"http_status\\\": [300],\\\"ttl\\\": 200}],\\\"client_cache_control\\\": {\\\"mode\\\": \\\"apps\\\",\\\"datas\\\": [\\\"demo_app_id_1,demo_app_id_2\\\"]},\\\"cacheable_headers\\\": [\\\"demo_cacheable_headers_1,demo_cacheable_headers_2\\\"]}", "remark" : "这是响应缓存插件", "create_time" : "2024-03-18T12:31:23.353Z", "update_time" : "2024-03-18T12:31:23.353Z" } { "plugin_id" : "d5bf25cf31e04e888907b8ad72563f45", "plugin_name" : "请求镜像插件", "plugin_type" : "proxy_mirror", "plugin_scope" : "global", "plugin_content" : "{\\\"protocol\\\": \\\"http\\\",\\\"host\\\": \\\"xxx.xxx.xxx.xxx:1234\\\",\\\"path\\\": \\\"/test\\\",\\\"path_concat_mode\\\": \\\"replace\\\",\\\"sample_ratio\\\": 1,\\\"timeout\\\": 5000,\\\"mirror_request_body_enabled\\\": true}", "remark" : "这是请求镜像插件", "create_time" : "2024-03-18T12:31:23.353Z", "update_time" : "2024-03-18T12:31:23.353Z" } 状态码: 400 Bad Request { "error_code" : "APIG.3326", "error_msg" : "The plugin name already exists" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3030", "error_msg" : "The instance does not exist;id:f0fa1789-3b76-433b-a787-9892951c620ec" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 plugin_name 是 String 插件名称。支持汉字,英文,数字,下划线,且只能以英文和汉字开头,3-255字符。 说明: 中文字符必须为UTF-8或者unicode编码。 plugin_type 是 String 插件类型。 cors:跨域资源共享 set_resp_headers:HTTP响应头管理 kafka_log:Kafka日志推送 breaker:断路器 rate_limit: 流量控制 third_auth: 第三方认证 proxy_cache: 响应缓存 proxy_mirror: 请求镜像 plugin_scope 是 String 插件可见范围。global:全局可见; plugin_content 是 String 插件定义内容,支持json。参考提供的具体模型定义 CorsPluginContent:跨域资源共享 定义内容 SetRespHeadersContent:HTTP响应头管理 定义内容 KafkaLogContent:Kafka日志推送 定义内容 BreakerContent:断路器 定义内容 RateLimitContent 流量控制 定义内容 ThirdAuthContent: 第三方认证 定义内容 ProxyCacheContent: 响应缓存 定义内容 ProxyMirrorContent: 请求镜像 定义内容 最大长度:65535 remark 否 String 插件描述,255字符。 说明: 中文字符必须为UTF-8或者unicode编码。 最大长度:255
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 plugin_id String 插件编码。 plugin_name String 插件名称。支持汉字,英文,数字,中划线,下划线,且只能以英文和汉字开头,3-255字符。 说明: 中文字符必须为UTF-8或者unicode编码。 plugin_type String 插件类型。 cors:跨域资源共享 set_resp_headers:HTTP响应头管理 kafka_log:Kafka日志推送 breaker:断路器 rate_limit: 流量控制 third_auth: 第三方认证 proxy_cache: 响应缓存 proxy_mirror: 请求镜像 plugin_scope String 插件可见范围。global:全局可见; plugin_content String 插件定义内容,支持json。参考提供的具体模型定义 CorsPluginContent:跨域资源共享 定义内容 SetRespHeadersContent:HTTP响应头管理 定义内容 KafkaLogContent:Kafka日志推送 定义内容 BreakerContent:断路器 定义内容 RateLimitContent 流量控制 定义内容 ThirdAuthContent: 第三方认证 定义内容 ProxyCacheContent: 响应缓存 定义内容 ProxyMirrorContent: 请求镜像 定义内容 最大长度:65535 remark String 插件描述,255字符。 说明: 中文字符必须为UTF-8或者unicode编码。 最大长度:255 create_time String 创建时间。 update_time String 更新时间。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 size Integer 本次返回的列表长度 total Long 满足条件的记录数 throttle_specials Array of ThrottleSpecialInfo objects 本次查询返回的特殊配置列表 表5 ThrottleSpecialInfo 参数 参数类型 描述 id String 特殊配置的编号 call_limits Integer 特殊对象在流控时间内能够访问API的最大次数限制 apply_time String 设置时间 app_name String 作用的APP名称 app_id String 作用的APP编号 object_id String 特殊对象的身份标识 object_type String 特殊对象类型:APP、USER object_name String 作用的APP或租户的名称 throttle_id String 流控策略编号 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "total" : 1, "size" : 1, "throttle_specials" : [ { "call_limits" : 200, "app_name" : "app_demo", "object_name" : "app_demo", "object_id" : "356de8eb7a8742168586e5daf5339965", "throttle_id" : "3437448ad06f4e0c91a224183116e965", "apply_time" : "2020-08-04T02:40:56Z", "id" : "a3e9ff8db55544ed9db91d8b048770c0", "app_id" : "356de8eb7a8742168586e5daf5339965", "object_type" : "APP" } ] } 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:app_name. Please refer to the support documentation" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3005", "error_msg" : "Request throttling policy 3437448ad06f4e0c91a224183116e965 does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 throttle_id 是 String 流控策略的编号 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Long 偏移量,表示从此偏移量开始查询,偏移量小于0时,自动转换为0 缺省值:0 limit 否 Integer 每页显示的条目数量,条目数量小于等于0时,自动转换为20,条目数量大于500时,自动转换为500 最小值:1 最大值:500 缺省值:20 object_type 否 String 特殊流控类型:APP,USER app_name 否 String 筛选的特殊应用名称 user 否 String 筛选的特殊用户名称
  • 响应示例 状态码: 200 OK { "total" : 2, "size" : 2, "apis" : [ { "run_env_name" : "RELEASE", "group_name" : "api_group_001", "publish_id" : "9f27d1dc4f4242a9abf88e563dbfc33d", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "name" : "Api_mock", "remark" : "Mock backend API", "run_env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "id" : "3a955b791bd24b1c9cd94c745f8d1aad", "type" : 1, "auth_type" : "IAM", "req_uri" : "/test/mock" }, { "run_env_name" : "RELEASE", "group_name" : "APIGroup_d00511069", "publish_id" : "0c613568c8644a1b92172156f77a5759", "group_id" : "d7d0b9a54469424f942e16a6b6026936", "name" : "API_nevj", "run_env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "id" : "9e07bc00a1864ab4aafd4a23d19dd1c2", "type" : 1, "auth_type" : "APP", "req_uri" : "/fdasf" } ] } 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:throttle_id. Please refer to the support documentation" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3005", "error_msg" : "Request throttling policy 3437448ad06f4e0c91a224183116e965 does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/unbinded-apis 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Long 偏移量,表示从此偏移量开始查询,偏移量小于0时,自动转换为0 缺省值:0 limit 否 Integer 每页显示的条目数量,条目数量小于等于0时,自动转换为20,条目数量大于500时,自动转换为500 最小值:1 最大值:500 缺省值:20 throttle_id 是 String 流控策略编号 env_id 否 String 环境的ID group_id 否 String API分组编号 api_id 否 String API编号 api_name 否 String API名称 tags 否 String API标签,该参数可指定多个,多个不同的参数值为或关系;不指定或为空时,表示不筛选标签;指定为#no_tags#时,表示筛选无标签API。 最小长度:0 最大长度:128
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 size Integer 本次返回的列表长度 total Long 满足条件的记录数 apis Array of ApiForThrottle objects 本次查询返回的API列表 表5 ApiForThrottle 参数 参数类型 描述 auth_type String API的认证方式 group_name String API所属分组的名称 publish_id String API的发布记录编号 throttle_apply_id String 与流控策略的绑定关系编号 apply_time String 已绑定的流控策略的绑定时间 remark String API描述 run_env_id String 发布的环境id type Integer API类型 throttle_name String 绑定的流控策略名称 req_uri String API的访问地址 run_env_name String 发布的环境名 group_id String API所属分组的编号 name String API名称 id String API编号 req_method String API请求方法 tags Array of strings API绑定的标签,标签配额默认10条,可以联系技术调整。 最小长度:1 最大长度:128 数组长度:0 - 10 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
共100000条