华为云用户手册

  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 size Integer 本次返回的列表长度 total Long 满足条件的记录数 bindings Array of SignApiBindingBase objects 本次查询到的签名密钥和API绑定关系列表 表5 SignApiBindingBase 参数 参数类型 描述 publish_id String API的发布编号 api_id String API编号 group_name String API所属分组的名称 binding_time String 绑定时间 env_id String API所属环境的编号 env_name String API所属环境的名称 api_type Integer API类型 api_name String API名称 id String 绑定关系的ID api_remark String API描述 sign_id String 签名密钥的编号 sign_name String 签名密钥的名称。支持汉字,英文,数字,下划线,且只能以英文和汉字开头,3 ~ 64字符。 说明: 中文字符必须为UTF-8或者unicode编码。 req_method String API请求方法 tags Array of strings API绑定的标签,标签配额默认10条,可以联系技术调整。 最小长度:1 最大长度:128 数组长度:0 - 10 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/binded-apis 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Long 偏移量,表示从此偏移量开始查询,偏移量小于0时,自动转换为0 缺省值:0 limit 否 Integer 每页显示的条目数量,条目数量小于等于0时,自动转换为20,条目数量大于500时,自动转换为500 最小值:1 最大值:500 缺省值:20 sign_id 是 String 签名密钥编号 env_id 否 String 环境编号 api_id 否 String API的编号 api_name 否 String API名称 group_id 否 String API分组编号 tags 否 String API标签,该参数可指定多个,多个不同的参数值为或关系;不指定或为空时,表示不筛选标签;指定为#no_tags#时,表示筛选无标签API。 最小长度:0 最大长度:128
  • 响应示例 状态码: 200 OK { "total" : 1, "size" : 1, "apis" : [ { "name" : "Api_mock", "type" : 1, "remark" : "Mock backend API", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "id" : "3a955b791bd24b1c9cd94c745f8d1aad", "group_name" : "api_group_001", "run_env_name" : "RELEASE", "run_env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "publish_id" : "9f27d1dc4f4242a9abf88e563dbfc33d", "req_uri" : "/test/mock", "auth_type" : " IAM " } ] } 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:api_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.3006", "error_msg" : "Access control policy 7eb619ecf2a24943b099833cd24a01ba 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 UnbindApiForAcl objects 本次查询返回的API列表 表5 UnbindApiForAcl 参数 参数类型 描述 id String API的ID name String API名称 group_id String API所属分组的编号 group_name String API所属分组的名称 type Integer API开放状态 remark String API描述 run_env_name String 发布的环境名 run_env_id String 发布的环境id publish_id String API发布记录编号 acl_name String 绑定的其他同类型的ACL策略名称 req_uri String API的请求地址 auth_type String API的认证方式 req_method String API请求方法 tags Array of strings API绑定的标签,标签配额默认10条,可以联系技术调整。 最小长度:1 最大长度:128 数组长度:0 - 10 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/acl-bindings/unbinded-apis 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Long 偏移量,表示从此偏移量开始查询,偏移量小于0时,自动转换为0 缺省值:0 limit 否 Integer 每页显示的条目数量,条目数量小于等于0时,自动转换为20,条目数量大于500时,自动转换为500 最小值:1 最大值:500 缺省值:20 acl_id 是 String ACL策略编号 api_id 否 String API编号 api_name 否 String API名称 env_id 否 String 环境编号 group_id 否 String API分组编号 tags 否 String API标签,该参数可指定多个,多个不同的参数值为或关系;不指定或为空时,表示不筛选标签;指定为#no_tags#时,表示筛选无标签API。 最小长度:0 最大长度:128
  • 响应参数 状态码: 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: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" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 env_id 是 String 绑定API的环境编码。 api_ids 是 Array of strings 绑定的API编码列表。 数组长度:1 - 500
  • URI PUT /v2/{project_id}/apigw/instances/{instance_id}/plugins/{plugin_id}/detach 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 plugin_id 是 String 插件编号
  • 响应参数 状态码: 200 表3 响应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 表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 错误描述
  • URI GET /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 { "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: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 OK { "total" : 2, "size" : 2, "responses" : [ { "create_time" : "2020-08-12T06:52:02Z", "default" : false, "id" : "e839b367e10f4ab19d1c5008e476b83a", "name" : "response_demo", "update_time" : "2020-08-12T06:52:02Z" }, { "create_time" : "2020-07-31T11:39:23Z", "default" : true, "id" : "ed8e8c52ab0e4a1c9c809268e5002e64", "name" : "default", "update_time" : "2020-07-31T11:39:23Z" } ] } 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:group_id. Please refer to the support documentation" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3001", "error_msg" : "API group c77f5e81d9cb4424bf704ef2b0ac7600 does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI GET /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 分组的编号 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Long 偏移量,表示从此偏移量开始查询,偏移量小于0时,自动转换为0 缺省值:0 limit 否 Integer 每页显示的条目数量,条目数量小于等于0时,自动转换为20,条目数量大于500时,自动转换为500 最小值:1 最大值:500 缺省值:20
  • 响应示例 状态码: 200 OK { "total" : 1, "size" : 1, "member_groups" : [ { "member_group_name" : "vpc_member_group", "member_group_remark" : "remark", "member_group_weight" : 1, "dict_code" : "", "member_group_id" : "105c6902457144a4820dff8b1ad63331", "create_time" : "2020-07-23T07:24:33Z", "update_time" : "2020-07-23T07:24:33Z", "microservice_version" : "", "microservice_port" : 0, "microservice_labels" : [ ] } ] } 状态码: 400 Bad Request { "error_code" : "APIG.2001", "error_msg" : "The request parameters must be specified, parameter name:members" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3030", "error_msg" : "The instance does not exist,id:56a7d7358e1b42459c9d730d65b14e59" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vpc_channel_id}/member-groups 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 vpc_channel_id 是 String VPC通道的编号 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Long 偏移量,表示从此偏移量开始查询,偏移量小于0时,自动转换为0 缺省值:0 limit 否 Integer 每页显示的条目数量,条目数量小于等于0时,自动转换为20,条目数量大于500时,自动转换为500 最小值:1 最大值:500 缺省值:20 dict_code 否 String 字典编码。 支持英文,数字,特殊字符(-_.) 暂不支持 最小长度:3 最大长度:64 member_group_name 否 String VPC通道后端云服务组的名称 precise_search 否 String 指定需要精确匹配查找的参数名称,多个参数需要支持精确匹配时参数之间使用“,”隔开。 当前支持member_group_name。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 size Integer 本次返回的列表长度 total Long 满足条件的记录数 member_groups Array of MemberGroupInfo objects VPC通道后端服务器组列表 表5 MemberGroupInfo 参数 参数类型 描述 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 错误描述
  • 请求示例 创建一个实例,配置网络、安全组等信息 { "available_zone_ids" : [ "xx-xxx-7b", "xx-xxx-7a" ], "bandwidth_size" : 5, "description" : "test create instance", "eip_id" : "41f961ab-2bdd-4ca7-9b59-cfc4fcef10c9", "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_id" : "PROFESSIONAL", "subnet_id" : "a938121c-11c4-4c91-b983-bc9acd347bb5", "vpc_id" : "0957108c-257c-4ce0-9e93-527d279ce763" }
  • 响应示例 状态码: 202 Accepted { "instance_id" : "6a7d71827fd54572b1f31aa9548fcc81", "message" : "JOB_ASSIGNED_FOR_PROVISIONING_0003I:The job JOB-bdb370eb6f4c4c73b61b95a9da38beb5 has been assigned to the instance 6a7d71827fd54572b1f31aa9548fcc81 for running provisioning.", "job_id" : "JOB-edbac2355fb7433e98f173ea2e452e2d" } 状态码: 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.7301", "error_msg" : "Instance spec not found" } 状态码: 500 Internal Server Error { "error_code" : "APIC.9000", "error_msg" : "Failed to request internal service" }
  • 响应参数 状态码: 202 表5 响应Body参数 参数 参数类型 描述 instance_id String 实例ID message String 创建实例任务信息 job_id String 任务编号 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "id" : "5f918d104dc84480a75166ba99efff21", "tags" : [ "webApi" ], "arrange_necessary" : 2, "backend_type" : "HTTP", "auth_type" : "APP", "auth_opt" : { "app_code_auth_type" : "DISABLE" }, "backend_api" : { "update_time" : "2020-08-02T16:32:47.077028841Z", "vpc_channel_status" : 1, "vpc_channel_info" : { "vpc_channel_id" : "56a7d7358e1b42459c9d730d65b14e59", "vpc_channel_proxy_host" : "www.example.com" }, "url_domain" : "56a7d7358e1b42459c9d730d65b14e59", "req_protocol" : "HTTPS", "id" : "1ce8fda3586d4371bd83c955df37e102", "req_method" : "GET", "register_time" : "2020-07-31T12:42:51Z", "req_uri" : "/test/benchmark", "timeout" : 5000, "status" : 1, "retry_count" : "-1" }, "cors" : false, "status" : 1, "group_name" : "api_group_001", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_version" : "V1", "match_mode" : "NORMAL", "name" : "Api_http", "req_protocol" : "HTTPS", "req_method" : "GET", "req_uri" : "/test/http", "type" : 1, "version" : "V0.0.1", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "register_time" : "2020-07-31T12:42:51Z", "update_time" : "2020-08-02T16:32:47.046288842Z", "remark" : "Web backend API", "backend_params" : [ { "name" : "X-CONSTANT-HEADER", "value" : "demo", "location" : "HEADER", "origin" : "CONSTANT", "remark" : "constant_demo", "id" : "8cb2eba19e7a4423a4e835647a8b8d76" }, { "name" : "app-id", "value" : "$context.appId", "location" : "HEADER", "origin" : "SYSTEM", "remark" : "App ID of the API caller", "id" : "216ddda836e74d528f364ff589d9dd21" } ] } 状态码: 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.3002", "error_msg" : "API 5f918d104dc84480a75166ba99efff21 does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 请求示例 修改一个API,API认证方式为APP认证,后端配置使用负载通道 { "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "NORMAL", "name" : "Api_http", "auth_type" : "APP", "backend_type" : "HTTP", "backend_api" : { "vpc_channel_status" : 1, "vpc_channel_info" : { "vpc_channel_id" : "56a7d7358e1b42459c9d730d65b14e59", "vpc_channel_proxy_host" : "www.example.com" }, "req_protocol" : "HTTPS", "req_method" : "GET", "req_uri" : "/test/benchmark", "timeout" : 5000, "retry_count" : "-1" }, "cors" : false, "req_protocol" : "HTTPS", "req_uri" : "/test/http", "remark" : "Web backend API", "type" : 1, "req_method" : "GET", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "backend_params" : [ { "name" : "X-CONSTANT-HEADER", "value" : "demo", "location" : "HEADER", "origin" : "CONSTANT", "remark" : "constant_demo" }, { "name" : "app-id", "value" : "$context.appId", "location" : "HEADER", "origin" : "SYSTEM", "remark" : "App ID of the API caller" } ], "tags" : [ "webApi" ] }
  • 响应参数 状态码: 200 表15 响应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 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编号 status Integer API状态 1: 有效 arrange_necessary Integer 是否需要编排 register_time String API注册时间 update_time String API修改时间 group_name String API所属分组的名称 group_version String API所属分组的版本 默认V1,其他版本暂不支持 缺省值:V1 run_env_id String 发布的环境编号 存在多个发布记录时,环境编号之间用|隔开 run_env_name String 发布的环境名称 存在多个发布记录时,环境名称之间用|隔开 publish_id String 发布记录编号 存在多个发布记录时,发布记录编号之间用|隔开 publish_time String 发布时间 存在多个发布记录时,发布时间之间用|隔开 roma_app_name String API归属的集成应用名称 暂不支持 ld_api_id String 当API的后端为自定义后端时,对应的自定义后端API编号 暂不支持 backend_api BackendApi object web后端详情 api_group_info ApiGroupCommonInfo object api分组信息 func_info ApiFunc object 函数工作流后端详情 mock_info ApiMock object mock后端详情 req_params Array of ReqParam objects API的请求参数列表 backend_params Array of BackendParam objects API的后端参数列表 policy_functions Array of ApiPolicyFunctionResp objects 函数工作流策略后端列表 policy_mocks Array of ApiPolicyMockResp objects mock策略后端列表 policy_https Array of ApiPolicyHttpResp objects web策略后端列表 表16 AuthOpt 参数 参数类型 描述 app_code_auth_type String AppCode简易认证类型,仅在auth_type为APP时生效,默认为DISABLE: DISABLE:不开启简易认证 HEADER:开启简易认证且AppCode位置在HEADER 缺省值:DISABLE 表17 BackendApi 参数 参数类型 描述 authorizer_id String 后端自定义认证对象的ID url_domain String 后端服务的地址。 由主机(IP或域名)和端口号组成,总长度不超过255。格式为主机:端口(如:apig.example.com:7443)。如果不写端口,则HTTPS默认端口号为443,HTTP默认端口号为80。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、下划线、中划线组成,且只能以英文开头 req_protocol String 请求协议,后端类型为GRPC时请求协议可选GRPC、GRPCS remark String 描述。字符长度不超过255 说明: 中文字符必须为UTF-8或者unicode编码。 req_method String 请求方式,后端类型为GRPC时请求方式固定为POST version String web后端版本,字符长度不超过16 req_uri String 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512,且满足URI规范。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线组成,且只能以英文开头。 说明: 需要服从URI规范。 后端类型为GRPC时请求地址固定为/ timeout Integer API网关请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000。 单位:毫秒。 最小值:1 enable_client_ssl Boolean 是否开启双向认证 retry_count String 请求后端服务的重试次数,默认为-1,范围[-1,10]。 当该值为-1时,幂等的接口会重试1次,非幂等的不会重试。POST,PATCH方法为非幂等;GET,HEAD,PUT,OPTIONS和DELETE等方法为幂等的。 缺省值:-1 enable_sm_channel Boolean 是否启用SM商密通道。 仅实例支持SM系列商密算法的实例时支持开启。 id String 编号 status Integer 后端状态 1: 有效 register_time String 注册时间 update_time String 修改时间 vpc_channel_info VpcInfo object VPC通道详情。如果vpc_channel_status = 1,则这个object类型为必填信息 vpc_channel_status Integer 是否使用VPC通道 1:使用VPC通道 2:不使用VPC通道 表18 ApiGroupCommonInfo 参数 参数类型 描述 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 表19 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证书列表。 表20 SslInfo 参数 参数类型 描述 ssl_id String SSL证书编号。 ssl_name String SSL证书名称。 algorithm_type String 证书算法类型: RSA ECC SM2 type String 证书可见范围: instance:当前实例 global:全局 缺省值:global 表21 ApiFunc 参数 参数类型 描述 function_urn String 函数URN remark String 描述信息。长度不超过255个字符 说明: 中文字符必须为UTF-8或者unicode编码。 invocation_type String 调用类型 async: 异步 sync:同步 network_type String 对接函数的网络架构类型 V1:非VPC网络架构 V2:VPC网络架构 version String 函数版本 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN 最大长度:64 alias_urn String 函数别名URN 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN timeout Integer API网关请求后端服务的超时时间。函数网络架构为V1时最大超时时间为60000,V2最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000。 单位:毫秒。 最小值:1 authorizer_id String 后端自定义认证ID req_protocol String 函数后端的请求协议:HTTPS、GRPCS,默认值为HTTPS,前端配置中的请求协议为GRPCS时可选GRPCS。 缺省值:HTTPS id String 编号 register_time String 注册时间 status Integer 后端状态 1: 有效 update_time String 修改时间 表22 ApiMock 参数 参数类型 描述 remark String 描述信息。长度不超过255个字符 说明: 中文字符必须为UTF-8或者unicode编码。 result_content String 返回结果 version String 版本。字符长度不超过64 authorizer_id String 后端自定义认证ID id String 编号 register_time String 注册时间 status Integer 后端状态 1: 有效 update_time String 修改时间 表23 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 参数编号 表24 ApiPolicyFunctionResp 参数 参数类型 描述 function_urn String 函数URN invocation_type String 调用类型 async: 异步 sync:同步 network_type String 对接函数的网络架构类型 V1:非VPC网络架构 V2:VPC网络架构 version String 函数版本 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN 最大长度:64 alias_urn String 函数别名URN 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN timeout Integer API网关请求后端服务的超时时间。函数网络架构为V1时最大超时时间为60000,V2最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000。 单位:毫秒。 最小值:1 req_protocol String 函数后端的请求协议:HTTPS、GRPCS,默认值为HTTPS,前端配置中的请求协议为GRPCS时可选GRPCS。 缺省值:HTTPS id String 编号 effect_mode String 关联的策略组合模式: ALL:满足全部条件 ANY:满足任一条件 name String 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。 最小长度:3 最大长度:64 backend_params Array of BackendParam objects 后端参数列表 conditions Array of CoditionResp objects 策略条件列表 authorizer_id String 后端自定义认证对象的ID 表25 ApiPolicyMockResp 参数 参数类型 描述 id String 编号 effect_mode String 关联的策略组合模式: ALL:满足全部条件 ANY:满足任一条件 name String 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。 最小长度:3 最大长度:64 backend_params Array of BackendParam objects 后端参数列表 conditions Array of CoditionResp objects 策略条件列表 authorizer_id String 后端自定义认证对象的ID result_content String 返回结果 表26 ApiPolicyHttpResp 参数 参数类型 描述 id String 编号 effect_mode String 关联的策略组合模式: ALL:满足全部条件 ANY:满足任一条件 name String 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。 最小长度:3 最大长度:64 backend_params Array of BackendParam objects 后端参数列表 conditions Array of CoditionResp objects 策略条件列表 authorizer_id String 后端自定义认证对象的ID url_domain String 策略后端的Endpoint。 由域名(或IP地址)和端口号组成,总长度不超过255。格式为域名:端口(如:apig.example.com:7443)。如果不写端口,则HTTPS默认端口号为443, HTTP默认端口号为80。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、“_”、“-”组成,且只能以英文开头。 req_protocol String 请求协议:HTTP、HTTPS、GRPC、GRPCS,后端类型为GRPC时可选GRPC、GRPCS req_method String 请求方式:GET、POST、PUT、DELETE、HEAD、PATCH、OPTIONS、ANY,后端类型为GRPC时固定为POST req_uri String 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512,且满足URI规范。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线组成,且只能以英文开头。 说明: 需要服从URI规范。 后端类型为GRPC时请求地址固定为/ timeout Integer API网关请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000。 单位:毫秒。 最小值:1 retry_count String 请求后端服务的重试次数,默认为-1,范围[-1,10]。 当该值为-1时,幂等的接口会重试1次,非幂等的不会重试。POST,PATCH方法为非幂等;GET,HEAD,PUT,OPTIONS和DELETE等方法为幂等的。 缺省值:-1 enable_sm_channel Boolean 是否启用SM商密通道。 仅实例支持SM系列商密算法的实例时支持开启。 vpc_channel_info VpcInfo object VPC通道详情。如果vpc_channel_status = 1,则这个object类型为必填信息 vpc_channel_status Integer 是否使用VPC通道: 1: 使用VPC通道 2:不使用VPC通道 表27 BackendParam 参数 参数类型 描述 origin String 参数类别: 后端服务参数:REQUEST 常量参数:CONSTANT 系统参数:SYSTEM name String 参数名称。 字符串由英文字母、数字、中划线、下划线、英文句号组成,且只能以英文开头。 最小长度:1 最大长度:32 remark String 描述。字符长度不超过255 说明: 中文字符必须为UTF-8或者unicode编码。 location String 参数位置:PATH、QUERY、HEADER value String 参数值。字符长度不超过255 origin类别为REQUEST时,此字段值为req_params中的参数名称; origin类别为CONSTANT时,此字段值为参数真正的值; origin类别为SYSTEM时,此字段值为系统参数名称,系统参数分为网关内置参数、前端认证参数和后端认证参数,当api前端安全认证方式为自定义认证时,可以填写前端认证参数,当api开启后端认证时,可以填写后端认证参数。 网关内置参数取值及对应含义: $context.sourceIp:API调用者的源地址 $context.stage:API调用的部署环境 $context.apiId:API的ID $context.appId:API调用者的APP对象ID $context.requestId:当次API调用生成请求ID $context.serverAddr:网关的服务器地址 $context.serverName:网关的服务器名称 $context.handleTime:本次API调用的处理时间 $context.providerAppId:API拥有者的应用对象ID,暂不支持使用 前端认证参数取值:以“$context.authorizer.frontend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.frontend.aaa 后端认证参数取值:以“$context.authorizer.backend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.backend.aaa id String 参数编号 req_param_id String 对应的请求参数编号 表28 CoditionResp 参数 参数类型 描述 req_param_name String 关联的请求参数对象名称。策略类型为param时必选 sys_param_name String 系统参数-网关内置参数名称。策略类型为system时必选。支持以下参数 req_path:请求路径。如 /a/b req_method:请求方法。如 GET reqPath:请求路径,废弃。如 /a/b reqMethod:请求方法,废弃。如 GET cookie_param_name String COOKIE参数名称。策略类型为cookie时必选 最小长度:0 最大长度:255 frontend_authorizer_param_name String 系统参数-前端认证参数名称。策略类型为frontend_authorizer时必选,前端认证参数名称以"$context.authorizer.frontend."字符串为前缀。例如,前端认证参数名称为user_name,加上前缀为$context.authorizer.frontend.user_name。 condition_type String 策略条件 exact:绝对匹配 enum:枚举 pattern:正则 策略类型为param,system,cookie,frontend_authorizer时必选 condition_origin String 策略类型 param:参数 source:源IP system: 系统参数-网关内置参数 cookie: COOKIE参数 frontend_authorizer: 系统参数-前端认证参数 condition_value String 策略值。 最大长度:1024 mapped_param_name String 参数编排规则编排后生成的参数名称,当condition_origin为orchestration的时候必填,并且生成的参数名称必须在api绑定的编排规则中存在 mapped_param_location String 参数编排规则编排后生成的参数所在的位置,当condition_origin为orchestration的时候必填,并且生成的参数所在的位置必须在api绑定的编排规则中存在 id String 编号 req_param_id String 关联的请求参数对象编号 req_param_location String 关联的请求参数对象位置 表29 VpcInfo 参数 参数类型 描述 ecs_id String 云服务器ID ecs_name String 云服务器名称 cascade_flag Boolean 是否使用级联方式 暂不支持 vpc_channel_proxy_host String 代理主机 vpc_channel_id String VPC通道编号 vpc_channel_port Integer VPC通道端口 状态码: 400 表30 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表31 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表32 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表33 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表34 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求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 GRPCS 缺省值: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 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 mock_info 否 ApiMockCreate object mock后端详情 func_info 否 ApiFuncCreate object 函数后端详情 req_params 否 Array of ReqParamBase objects API的请求参数列表,API请求协议为GRPC类型时不支持配置 backend_params 否 Array of BackendParamBase objects API的后端参数列表,API请求协议为GRPC类型时不支持配置 policy_mocks 否 Array of ApiPolicyMockCreate objects mock策略后端列表 policy_functions 否 Array of ApiPolicyFunctionCreate objects 函数工作流策略后端列表 backend_api 否 BackendApiCreate object web后端详情 policy_https 否 Array of ApiPolicyHttpCreate objects web策略后端列表 表4 AuthOpt 参数 是否必选 参数类型 描述 app_code_auth_type 否 String AppCode简易认证类型,仅在auth_type为APP时生效,默认为DISABLE: DISABLE:不开启简易认证 HEADER:开启简易认证且AppCode位置在HEADER 缺省值:DISABLE 表5 ApiMockCreate 参数 是否必选 参数类型 描述 remark 否 String 描述信息。长度不超过255个字符 说明: 中文字符必须为UTF-8或者unicode编码。 result_content 否 String 返回结果 version 否 String 版本。字符长度不超过64 authorizer_id 否 String 后端自定义认证ID 表6 ApiFuncCreate 参数 是否必选 参数类型 描述 function_urn 是 String 函数URN remark 否 String 描述信息。长度不超过255个字符 说明: 中文字符必须为UTF-8或者unicode编码。 invocation_type 是 String 调用类型 async: 异步 sync:同步 network_type 是 String 对接函数的网络架构类型 V1:非VPC网络架构 V2:VPC网络架构 version 否 String 函数版本 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN 最大长度:64 alias_urn 否 String 函数别名URN 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN timeout 是 Integer API网关请求后端服务的超时时间。函数网络架构为V1时最大超时时间为60000,V2最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000。 单位:毫秒。 最小值:1 authorizer_id 否 String 后端自定义认证ID req_protocol 否 String 函数后端的请求协议:HTTPS、GRPCS,默认值为HTTPS,前端配置中的请求协议为GRPCS时可选GRPCS。 缺省值:HTTPS 表7 ReqParamBase 参数 是否必选 参数类型 描述 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仅允许选择一个参数绑定编排规则,且编排规则不能重复,支持绑定的编排规则数量有配额限制,具体请参见产品介绍的“约束与限制”章节。 表8 ApiPolicyMockCreate 参数 是否必选 参数类型 描述 result_content 否 String 返回结果 effect_mode 是 String 关联的策略组合模式: ALL:满足全部条件 ANY:满足任一条件 name 是 String 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。 最小长度:3 最大长度:64 backend_params 否 Array of BackendParamBase objects 后端参数列表,后端类型为GRPC时不支持配置 conditions 是 Array of ApiConditionBase objects 策略条件列表 authorizer_id 否 String 后端自定义认证对象的ID 表9 ApiPolicyFunctionCreate 参数 是否必选 参数类型 描述 function_urn 是 String 函数URN invocation_type 是 String 调用类型 async: 异步 sync:同步 network_type 是 String 对接函数的网络架构类型 V1:非VPC网络架构 V2:VPC网络架构 version 否 String 函数版本 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN 最大长度:64 alias_urn 否 String 函数别名URN 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN timeout 否 Integer API网关请求后端服务的超时时间。函数网络架构为V1时最大超时时间为60000,V2最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000。 单位:毫秒。 最小值:1 req_protocol 否 String 函数后端的请求协议:HTTPS、GRPCS,默认值为HTTPS,前端配置中的请求协议为GRPCS时可选GRPCS。 缺省值:HTTPS effect_mode 是 String 关联的策略组合模式: ALL:满足全部条件 ANY:满足任一条件 name 是 String 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。 最小长度:3 最大长度:64 backend_params 否 Array of BackendParamBase objects 后端参数列表,后端类型为GRPC时不支持配置 conditions 是 Array of ApiConditionBase objects 策略条件列表 authorizer_id 否 String 后端自定义认证对象的ID 表10 BackendApiCreate 参数 是否必选 参数类型 描述 authorizer_id 否 String 后端自定义认证对象的ID url_domain 否 String 后端服务的地址。 由主机(IP或域名)和端口号组成,总长度不超过255。格式为主机:端口(如:apig.example.com:7443)。如果不写端口,则HTTPS默认端口号为443,HTTP默认端口号为80。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、下划线、中划线组成,且只能以英文开头 req_protocol 是 String 请求协议,后端类型为GRPC时请求协议可选GRPC、GRPCS remark 否 String 描述。字符长度不超过255 说明: 中文字符必须为UTF-8或者unicode编码。 req_method 是 String 请求方式,后端类型为GRPC时请求方式固定为POST version 否 String web后端版本,字符长度不超过16 req_uri 是 String 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512,且满足URI规范。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线组成,且只能以英文开头。 说明: 需要服从URI规范。 后端类型为GRPC时请求地址固定为/ timeout 是 Integer API网关请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000。 单位:毫秒。 最小值:1 enable_client_ssl 否 Boolean 是否开启双向认证 retry_count 否 String 请求后端服务的重试次数,默认为-1,范围[-1,10]。 当该值为-1时,幂等的接口会重试1次,非幂等的不会重试。POST,PATCH方法为非幂等;GET,HEAD,PUT,OPTIONS和DELETE等方法为幂等的。 缺省值:-1 enable_sm_channel 否 Boolean 是否启用SM商密通道。 仅实例支持SM系列商密算法的实例时支持开启。 vpc_channel_info 否 ApiBackendVpcReq object VPC通道详情。vpc_channel_status = 1,则这个object类型为必填信息 vpc_channel_status 否 Integer 是否使用VPC通道 1:使用VPC通道 2:不使用VPC通道 表11 ApiPolicyHttpCreate 参数 是否必选 参数类型 描述 url_domain 否 String 策略后端的Endpoint。 由域名(或IP地址)和端口号组成,总长度不超过255。格式为域名:端口(如:apig.example.com:7443)。如果不写端口,则HTTPS默认端口号为443, HTTP默认端口号为80。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、“_”、“-”组成,且只能以英文开头。 req_protocol 是 String 请求协议:HTTP、HTTPS、GRPC、GRPCS,后端类型为GRPC时可选GRPC、GRPCS req_method 是 String 请求方式:GET、POST、PUT、DELETE、HEAD、PATCH、OPTIONS、ANY,后端类型为GRPC时固定为POST req_uri 是 String 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512,且满足URI规范。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线组成,且只能以英文开头。 说明: 需要服从URI规范。 后端类型为GRPC时请求地址固定为/ timeout 否 Integer API网关请求后端服务的超时时间。最大超时时间可通过实例特性backend_timeout配置修改,可修改的上限为600000。 单位:毫秒。 最小值:1 retry_count 否 String 请求后端服务的重试次数,默认为-1,范围[-1,10]。 当该值为-1时,幂等的接口会重试1次,非幂等的不会重试。POST,PATCH方法为非幂等;GET,HEAD,PUT,OPTIONS和DELETE等方法为幂等的。 缺省值:-1 enable_sm_channel 否 Boolean 是否启用SM商密通道。 仅实例支持SM系列商密算法的实例时支持开启。 effect_mode 是 String 关联的策略组合模式: ALL:满足全部条件 ANY:满足任一条件 name 是 String 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。 最小长度:3 最大长度:64 backend_params 否 Array of BackendParamBase objects 后端参数列表,后端类型为GRPC时不支持配置 conditions 是 Array of ApiConditionBase objects 策略条件列表 authorizer_id 否 String 后端自定义认证对象的ID vpc_channel_info 否 ApiBackendVpcReq object VPC通道详情。vpc_channel_status = 1,则这个object类型为必填信息 vpc_channel_status 否 Integer 是否使用VPC通道 1 : 使用VPC通道 2 : 不使用VPC通道 表12 BackendParamBase 参数 是否必选 参数类型 描述 origin 是 String 参数类别: 后端服务参数:REQUEST 常量参数:CONSTANT 系统参数:SYSTEM name 是 String 参数名称。 字符串由英文字母、数字、中划线、下划线、英文句号组成,且只能以英文开头。 最小长度:1 最大长度:32 remark 否 String 描述。字符长度不超过255 说明: 中文字符必须为UTF-8或者unicode编码。 location 是 String 参数位置:PATH、QUERY、HEADER value 是 String 参数值。字符长度不超过255 origin类别为REQUEST时,此字段值为req_params中的参数名称; origin类别为CONSTANT时,此字段值为参数真正的值; origin类别为SYSTEM时,此字段值为系统参数名称,系统参数分为网关内置参数、前端认证参数和后端认证参数,当api前端安全认证方式为自定义认证时,可以填写前端认证参数,当api开启后端认证时,可以填写后端认证参数。 网关内置参数取值及对应含义: $context.sourceIp:API调用者的源地址 $context.stage:API调用的部署环境 $context.apiId:API的ID $context.appId:API调用者的APP对象ID $context.requestId:当次API调用生成请求ID $context.serverAddr:网关的服务器地址 $context.serverName:网关的服务器名称 $context.handleTime:本次API调用的处理时间 $context.providerAppId:API拥有者的应用对象ID,暂不支持使用 前端认证参数取值:以“$context.authorizer.frontend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.frontend.aaa 后端认证参数取值:以“$context.authorizer.backend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.backend.aaa 表13 ApiConditionBase 参数 是否必选 参数类型 描述 req_param_name 否 String 关联的请求参数对象名称。策略类型为param时必选 sys_param_name 否 String 系统参数-网关内置参数名称。策略类型为system时必选。支持以下参数 req_path:请求路径。如 /a/b req_method:请求方法。如 GET reqPath:请求路径,废弃。如 /a/b reqMethod:请求方法,废弃。如 GET cookie_param_name 否 String COOKIE参数名称。策略类型为cookie时必选 最小长度:0 最大长度:255 frontend_authorizer_param_name 否 String 系统参数-前端认证参数名称。策略类型为frontend_authorizer时必选,前端认证参数名称以"$context.authorizer.frontend."字符串为前缀。例如,前端认证参数名称为user_name,加上前缀为$context.authorizer.frontend.user_name。 condition_type 否 String 策略条件 exact:绝对匹配 enum:枚举 pattern:正则 策略类型为param,system,cookie,frontend_authorizer时必选 condition_origin 是 String 策略类型 param:参数 source:源IP system: 系统参数-网关内置参数 cookie: COOKIE参数 frontend_authorizer: 系统参数-前端认证参数 condition_value 是 String 策略值。 最大长度:1024 mapped_param_name 否 String 参数编排规则编排后生成的参数名称,当condition_origin为orchestration的时候必填,并且生成的参数名称必须在api绑定的编排规则中存在 mapped_param_location 否 String 参数编排规则编排后生成的参数所在的位置,当condition_origin为orchestration的时候必填,并且生成的参数所在的位置必须在api绑定的编排规则中存在 表14 ApiBackendVpcReq 参数 是否必选 参数类型 描述 vpc_channel_proxy_host 否 String 代理主机 vpc_channel_id 是 String VPC通道编号
  • URI PUT /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 api_id 是 String API的编号
  • 响应示例 状态码: 200 OK { "variable_value" : "192.168.1.5", "env_id" : "7a1ad0c350844ee69479b47df9a881cb", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "id" : "25054838a624400bbf2267cf5b3a3f70", "variable_name" : "address" } 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:variable_name" } 状态码: 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.3003", "error_msg" : "Environment 7a1ad0c350844ee69479b47df9a881cb does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 variable_value String 变量值支持英文字母、数字、英文格式的下划线、中划线,斜线(/)、点、冒号,1 ~ 255个字符。 env_id String 环境编号 最小长度:1 最大长度:65 group_id String API分组编号 最小长度:1 最大长度:65 variable_name String 变量名,支持英文字母、数字、英文格式的下划线、中划线,必须以英文字母开头,3~32个字符。在API定义中等于#Name的值#部分(区分大小写),发布到环境里的API被变量值替换。 说明: 中文字符必须为UTF-8或者unicode编码。 id String 环境变量编号 状态码: 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}/env-variables/{env_variable_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 env_variable_id 是 String 环境变量的编号
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 variable_value 是 String 变量值支持英文字母、数字、英文格式的下划线、中划线,斜线(/)、点、冒号,1 ~ 255个字符。
  • 请求示例 更新服务器类型的VPC通道 { "balance_strategy" : 2, "member_type" : "ip", "name" : "VPC_demo", "port" : 22, "type" : 2, "vpc_health_config" : { "http_code" : "200", "path" : "/vpc/demo", "port" : 22, "protocol" : "http", "threshold_abnormal" : 5, "threshold_normal" : 2, "time_interval" : 10, "timeout" : 5, "enable_client_ssl" : false }, "member_groups" : [ { "member_group_name" : "test", "member_group_weight" : 1, "member_group_remark" : "remark" }, { "member_group_name" : "default", "member_group_weight" : 2, "member_group_remark" : "remark" } ], "members" : [ { "host" : "192.168.0.5", "weight" : 1, "member_group_name" : "test" }, { "host" : "192.168.1.124", "weight" : 2, "member_group_name" : "default" } ] } 更新微服务类型的VPC通道 { "balance_strategy" : 1, "member_type" : "ip", "name" : "VPC_demo", "port" : 22, "type" : 3, "vpc_health_config" : { "http_code" : "200", "path" : "/vpc/demo", "port" : 22, "protocol" : "http", "threshold_abnormal" : 5, "threshold_normal" : 2, "time_interval" : 10, "timeout" : 5, "enable_client_ssl" : false }, "member_groups" : [ { "member_group_name" : "test", "member_group_weight" : 1, "member_group_remark" : "remark", "microservice_version" : "v1", "microservice_port" : 80 }, { "member_group_name" : "default", "member_group_weight" : 2, "member_group_remark" : "remark", "microservice_version" : "v2", "microservice_port" : 80, "microservice_labels" : [ { "label_name" : "cluster_id", "label_value" : "c429700c-5dc4-482a-9c0e-99f6c0635113" } ] } ], "members" : [ { "host" : "192.168.0.5", "weight" : 1, "member_group_name" : "test" }, { "host" : "192.168.1.124", "weight" : 2, "member_group_name" : "default" } ], "microservice_info" : { "service_type" : "CCE", "cce_info" : { "cluster_id" : "ab1485b4f91b45abbcd560be591f7309", "namespace" : "default", "workload_type" : "deployment", "app_name" : "testapp" } } }
共100000条