华为云用户手册

  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 orchestration_name 是 String 编排映射规则名称。 支持英文,数字,下划线,且只能以英文开头,3-64个字符,同一实例下不允许重名。 最小长度:3 最大长度:64 orchestration_strategy 是 String 编排策略,有以下几种策略类型: list:列表; hash:哈希; range:区间; hash_range: 哈希+区间; none_value: 空值映射; default: 默认值映射; head_n: 截取前n项; tail_n: 截取后n项; 当编排策略为list时,orchestration_map列表长度*map_param_list长度不超过3000。 orchestration_mapped_param 否 OrchestrationMappedParam object 编排后的参数配置,isPreprocessing为false时必填。 is_preprocessing 否 Boolean 是否为预处理策略,预处理策略只会生成临时参数作为后面参数编排规则的入参标记。当为预处理策略时,该编排规则不能作为除default之外的最后一个编排规则。 orchestration_map 否 Array of OrchestrationMap objects 编排映射规则列表,列表长度范围为1-300。 编排映射规则的生效优先级与列表顺序保持一致,列表中靠前的配置匹配优先级较高。 映射规则不能重复,当orchestration_strategy=list时,map_param_list的列表也不能包含重复元素。 数组长度:1 - 300 表4 OrchestrationMappedParam 参数 是否必选 参数类型 描述 mapped_param_name 是 String 编排后的请求参数名,只支持英文,数字,中划线,必须以英文开头,1-128个字符,不能与已有的参数重名,默认会透传到后端。 最小长度:1 最大长度:128 mapped_param_type 是 String 编排后的参数类型,支持string和number。 mapped_param_location 是 String 编排后的参数位置,支持query和header。 表5 OrchestrationMap 参数 是否必选 参数类型 描述 map_param_list 否 Array of strings 用于映射编排后参数的列表配置,当orchestration_strategy=list时必填,列表长度范围为0-3000。 列表的取值只支持英文,数字,中划线和下划线,1-128个字符。 最小长度:1 最大长度:128 数组长度:0 - 3000 map_param_range 否 OrchestrationMapParamRange object 用于映射编排后参数的区间配置,当orchestration_strategy=range或hash_range时必填。 mapped_param_value 否 String 编排后的参数取值,只支持英文和数字,1-128个字符。 当orchestration_strategy为hash、head_n、tail_n,或者is_preprocessing为false时,非必填,其他情况必填。 最小长度:0 最大长度:128 intercept_length 否 Integer 截取长度,取值范围为1-100,当策略类型为head_n和tail_n时必填,当截取长度大于参数长度时,截取参数的结果为完整参数。 最小值:1 最大值:100 表6 OrchestrationMapParamRange 参数 是否必选 参数类型 描述 range_start 否 String 区间起始值。 为可以转换成integer的string,转换后的range_start的范围为0-9223372036854775807, range_start不大于range_end。 range_end 否 String 区间终止值。 为可以转换成integer的string,转换后的range_end的范围为0-9223372036854775807, range_start不大于range_end。
  • URI PUT /v2/{project_id}/apigw/instances/{instance_id}/orchestrations/{orchestration_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 orchestration_id 是 String 编排规则编号
  • URI POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/gateway-responses 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 group_id 是 String 分组的编号
  • 响应示例 状态码: 201 Created { "create_time" : "2020-08-12T14:52:02.829753306+08:00", "update_time" : "2020-08-12T14:52:02.829753306+08:00", "default" : false, "id" : "e839b367e10f4ab19d1c5008e476b83a", "name" : "response_demo", "responses" : { "AC CES S_DENIED" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 403 }, "AUTHORIZER_CONF_FAILURE" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 500 }, "AUTHORIZER_FAILURE" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 500 }, "AUTHORIZER_IDENTITIES_FAILURE" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 401 }, "AUTH_FAILURE" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 401 }, "AUTH_HEADER_MISSING" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 401 }, "BACKEND_TIMEOUT" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 504 }, "BACKEND_UNAVAILABLE" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 502 }, "DEFAULT_4XX" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true }, "DEFAULT_5XX" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true }, "NOT_FOUND" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 404 }, "REQUEST_PA RAM ETERS_FAILURE" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 400 }, "THROTTLED" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 429 }, "UNAUTHORIZED" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 401 }, "THIRD_AUTH_FAILURE" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 401 }, "THIRD_AUTH_IDENTITIES_FAILURE" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 401 }, "THIRD_AUTH_CONF_FAILURE" : { "body" : "{\"error_code\":\"$context.error.code\",\"error_msg\":\"$context.error.message\",\"request_id\":\"$context.requestId\"}", "default" : true, "status" : 500 } } } 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName: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.3001", "error_msg" : "API group c77f5e81d9cb4424bf704ef2b0ac7600 does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应示例 状态码: 200 OK { "available_zone_ids" : "[xx-xxx-7a, xx-xxx-7b]", "bandwidth_size" : 5, "description" : "test create instance", "enterprise_project_id" : "0", "instance_name" : "apig-demo", "maintain_begin" : "22:00:00", "maintain_end" : "02:00:00", "security_group_id" : "36d0ec18-bd10-4da7-86f3-ad7a5ddc55d7", "spec" : "PROFESSIONAL", "subnet_id" : "a938121c-11c4-4c91-b983-bc9acd347bb5", "vpc_id" : "0957108c-257c-4ce0-9e93-527d279ce763", "enable_fullstack_ipv6" : true, "unreliable_ips" : [ "192.xx.xxx.xxx" ] } 状态码: 400 Bad Request { "error_code" : "APIC.7211", "error_msg" : "Parameter value does not match the rules, parameter name[maintainBegin]" } 状态码: 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" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 实例ID project_id String 实例所属租户ID instance_name String 实例名称 status String 实例状态: Creating:创建中 CreateSuccess:创建成功 CreateFail:创建失败 Initing:初始化中 Registering:注册中 Running:运行中 InitingFailed:初始化失败 RegisterFailed:注册失败 Installing:安装中 InstallFailed:安装失败 Updating:升级中 UpdateFailed:升级失败 Rollbacking:回滚中 RollbackSuccess:回滚成功 RollbackFailed:回滚失败 Deleting:删除中 DeleteFailed:删除失败 Unregistering:注销中 UnRegisterFailed:注销失败 CreateTimeout:创建超时 InitTimeout:初始化超时 RegisterTimeout:注册超时 InstallTimeout:安装超时 UpdateTimeout:升级超时 RollbackTimeout:回滚超时 DeleteTimeout:删除超时 UnregisterTimeout:注销超时 Starting:启动中 Freezing:冻结中 Frozen:已冻结 Restarting:重启中 RestartFail:重启失败 Unhealthy:实例异常 RestartTimeout:重启超时 Resizing:规格变更中 ResizeFailed:规格变更失败 ResizeTimeout:规格变更超时 instance_status Integer 实例状态对应编号 1:创建中 2:创建成功 3:创建失败 4:初始化中 5:注册中 6:运行中 7:初始化失败 8:注册失败 10:安装中 11:安装失败 12:升级中 13:升级失败 20:回滚中 21:回滚成功 22:回滚失败 23:删除中 24:删除失败 25:注销中 26:注销失败 27:创建超时 28:初始化超时 29:注册超时 30:安装超时 31:升级超时 32:回滚超时 33:删除超时 34:注销超时 35:启动中 36:冻结中 37:已冻结 38:重启中 39:重启失败 40:实例异常 41:重启超时 42:规格变更中 43:规格变更失败 44:规格变更超时 type String 实例类型 默认apig spec String 实例规格: BASIC:基础版实例 PROFESSIONAL:专业版实例 ENTERPRISE:企业版实例 PLATINUM:铂金版实例 BASIC_IPV6:基础版IPV6实例 PROFESSIONAL_IPV6:专业版IPV6实例 ENTERPRISE_IPV6:企业版IPV6实例 PLATINUM_IPV6:铂金版IPV6实例 create_time Long 实例创建时间。unix时间戳格式。 enterprise_project_id String 企业项目ID,企业账号必填 eip_address String 实例绑定的弹性IP地址 charging_mode Integer 实例计费方式: 0:按需计费 1:包周期计费 cbc_metadata String 包周期计费订单编号 loadbalancer_provider String 实例使用的负载均衡器类型 lvs Linux虚拟服务器 elb 弹性负载均衡,elb仅部分region支持 缺省值:lvs cbc_operation_locks Array of CbcOperationLock objects 云运营限制操作锁 description String 实例描述 vpc_id String 虚拟私有云ID。 获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。 方法2:通过虚拟私有云服务的API接口查询,具体方法请参见《虚拟私有云服务API参考》的“查询VPC列表”章节。 subnet_id String 子网的网络ID。 获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。 方法2:通过虚拟私有云服务的API接口查询,具体方法请参见《虚拟私有云服务API参考》的“查询子网列表”章节。 security_group_id String 指定实例所属的安全组。 获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。 方法2:通过虚拟私有云服务的API接口查询,具体方法请参见《虚拟私有云服务API参考》的“查询安全组列表”章节。 maintain_begin String '维护时间窗开始时间。时间格式为 xx:00:00,xx取值为02,06,10,14,18,22。' '在这个时间段内,运维人员可以对该实例的节点进行维护操作。维护期间,业务可以正常使用,可能会发生闪断。维护操作通常几个月一次。' maintain_end String '维护时间窗结束时间。时间格式为 xx:00:00,与维护时间窗开始时间相差4个小时。' '在这个时间段内,运维人员可以对该实例的节点进行维护操作。维护期间,业务可以正常使用,可能会发生闪断。维护操作通常几个月一次'。 ingress_ip String 实例入口,虚拟私有云访问地址 ingress_ip_v6 String 实例入口,虚拟私有云访问地址 (IPv6) user_id String 实例所属用户ID nat_eip_ipv6_cidr String 出公网网段 (IPv6) 。 当前仅部分region部分可用区支持IPv6 eip_ipv6_address String 弹性IP地址(IPv6)。 当前仅部分region部分可用区支持IPv6 nat_eip_address String 实例出公网IP bandwidth_size Integer 出公网带宽 bandwidth_charging_mode String 出公网带宽计费模式 available_zone_ids String 可用区 instance_version String 实例版本编号 virsubnet_id String 子网的网络ID。 暂不支持 roma_eip_address String roma弹性公网IP。 暂不支持 listeners Object 监听信息 暂不支持 supported_features Array of strings 实例支持的特性列表 endpoint_service EndpointService object 终端节点服务详情 待废弃,优先使用endpoint_services endpoint_services Array of EndpointService objects 终端节点服务列表 node_ips NodeIps object 服务节点IP node_ipv6_ips NodeIps object 服务IPV6节点IP public_ipv6_ips Array of strings 实例IPV6出公网IP publicips Array of IpDetails objects 公网入口地址列表 privateips Array of IpDetails objects 私网入口地址列表 unreliable_ips Array of strings 不建议使用的实例入口列表:分组子 域名 解析未指向到该列表的IP,不能用该列表的IP直接访问DEFAULT分组 enable_fullstack_ipv6 Boolean 实例是否支持全量IPv6 true:支持,实例入口和实例出口都支持IPV6 false:不支持,仅实例入口支持IPV6 is_releasable Boolean 实例是否可释放 true:可释放 false:不可释放 ingress_bandwidth_charging_mode String 入公网带宽计费模式 表5 CbcOperationLock 参数 参数类型 描述 lock_scene String 限制操作场景: TO_PERIOD_LOCK:按需转包周期场景锁,不允许进行删除、规格变更、按需转包周期等 SPEC_CHG_LOCK:包周期规格变更场景锁,不允许进行删除、规格变更等 lock_source_id String 发起限制操作对象的标志 表6 EndpointService 参数 参数类型 描述 service_name String 终端节点服务名称 created_at String 创建时间 表7 NodeIps 参数 参数类型 描述 livedata Array of strings livedata节点IP地址列表 shubao Array of strings shubao节点IP地址列表 表8 IpDetails 参数 参数类型 描述 ip_address String IP地址 ipv6_address String IPV6地址 bandwidth_size Integer 带宽大小 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "tags" : [ { "key" : "test-key", "value" : "test-vaue" } ] } 状态码: 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" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 tags Array of TmsKeyValue objects 实例绑定的标签列表 表4 TmsKeyValue 参数 参数类型 描述 key String 键。 支持可用 UTF-8 格式表示的字母(包含中文)、数字和空格,以及以下字符: _ . : = + - @; _sys_开头属于系统标签,租户不能输入 最小长度:1 最大长度:128 value String 值。 支持可用 UTF-8 格式表示的字母(包含中文)、数字和空格,以及以下字符: _ . : / = + - @ 最小长度:0 最大长度:255 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "app_quota_id" : "c900c5612dbe451bb43cbcc49cfaf2f3", "call_limits" : 1000, "create_time" : "2020-09-19T07:27:47Z", "name" : "ClientQuota_demo", "reset_time" : "2020-09-20 00:00:00", "time_interval" : 1, "time_unit" : "DAY" } 状态码: 400 Bad Request { "error_code" : "APIG.3325", "error_msg" : "The API quota 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.3093", "error_msg" : "App quota c900c5612dbe451bb43cbcc49cfaf2f3 does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 app_quota_id String 凭据配额编号 name String 配额名称。支持汉字,英文,数字,下划线,且只能以英文和汉字开头,3-255字符 call_limits Integer 凭据配额的访问次数限制 time_unit String 限定时间单位:SECOND:秒、MINUTE:分、HOUR:时、DAY:天 time_interval Integer 配额的限定时间值 remark String 参数说明和描述 最大长度:255 reset_time String 首次配额重置时间点,不配置默认为首次调用时间计算 create_time String 创建时间 bound_app_num Integer 配额策略已绑定应用数量 状态码: 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 PUT /v2/{project_id}/apigw/instances/{instance_id}/app-quotas/{app_quota_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 app_quota_id 是 String 凭据配额编号
  • 响应示例 状态码: 200 OK { "total" : 2, "size" : 2, "apps" : [ { "bind_num" : 0, "creator" : "USER", "update_time" : "2020-08-03T13:09:13Z", "app_key" : "ee8f878c252747028f07eb116c2cd91b", "name" : "app_demo", "remark" : "Demo app", "id" : "356de8eb7a8742168586e5daf5339965", "app_secret" : "416************ab8", "register_time" : "2020-08-03T13:09:13Z", "status" : 1, "app_type" : "apig" }, { "bind_num" : 3, "creator" : "USER", "update_time" : "2020-05-27T10:38:03.133586Z", "app_key" : "840b8b5b1efc4ec686639759c2c584da", "name" : "app_001", "id" : "9ed8b7fe84224de681e7d7a5587e76dc", "app_secret" : "0a4************c6e", "register_time" : "2020-03-28T11:09:06Z", "status" : 1 } ] } 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName: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" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 size Integer 本次返回的列表长度 total Long 满足条件的记录数 apps Array of AppInfoWithBindNum objects APP列表 表5 AppInfoWithBindNum 参数 参数类型 描述 id String 编号 name String 名称 remark String 描述 creator String APP的创建者 USER:用户自行创建 MARKET:云商店分配 暂不支持MARKET update_time String 更新时间 app_key String APP的key app_secret String 密钥 register_time String 注册时间 status Integer 状态 1: 有效 app_type String APP的类型: apig:存量apig应用,不推荐使用 roma:roma集成应用 默认apig,暂不支持其他类型 roma_app_type String ROMA_APP的类型: subscription:订阅应用 integration:集成应用 暂不支持 bind_num Integer 绑定的API数量 状态码: 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 错误描述 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/apps 表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 id 否 String APP编号 name 否 String APP名称 status 否 Integer APP状态 app_key 否 String APP的KEY creator 否 String APP的创建者。 USER:用户自行创建 MARKET:云商店分配 precise_search 否 String 指定需要精确匹配查找的参数名称,目前仅支持name
  • 响应示例 状态码: 200 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" : "2020-11-02T12:31:23.353Z", "update_time" : "2020-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\\\":\\\"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\\\":false,\\\"vpc_channel_info\\\":null},\\\"identities\\\":{\\\"headers\\\":[{\\\"name\\\":\\\"token\\\"}],\\\"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_enable\\\":false}", "remark" : "这是一个包含规则表达式黑名单的第三方认证插件", "create_time" : "2023-05-06T06:54:59.296181801Z", "update_time" : "2023-05-06T07:07:18.369017889Z" } { "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.3068", "error_msg" : "Plugin b294018ee0554156a875b3513e02e5b9 does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码: 200 表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 错误描述
  • 请求示例 更新跨域共享插件 { "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\\\":\\\"deny\\\",\\\"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}" }
  • 请求参数 表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
  • URI PUT /v2/{project_id}/apigw/instances/{instance_id}/plugins/{plugin_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 plugin_id 是 String 插件编号
  • 响应示例 状态码: 200 OK 示例 1 { "member_group_name" : "vpc_member_group", "member_group_id" : "105c6902457144a4820dff8b1ad63331", "member_group_remark" : "", "member_group_weight" : 10, "create_time" : "2020-07-23T07:24:33Z", "update_time" : "2020-07-23T07:24:33Z", "microservice_version" : "", "microservice_port" : 0, "microservice_labels" : [ ] } 示例 2 { "member_group_name" : "vpc_member_group", "member_group_id" : "105c6902457144a4820dff8b1ad63331", "member_group_remark" : "", "member_group_weight" : 10, "create_time" : "2020-07-23T07:24:33Z", "update_time" : "2020-07-23T07:24:33Z", "microservice_version" : "v1", "microservice_port" : 80, "microservice_labels" : [ { "label_name" : "cluster_id", "label_value" : "c429700c-5dc4-482a-9c0e-99f6c0635113" } ] } 状态码: 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" }
  • 请求示例 更新服务器类型的VPC通道后端服务器组 { "member_group_name" : "vpc_member_group", "member_group_weight" : 10 } 更新微服务类型的VPC通道后端服务器组 { "member_group_name" : "vpc_member_group", "member_group_weight" : 10, "microservice_version" : "v1", "microservice_port" : 80, "microservice_labels" : [ { "label_name" : "cluster_id", "label_value" : "c429700c-5dc4-482a-9c0e-99f6c0635113" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表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 表4 MicroserviceLabel 参数 是否必选 参数类型 描述 label_name 是 String 标签名称。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 label_value 是 String 标签值。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63
  • 响应参数 状态码: 200 表5 响应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通道后端服务器组更新时间 表6 MicroserviceLabel 参数 参数类型 描述 label_name String 标签名称。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 label_value String 标签值。 以字母或者数字开头和结尾,由字母、数字、连接符('-')、下划线('_')、点号('.')组成且63个字符之内。 最小长度:1 最大长度:63 状态码: 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 错误描述
  • URI PUT /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通道后端服务器组编号
  • 响应示例 状态码: 202 Accepted { "task_id" : "d9ce8c9eede54b3f841ec324fe0bfdc2" } 状态码: 400 Bad Request { "error_code" : "APIG.3603", "error_msg" : "The input data is too long" } 状态码: 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" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码: 202 表4 响应Body参数 参数 参数类型 描述 task_id String 任务id 状态码: 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 错误描述 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 FormData参数 参数 是否必选 参数类型 描述 is_create_group 否 Boolean 是否创建新分组 缺省值:true group_id 否 String API分组编号,当is_create_group=false时为必填 extend_mode 否 String 扩展信息导入模式 merge:当扩展信息定义冲突时,merge保留原有扩展信息 override:当扩展信息定义冲突时,override会覆盖原有扩展信息 缺省值:merge simple_mode 否 Boolean 是否开启简易导入模式 缺省值:false mock_mode 否 Boolean 是否开启Mock后端 缺省值:false api_mode 否 String 导入模式 merge:当API信息定义冲突时,merge保留原有API信息 override:当API信息定义冲突时,override会覆盖原有API信息 缺省值:merge file_name 是 File 导入Api的请求体,json或yaml格式的文件
  • 响应示例 状态码: 200 OK { "total" : 2, "size" : 2, "app_codes" : [ { "app_code" : "GjOD3g80AABuuFeEJpVQADBlAjBh3UzC7W+gr4VJBB5BtJ4fdVOQoSvoji3gFxUDb5pWBz9wUcw9+8/bFZ1B/4pq29wCMQC0pQWX6zTndljDEl99As1pw+WntAU9xcq+ffagoH6zDpKUvdxV6Ezj8LcCcPZN6BU=", "app_id" : "9ed8b7fe84224de681e7d7a5587e76dc", "id" : "32dc8ca22d1b4b9cb94022186880576b", "create_time" : "2020-07-24T02:37:24Z" }, { "app_code" : "fdc8d90a30174460a91ddacfa54d6f04c92e523a85cc4a1894f87cb13b6f572a", "app_id" : "9ed8b7fe84224de681e7d7a5587e76dc", "id" : "b3d34f746d0847fb95138670e10207ed", "create_time" : "2020-07-24T02:31:45Z" } ] } 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:app_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.3004", "error_msg" : "App 9ed8b7fe84224de681e7d7a5587e76dc does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id}/app-codes 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 app_id 是 String 应用编号 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Long 偏移量,表示从此偏移量开始查询,偏移量小于0时,自动转换为0 缺省值:0 limit 否 Integer 每页显示的条目数量,条目数量小于等于0时,自动转换为20,条目数量大于500时,自动转换为500 最小值:1 最大值:500 缺省值:20
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 size Integer 本次返回的列表长度 total Long 满足条件的记录数 app_codes Array of AppCodeBaseInfo objects App Code列表 表5 AppCodeBaseInfo 参数 参数类型 描述 app_code String App Code值 支持英文、数字,+_!@#$%-/=,且只能以英文、数字和+、/开头,64-180个字符。 id String 编号 app_id String 应用编号 create_time 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 错误描述
共100000条