华为云用户手册

  • 功能介绍 在实际的生产中,API提供者可能有多个环境,如开发环境、测试环境、生产环境等,用户可以自由将API发布到某个环境,供调用者调用。 对于不同的环境,API的版本、请求地址甚至于包括请求消息等均有可能不同。如:某个API,v1.0的版本为稳定版本,发布到了生产环境供生产使用,同时,该API正处于迭代中,v1.1的版本是开发人员交付测试人员进行测试的版本,发布在测试环境上,而v1.2的版本目前开发团队正处于开发过程中,可以发布到开发环境进行自测等。 为此,API网关提供多环境管理功能,使租户能够最大化的模拟实际场景,低成本的接入API网关。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 环境的名称,支持英文,数字,下划线,且只能以英文字母开头。 最小长度:3 最大长度:64 remark 否 String 描述信息 说明: 中文字符必须为UTF-8或者unicode编码。 最大长度:255
  • URI POST /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificates/attach 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 group_id 是 String 分组的编号 domain_id 是 String 域名 的编号
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 certificate_ids 是 Array of strings 证书的id集合 verified_client_certificate_enabled 否 Boolean 是否开启客户端证书校验。当绑定证书存在trusted_root_ca时,默认开启;当绑定证书不存在trusted_root_ca时,默认关闭。
  • 响应参数 状态码:204 OK 状态码:400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码:401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码:403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码:404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码:500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码:400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:domain_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.3020", "error_msg" : "The URL domain does not exist" } 状态码:500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应示例 状态码:200 OK { "update_time" : "2020-07-31T06:55:55Z.866474185Z", "name" : "api_group_001", "on_sell_status" : 2, "remark" : "API group 1", "sl_domains" : [ "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.com", "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.cn" ], "sl_domain" : "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.com", "id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "register_time" : "2020-07-31T06:55:55Z", "status" : 1, "is_default" : 2, "sl_domain_access_enabled" : true } 状态码:400 Bad Request { "error_code" : "APIG.2012", "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 表4 响应Body参数 参数 参数类型 描述 id String 编号 name String API分组名称 status Integer 状态 1: 有效 sl_domain String 系统默认分配的子域名 register_time String 创建时间 update_time String 最近修改时间 on_sell_status Integer 是否已上架云商店: 1:已上架 2:未上架 3:审核中 url_domains Array of UrlDomain objects 分组上绑定的独立域名列表 sl_domain_access_enabled Boolean 调试域名是否可以访问,true表示可以访问,false表示禁止访问 缺省值:true sl_domains Array of strings 系统默认分配的子域名列表 remark String 描述 call_limits Integer 流控时长内分组下的API的总访问次数限制,默认不限,请根据服务的负载能力自行设置 暂不支持 time_interval Integer 流控时长 暂不支持 time_unit String 流控的时间单位 暂不支持 is_default Integer 是否为默认分组 version String 分组版本 V1:全局分组 V2:应用级分组 暂不支持,默认为V1 roma_app_id String 分组归属的集成应用编号。 分组版本V2时必填。 暂不支持 roma_app_name String 分组归属的集成应用名称 暂不支持 表5 UrlDomain 参数 参数类型 描述 id String 域名编号 domain String 访问域名 cname_status Integer 域名cname状态: 1:未解析 2:解析中 3:解析成功 4:解析失败 ssl_id String SSL证书编号 ssl_name String SSL证书名称 min_ssl_version String 最小ssl协议版本号。支持TLSv1.1或TLSv1.2 缺省值:TLSv1.1 verified_client_certificate_enabled Boolean 是否开启客户端证书校验。只有绑定证书时,该参数才生效。当绑定证书存在trusted_root_ca时,默认开启;当绑定证书不存在trusted_root_ca时,默认关闭。 缺省值:false is_has_trusted_root_ca Boolean 是否存在信任的根证书CA。当绑定证书存在trusted_root_ca时为true。 缺省值:false ingress_http_port Integer 访问该域名绑定的http协议入方向端口,-1表示无端口且协议不支持,可使用80默认端口,其他有效端口允许的取值范围为1024~49151,需为实例已开放的HTTP协议的自定义入方向端口。 当创建域名时,该参数未填表示用默认80端口;如果填写该参数,则必须同时填写https_port;如果要http_port和https_port同时使用默认端口,则两个参数都不填。 当修改域名时,该参数未填表示不修改该端口。 最小值:-1 最大值:49151 ingress_https_port Integer 访问该域名绑定的https协议入方向端口,-1表示无端口且协议不支持,可使用443默认端口,其他有效端口允许的取值范围为1024~49151,需为实例已开放的HTTPS协议的自定义入方向端口。 当创建域名时,该参数未填表示用默认443端口;如果填写该参数,则必须同时填写http_port;如果要http_port和https_port同时使用默认端口,则两个参数都不填。 当修改域名时,该参数未填表示不修改该端口。 最小值:-1 最大值:49151 ssl_infos Array of SslInfo objects SSL证书列表。 表6 SslInfo 参数 参数类型 描述 ssl_id String SSL证书编号。 ssl_name String SSL证书名称。 algorithm_type String 证书算法类型: RSA ECC SM2 type String 证书可见范围: instance:当前实例 global:全局 缺省值:global 状态码: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}/api-groups/{group_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 group_id 是 String 分组的编号
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String API分组的名称。 支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、汉字和数字开头,3-255个字符。 说明: 中文字符必须为UTF-8或者unicode编码。 最小长度:3 最大长度:255 remark 否 String API分组描述。 说明: 中文字符必须为UTF-8或者unicode编码。 最大长度:1000
  • 响应示例 状态码:200 OK { "total" : 1, "size" : 1, "apis" : [ { "api_id" : "8aa097b00e9843efabc9c593d11b769d", "api_name" : "测试API", "type" : 1, "req_protocol" : "HTTP", "req_method" : "GET", "req_uri" : "/test", "auth_type" : "IAM", "match_mode" : "NORMAL", "remark" : "API描述", "group_id" : "b9be707660c5406394f8973e087bae20", "group_name" : "DEFAULT", "roma_app_id" : "", "plugin_attach_id" : "8aa097b00e9843efacb9c593d11b769e", "publish_id" : "4739b3s5b729aa2237ef0d66dc635276", "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "env_name" : "RELEASE", "attached_time" : "2022-11-02T12:31:23.353Z" } ] } 状态码:400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:instance_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.3068", "error_msg" : "Plugin b294018ee0554156a875b3513e02e5b9 does not exist" } 状态码:500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 size Integer 本次返回的列表长度 total Long 满足条件的记录数 apis Array of PluginApiInfo objects 绑定插件的API列表。 表5 PluginApiInfo 参数 参数类型 描述 api_id String API编号 api_name String API名称。 支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、汉字和数字开头,3-255个字符。 说明: 中文字符必须为UTF-8或者unicode编码。 type Integer API类型 1:公有API 2:私有API req_protocol String API的请求协议 HTTP HTTPS BOTH:同时支持HTTP和HTTPS 缺省值:HTTPS req_method String API的请求方式 req_uri String 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512,且满足URI规范。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线组成,且只能以英文开头。 说明: 需要服从URI规范。 auth_type String API的认证方式 NONE:无认证 APP:APP认证 IAM:IAM认证 AUTHORIZER:自定义认证 match_mode String API的匹配方式 SWA:前缀匹配 NORMAL:正常匹配(绝对匹配) 默认:NORMAL remark String API描述。 group_id String API所属的分组编号 group_name String API所属分组的名称 roma_app_id String 归属集成应用编码,兼容roma实例的字段,一般为空 env_id String 绑定API的环境编码。 env_name String 绑定API的环境名称 publish_id String 发布编码。 plugin_attach_id String 插件绑定编码。 attached_time String 绑定时间。 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 错误描述
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/plugins/{plugin_id}/attached-apis 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 plugin_id 是 String 插件编号 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Long 偏移量,表示从此偏移量开始查询,偏移量小于0时,自动转换为0 缺省值:0 limit 否 Integer 每页显示的条目数量,条目数量小于等于0时,自动转换为20,条目数量大于500时,自动转换为500 最小值:1 最大值:500 缺省值:20 env_id 否 String 发布的环境编号 api_name 否 String API名称 api_id 否 String API编号 group_id 否 String 分组编号 req_method 否 String 请求方法 req_uri 否 String 请求路径 tags 否 String API标签,该参数可指定多个,多个不同的参数值为或关系;不指定或为空时,表示不筛选标签;指定为#no_tags#时,表示筛选无标签API。 最小长度:0 最大长度:128
  • 响应示例 状态码:200 OK { "create_time" : "2020-08-12T06:52:02Z", "update_time" : "2020-08-12T15:22:21.929863859+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" }
  • URI PUT /v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/gateway-responses/{response_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 group_id 是 String 分组的编号 response_id 是 String 响应编号
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 size Integer 本次返回的列表长度 total Long 满足条件的记录数 ingress_port_infos Array of IngressPortInfo objects 实例自定义入方向端口列表。 表5 IngressPortInfo 参数 参数类型 描述 protocol String 实例自定义入方向端口协议。 HTTP:实例自定义入方向端口使用HTTP协议。 HTTPS:实例自定义入方向端口使用HTTPS协议。 ingress_port Integer 实例自定义入方向端口,支持的端口范围为1024~49151。 最小值:1024 最大值:49151 ingress_port_id String 实例自定义入方向端口ID。 最小长度:32 最大长度:36 status String 实例自定义入方向端口的有效状态。 normal:实例自定义入方向端口状态正常。 abnormal:实例自定义入方向端口状态异常,无法使用。 状态码: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 错误描述
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/custom-ingress-ports 表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 protocol 否 String 入方向端口的请求协议。 HTTP: 入方向端口为HTTP协议。 HTTPS: 入方向端口为HTTPS协议。 ingress_port 否 Integer 入方向端口的端口号,支持的端口范围为1024~49151。 最小值:1024 最大值:49151
  • 响应示例 状态码:200 OK { "total" : 1, "size" : 1, "ingress_port_infos" : [ { "protocol" : "HTTP", "ingress_port" : 8080, "ingress_port_id" : "0ae98839d78043d8a6dff54d7cb096dc", "status" : "normal" } ] } 状态码: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" } 状态码:500 Internal Server Error { "error_code" : "APIC.9000", "error_msg" : "Failed to request internal service" }
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/signs 表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 签名密钥编号 name 否 String 签名密钥名称 precise_search 否 String 指定需要精确匹配查找的参数名称,目前仅支持name
  • 响应示例 状态码:200 OK { "total" : 2, "size" : 2, "signs" : [ { "sign_secret" : "sig************ret", "update_time" : "2018-02-07T02:00:27.964766Z", "create_time" : "2018-02-06T12:17:36Z", "name" : "signature_demo", "id" : "0b0e8f456b8742218af75f945307173c", "sign_key" : "signkeysignkey", "sign_type" : "hmac", "bind_num" : 0, "ldapi_bind_num" : 0 }, { "sign_secret" : "9ce************16a", "update_time" : "2020-07-30T03:56:58Z", "create_time" : "2020-07-30T03:56:58Z", "name" : "Signature_udlu", "id" : "9dc388382fba485aadd19f932303f4c9", "sign_key" : "ca50c5b670044c83b5b890a9a68a30d5", "sign_type" : "hmac", "bind_num" : 0, "ldapi_bind_num" : 0 } ] } 状态码:400 Bad Request { "error_code" : "APIG.2012", "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 OK { "name" : "throttle_demo", "create_time" : "2020-07-31T08:44:02.205366118Z", "remark" : "Total: 800 calls/second; user: 500 calls/second; app: 300 calls/second; IP address: 600 calls/second", "type" : 1, "time_interval" : 1, "ip_call_limits" : 600, "app_call_limits" : 300, "time_unit" : "SECOND", "api_call_limits" : 800, "id" : "3437448ad06f4e0c91a224183116e965", "user_call_limits" : 500, "enable_adaptive_control" : "FALSE", "bind_num" : 0, "is_inclu_special_throttle" : 2 } 状态码: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.3005", "error_msg" : "Request throttling policy 3437448ad06f4e0c91a224183116e965 does not exist" } 状态码:500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 app_call_limits Integer APP流量限制是指一个API在时长之内被每个APP访问的次数上限,该数值不超过用户流量限制值。输入的值不超过2147483647。正整数。 name String 流控策略名称。支持汉字,英文,数字,下划线,且只能以英文和汉字开头,3 ~ 64字符。 说明: 中文字符必须为UTF-8或者unicode编码。 time_unit String 流控的时间单位 remark String 流控策略描述字符长度不超过255。 说明: 中文字符必须为UTF-8或者unicode编码。 api_call_limits Integer API流量限制是指时长内一个API能够被访问的次数上限。该值不超过系统默认配额限制,系统默认配额为200tps,用户可根据实际情况修改该系统默认配额。输入的值不超过2147483647。正整数。 type Integer 流控策略的类型 1:基础,表示绑定到流控策略的单个API流控时间内能够被调用多少次。 2:共享,表示绑定到流控策略的所有API流控时间内能够被调用多少次。 enable_adaptive_control String 是否开启动态流控: TRUE FALSE 暂不支持 user_call_limits Integer 用户流量限制是指一个API在时长之内每一个用户能访问的次数上限,该数值不超过API流量限制值。输入的值不超过2147483647。正整数。 time_interval Integer 流量控制的时长单位。与“流量限制次数”配合使用,表示单位时间内的API请求次数上限。输入的值不超过2147483647。正整数。 ip_call_limits Integer 源IP流量限制是指一个API在时长之内被每个IP访问的次数上限,该数值不超过API流量限制值。输入的值不超过2147483647。正整数。 id String 流控策略的ID bind_num Integer 流控绑定的API数量 is_inclu_special_throttle Integer 是否包含特殊流控配置 1:包含 2:不包含 create_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 错误描述
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 app_call_limits 否 Integer APP流量限制是指一个API在时长之内被每个APP访问的次数上限,该数值不超过用户流量限制值。输入的值不超过2147483647。正整数。 name 是 String 流控策略名称。支持汉字,英文,数字,下划线,且只能以英文和汉字开头,3 ~ 64字符。 说明: 中文字符必须为UTF-8或者unicode编码。 time_unit 是 String 流控的时间单位 remark 否 String 流控策略描述字符长度不超过255。 说明: 中文字符必须为UTF-8或者unicode编码。 api_call_limits 是 Integer API流量限制是指时长内一个API能够被访问的次数上限。该值不超过系统默认配额限制,系统默认配额为200tps,用户可根据实际情况修改该系统默认配额。输入的值不超过2147483647。正整数。 type 否 Integer 流控策略的类型 1:基础,表示绑定到流控策略的单个API流控时间内能够被调用多少次。 2:共享,表示绑定到流控策略的所有API流控时间内能够被调用多少次。 enable_adaptive_control 否 String 是否开启动态流控: TRUE FALSE 暂不支持 user_call_limits 否 Integer 用户流量限制是指一个API在时长之内每一个用户能访问的次数上限,该数值不超过API流量限制值。输入的值不超过2147483647。正整数。 time_interval 是 Integer 流量控制的时长单位。与“流量限制次数”配合使用,表示单位时间内的API请求次数上限。输入的值不超过2147483647。正整数。 ip_call_limits 否 Integer 源IP流量限制是指一个API在时长之内被每个IP访问的次数上限,该数值不超过API流量限制值。输入的值不超过2147483647。正整数。
  • URI PUT /v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 throttle_id 是 String 流控策略的编号
  • 请求示例 修改一个流控策略,API流量限制为800,用户流量限制为500,app流量限制为300,源IP流量限制为600,时长为1秒 { "name" : "throttle_demo", "remark" : "Total: 800 calls/second; user: 500 calls/second; app: 300 calls/second; IP address: 600 calls/second", "type" : 1, "time_interval" : 1, "ip_call_limits" : 600, "app_call_limits" : 300, "time_unit" : "SECOND", "api_call_limits" : 800, "user_call_limits" : 500 }
  • 响应参数 状态码:200 表5 响应Body参数 参数 参数类型 描述 order_id 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 错误描述
  • 响应示例 状态码:200 OK { "order_id" : " CS 2306142249SHP53" } 状态码: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" } 状态码: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参数 参数 是否必选 参数类型 描述 instance_id 否 String 实例ID product_id 否 String 产品编号 resize_info 否 ResizeInstanceReq object 规格变更信息 表4 ResizeInstanceReq 参数 是否必选 参数类型 描述 spec_id 否 String 目标实例规格
  • 响应示例 状态码:200 OK { "serial_number" : "219450666855693268010130472645821723203", "version" : 3, "san" : [ "www.company.com" ], "not_before" : "2019-06-01T00:00:00Z", "issuer" : [ "mkcert development CA" ], "not_after" : "2030-08-04T07:41:19Z", "organization" : [ "mkcert development certificate" ], "signature_algorithm" : "SHA256-RSA", "organizational_unit" : [ "XXX\\\\DESKTOP-L2TFOFH" ] } 状态码:400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:domain_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.3020", "error_msg" : "The URL domain does not exist" } 状态码:500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码:200 表3 响应Body参数 参数 参数类型 描述 id String 证书ID name String 证书名称 type String 证书类型 global:全局证书 instance:实例证书 instance_id String 实例编码 type为global时,缺省为common type为instance时,为实例编码 project_id String 租户项目编号 create_time String 创建时间 update_time String 更新时间 common_name String 证书域名 san Array of strings SAN域名 version Integer 证书版本 organization Array of strings 公司、组织 organizational_unit Array of strings 部门 locality Array of strings 城市 state Array of strings 省份 country Array of strings 国家 not_before String 证书有效期起始时间 not_after String 证书有效期截止时间 serial_number String 序列号 issuer Array of strings 颁发者 signature_algorithm String 签名算法 状态码:400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码:401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码:403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码:404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码:500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全