华为云用户手册

  • 响应参数 状态码:200 表6 响应Body参数 参数 参数类型 描述 total_count Integer 总记录数 状态码: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 错误描述
  • 响应示例 状态码:200 OK { "id" : "7eb619ecf2a24943b099833cd24a01ba", "acl_name" : "acl_demo", "entity_type" : "IP", "acl_type" : "PERMIT", "acl_value" : "192.168.1.5,192.168.10.1", "update_time" : "2020-08-04T08:54:55.975856802Z" } 状态码:400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:acl_type. 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.3006", "error_msg" : "Access control policy 7eb619ecf2a24943b099833cd24a01ba does not exist" } 状态码:500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI PUT /v2/{project_id}/apigw/instances/{instance_id}/acls/{acl_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 acl_id 是 String ACL策略的编号
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 acl_name String 名称 acl_type String 类型: PERMIT(白名单类型) DENY(黑名单类型) acl_value String ACL策略值 entity_type String 对象类型: IP DOMAIN DOMAIN_ID id 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 错误描述
  • 响应参数 状态码:201 表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 错误描述 状态码:500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求示例 创建一个流控策略,API流量限制为800,用户流量限制为500,app流量限制为300,源IP流量限制为600,时长为1秒 { "api_call_limits" : 800, "app_call_limits" : 300, "enable_adaptive_control" : "FALSE", "ip_call_limits" : 600, "name" : "throttle_demo", "remark" : "Total: 800 calls/second; user: 500 calls/second; app: 300 calls/second; IP address: 600 calls/second", "time_interval" : 1, "time_unit" : "SECOND", "type" : 1, "user_call_limits" : 500 }
  • 响应示例 状态码:201 Created { "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" } 状态码: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参数 参数 是否必选 参数类型 描述 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。正整数。
  • 响应示例 状态码:200 OK { "total" : 1, "size" : 1, "plugins" : [ { "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" } ] } 状态码:400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:plugin_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" }
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/plugins 表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 plugin_type 否 String 插件类型 plugin_scope 否 String 插件可见范围 plugin_id 否 String 插件编码 plugin_name 否 String 插件名称,支持模糊查询 precise_search 否 String 指定需要精确匹配查找的参数名称,目前支持插件名称
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 size Integer 本次返回的列表长度 total Long 满足条件的记录数 plugins Array of PluginInfo objects 插件列表。 表5 PluginInfo 参数 参数类型 描述 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 表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 错误描述
  • 响应示例 状态码:200 OK { "total" : 1, "size" : 1, "auths" : [ { "api_id" : "5f918d104dc84480a75166ba99efff21", "app_name" : "app_demo", "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "env_name" : "RELEASE", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_name" : "api_group_001", "api_type" : 1, "api_name" : "Api_http", "app_id" : "356de8eb7a8742168586e5daf5339965", "auth_time" : "2020-08-04T04:02:22Z", "app_creator" : "USER", "id" : "dd29b33ae4394e3b924b582c6b40880b", "api_remark" : "Web backend API", "auth_role" : "PROVIDER", "app_type" : "apig", "auth_tunnel" : "NORMAL" } ] } 状态码: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.3002", "error_msg" : "API 5f918d104dc84480a75166ba99efff21 does not exist" } 状态码:500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 size Integer 本次返回的列表长度 total Long 满足条件的记录数 auths Array of ApiAuthInfo objects 本次返回的API列表 表5 ApiAuthInfo 参数 参数类型 描述 id String 授权关系编号 api_id String API的编号 api_name String API的名称 group_name String API绑定的分组名称 api_type Integer API类型 api_remark String API的描述信息 env_id String api授权绑定的环境ID auth_role String 授权者 auth_time String 授权创建的时间 app_name String APP的名称 app_remark String APP的描述 app_type String APP的类型: 默认为apig,暂不支持其他类型 app_creator String APP的创建者,取值如下: USER:租户自己创建 MARKET:API市场分配,暂不支持 publish_id String API的发布编号 group_id String API绑定的分组ID auth_tunnel String 授权通道类型 NORMAL:普通通道 GREEN:绿色通道 暂不支持,默认NORMAL auth_whitelist Array of strings 绿色通道的白名单配置 auth_blacklist Array of strings 绿色通道的黑名单配置 visit_param String 访问参数。 roma_app_type String ROMA_APP的类型: subscription:订阅应用 integration:集成应用 暂不支持 tags Array of strings API绑定的标签,标签配额默认10条,可以联系技术调整。 最小长度:1 最大长度:128 数组长度:0 - 10 env_name String api授权绑定的环境名称 app_id String APP的编号 状态码: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}/app-auths/binded-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 api_id 否 String API编号 app_name 否 String APP名称 app_id 否 String APP编号 env_id 否 String 环境编号
  • 响应示例 状态码:200 OK { "orchestration_id" : "yt655e81d9cb4424bf704ef2b0ac7600", "orchestration_name" : "orchestration_demo_1", "orchestration_create_time" : "2023-07-02T12:31:23.353Z", "orchestration_update_time" : "2023-07-02T13:31:23.353Z", "orchestration_strategy" : "range", "orchestration_mapped_param" : { "mapped_param_name" : "shared-tag", "mapped_param_type" : "number", "mapped_param_location" : "header" }, "orchestration_map" : [ { "map_param_range" : { "range_start" : "1", "range_end" : "1000" }, "mapped_param_value" : "1" } ] } 状态码: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" }
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/orchestrations/{orchestration_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 orchestration_id 是 String 编排规则编号
  • 响应参数 状态码:200 表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 orchestration_id String 编排规则编号。 orchestration_create_time String 编排规则创建时间。 orchestration_update_time String 编排规则更新时间。 表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。 状态码: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 { "name" : "Api_http", "type" : 1, "version" : "V0.0.1", "req_protocol" : "HTTPS", "req_method" : "GET", "req_uri" : "/test/http", "auth_type" : "AUTHORIZER", "authorizer_id" : "8d0443832a194eaa84244e0c1c1912ac", "auth_opt" : { "app_code_auth_type" : "DISABLE" }, "cors" : false, "match_mode" : "NORMAL", "backend_type" : "HTTP", "remark" : "Web backend API", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "id" : "5f918d104dc84480a75166ba99efff21", "group_name" : "api_group_001", "run_env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "run_env_name" : "RELEASE", "publish_id" : "9191cdb430724d4b8586ed7f1b962ca2", "sl_domain" : "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.com", "sl_domains" : [ "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.com", "c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.cn" ] } 状态码: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.3002", "error_msg" : "API 5f918d104dc84480a75166ba99efff21 does not exist" } 状态码:500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/apis/runtime/{api_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 api_id 是 String API的编号 表2 Query参数 参数 是否必选 参数类型 描述 env_id 否 String API的发布环境编号
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 name String API名称。 支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、汉字和数字开头,3-255个字符。 说明: 中文字符必须为UTF-8或者unicode编码。 type Integer API类型 1:公有API 2:私有API version String API的版本 最大长度:16 req_protocol String API的请求协议 HTTP HTTPS BOTH:同时支持HTTP和HTTPS GRP CS 缺省值:HTTPS req_method String API的请求方式,当API的请求协议为GRPC类型协议时请求方式固定为POST。 req_uri String 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512,且满足URI规范。 说明: 需要服从URI规范。 auth_type String API的认证方式 NONE:无认证 APP:APP认证 IAM:IAM认证 AUTHORIZER:自定义认证,当auth_type取值为AUTHORIZER时,authorizer_id字段必须传入 auth_opt AuthOpt object 认证方式参数 cors Boolean 是否支持跨域 TRUE:支持 FALSE:不支持 缺省值:false trace_enabled Boolean 是否开启链路追踪, 默认关闭。 缺省值:false sampling_strategy String 采样策略,当选择开启链路追踪时,此字段必填 RATE:按比例采样 sampling_param String 采样参数 当采样策略为RATE时,此字段取值为字符串化的整数,范围为0-100,缺省为'100','100'为采集每个请求,建议与后端应用的采样率保持一致。 缺省值:100 最小长度:1 最大长度:64 match_mode String API的匹配方式 SWA:前缀匹配 NORMAL:正常匹配(绝对匹配) 默认:NORMAL backend_type String 后端类型 HTTP:web后端 FUNCTION: 函数工作流 ,当backend_type取值为FUNCTION时,func_info字段必须传入 MOCK:模拟的后端,当backend_type取值为MOCK时,mock_info字段必须传入 GRPC:grpc后端 remark String API描述。字符长度不超过255 说明: 中文字符必须为UTF-8或者unicode编码。 group_id String API所属的分组编号 body_remark String API请求体描述,可以是请求体示例、媒体类型、参数等信息。字符长度不超过20480 说明: 中文字符必须为UTF-8或者unicode编码。 result_normal_sample String 正常响应示例,描述API的正常返回信息。字符长度不超过20480 说明: 中文字符必须为UTF-8或者unicode编码。 当API的请求协议为GRPC类型时不支持配置。 result_failure_sample String 失败返回示例,描述API的异常返回信息。字符长度不超过20480 说明: 中文字符必须为UTF-8或者unicode编码。 当API的请求协议为GRPC类型时不支持配置。 authorizer_id String 前端自定义认证对象的ID tags Array of strings 标签。 支持英文,数字,中文,特殊符号(-*#%.:_),且只能以中文或英文开头。 默认支持10个标签,如需扩大配额请联系技术工程师修改API_TAG_NUM_LIMIT配置。 最小长度:1 最大长度:128 response_id String 分组自定义响应ID roma_app_id String 集成应用ID 暂不支持 domain_name String API绑定的自定义 域名 暂不支持 tag String 标签 待废弃,优先使用tags字段 content_type String 请求内容格式类型: application/json application/xml multipart/form-data text/plain is_send_fg_body_base64 Boolean 是否对与FunctionGraph交互场景的body进行Base64编码。仅当content_type为application/json时,可以不对body进行Base64编码。 应用场景: 自定义认证 绑定断路器插件,且断路器后端降级策略为函数后端 API后端类型为函数工作流 缺省值:true id String API编号 group_name String API所属分组的名称 run_env_name String 发布的环境名 run_env_id String 发布的环境id publish_id String 发布记录的编号 sl_domain String 分组的二级域名 sl_domains Array of strings 系统默认分配的子域名列表 req_params Array of ReqParam objects API的请求参数列表 表5 AuthOpt 参数 参数类型 描述 app_code_auth_type String AppCode简易认证类型,仅在auth_type为APP时生效,默认为DISABLE: DISABLE:不开启简易认证 HEADER:开启简易认证且AppCode位置在HEADER 缺省值:DISABLE 表6 ReqParam 参数 参数类型 描述 name String 参数名称。 长度为1 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线、英文句号组成,且只能以英文开头。 type String 参数类型 location String 参数位置 default_value String 参数默认值 sample_value String 参数示例值 required Integer 是否必须 1:是 2:否 location为PATH时,required默认为1,其他场景required默认为2 valid_enable Integer 是否开启校验 1:开启校验 2:不开启校验 缺省值:2 remark String 描述信息。长度不超过255个字符 说明: 中文字符必须为UTF-8或者unicode编码。 enumerations String 参数枚举值 min_num Integer 参数最小值 参数类型为NUMBER时有效 max_num Integer 参数最大值 参数类型为NUMBER时有效 min_size Integer 参数最小长度 参数类型为STRING时有效 max_size Integer 参数最大长度 参数类型为STRING时有效 regular String 正则校验规则 暂不支持 json_schema String JSON校验规则 暂不支持 pass_through Integer 是否透传 1:是 2:否 orchestrations Array of strings 请求参数匹配编排规则的生效优先级与列表顺序保持一致,列表中靠前的配置匹配优先级较高; 如果编排规则列表中包含none_value类型的规则,则none_value类型的规则优先级最高,至多绑定一个none_value类型的规则; 如果编排规则列表中包含default类型的规则,则default类型的规则优先级最低,至多绑定一个default类型的规则; 当编排规则为预处理策略时,该规则不能作为除default以外的最后一个编排规则; 每个API仅允许选择一个参数绑定编排规则,且编排规则不能重复,支持绑定的编排规则数量有配额限制,具体请参见产品介绍的“约束与限制”章节。 id 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 错误描述
  • 响应参数 状态码:202 表5 响应Body参数 参数 参数类型 描述 task_id String 任务id 状态码: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 错误描述
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表4 请求Body参数 参数 是否必选 参数类型 描述 env_id 是 String API分组发布的环境ID group_id 是 String API分组ID define 否 String 导出API的定义范围: spec:基础定义,只包括api前端定义 proxy:全量定义,包括api前后端定义 all:扩展定义,包括api前后端定义以及流控、访问控制、自定义认证等扩展定义 dev:开发定义,包括未发布的api的前后端定义 缺省值:spec type 否 String 导出的API定义的格式 缺省值:json version 否 String 导出的API定义版本,默认为当前时间 apis 否 Array of strings 导出的API ID列表
  • URI POST /v2/{project_id}/apigw/instances/{instance_id}/openapi/async-export 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 表2 Query参数 参数 是否必选 参数类型 描述 oas_version 否 String OpenAPI版本 缺省值:2.0
  • 响应示例 状态码:202 Accepted { "task_id" : "d9ce8c9eede54b3f841ec324fe0bfdc2" } 状态码:400 Bad Request { "error_code" : "APIG.2001", "error_msg" : "The request parameters must be specified,parameterName:env_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" } 状态码:500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI GET /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 Created { "create_time" : "2020-08-12T06:52:02Z", "update_time" : "2020-08-12T06:52:02Z", "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.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" }
  • 响应参数 状态码:200 表5 响应Body参数 参数 参数类型 描述 success_count Integer 成功解除绑定的API和流控策略绑定关系的数量 failure Array of ThrottleBindingBatchFailure objects 解除绑定失败的API和流控绑定关系及错误信息 表6 ThrottleBindingBatchFailure 参数 参数类型 描述 bind_id String 解除绑定失败的API和流控策略绑定关系ID error_code String 解除绑定失败的错误码 error_msg String 解除绑定失败的错误信息 api_id String 解除绑定失败的API的ID api_name String 解除绑定失败的API的名称 状态码: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 错误描述 状态码:500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表4 请求Body参数 参数 是否必选 参数类型 描述 throttle_bindings 否 Array of strings 需要解除绑定的API和流控策略绑定关系ID列表
  • 响应示例 状态码:200 OK { "failure" : [ { "bind_id" : "b11e5970f732440dbea647580647d57f", "error_code" : "APIG.3012", "error_msg" : "The request throttling policy binding record does not exist" } ], "success_count" : 1 } 状态码:400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "parameter action should be \\\"delete\\\"" } 状态码: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" }
  • URI PUT /v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 表2 Query参数 参数 是否必选 参数类型 描述 action 是 String 必须为delete
共100000条
提示

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