修改API - UpdateApiV2
功能介绍
修改指定API的信息,包括后端服务信息。
调用方法
请参见如何调用API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
apig:api:update
Write
instance *
g:ResourceTag/<tag-key>
- apig:apis:update
- apig:instance:get
- apig:apiGroup:get
- apig:loadBalanceChannel:get
- apig:customAuthorizer:get
- functiongraph:function:getFunctionConfig
URI
PUT /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id}
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 项目ID,获取方式请参见获取项目ID。 |
instance_id | 是 | String | 实例ID,在API网关控制台的“实例信息”中获取。 |
api_id | 是 | String | API的编号 |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
X-Auth-Token | 是 | String | 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | API名称。 支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、汉字和数字开头,3-255个字符。 说明: 中文字符必须为UTF-8或者unicode编码。 |
type | 是 | Integer | API类型
|
version | 否 | String | API的版本 最大长度:16 |
req_protocol | 是 | String | API的请求协议
缺省值:HTTPS |
req_method | 是 | String | API的请求方式,当API的请求协议为GRPC类型协议时请求方式固定为POST。 |
req_uri | 是 | String | 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512,且满足URI规范。 说明: 需要服从URI规范。 |
auth_type | 是 | String | API的认证方式
|
auth_opt | 否 | AuthOpt object | 认证方式参数 |
cors | 否 | Boolean | 是否支持跨域
缺省值:false |
trace_enabled | 否 | Boolean | 是否开启链路追踪,默认关闭。 缺省值:false |
sampling_strategy | 否 | String | 采样策略,当选择开启链路追踪时,此字段必填。
|
sampling_param | 否 | String | 采样参数。
缺省值:100 最小长度:1 最大长度:64 |
match_mode | 否 | String | API的匹配方式
默认:NORMAL |
backend_type | 是 | String | 后端类型
|
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编码。 应用场景:
缺省值: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策略后端列表 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
app_code_auth_type | 否 | String | AppCode简易认证类型,仅在auth_type为APP时生效,默认为DISABLE:
缺省值:DISABLE |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
remark | 否 | String | 描述信息。长度不超过255个字符 说明: 中文字符必须为UTF-8或者unicode编码。 |
result_content | 否 | String | 返回结果 |
version | 否 | String | 版本。字符长度不超过64 |
authorizer_id | 否 | String | 后端自定义认证ID |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
function_urn | 是 | String | 函数URN |
remark | 否 | String | 描述信息。长度不超过255个字符 说明: 中文字符必须为UTF-8或者unicode编码。 |
invocation_type | 是 | String | 调用类型
|
network_type | 是 | String | 对接函数的网络架构类型
|
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 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 参数名称。 长度为1 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线、英文句号组成,且只能以英文开头。 |
type | 是 | String | 参数类型。
|
location | 是 | String | 参数位置 |
default_value | 否 | String | 参数默认值 |
sample_value | 否 | String | 参数示例值 |
required | 否 | Integer | 是否必须
location为PATH时,required默认为1,其他场景required默认为2 |
valid_enable | 否 | Integer | 是否开启校验
缺省值: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 | 是否透传
|
orchestrations | 否 | Array of strings | 请求参数匹配编排规则的生效优先级与列表顺序保持一致,列表中靠前的配置匹配优先级较高; 如果编排规则列表中包含none_value类型的规则,则none_value类型的规则优先级最高,至多绑定一个none_value类型的规则; 如果编排规则列表中包含default类型的规则,则default类型的规则优先级最低,至多绑定一个default类型的规则; 当编排规则为预处理策略时,该规则不能作为除default以外的最后一个编排规则; 每个API仅允许选择一个参数绑定编排规则,且编排规则不能重复,支持绑定的编排规则数量有配额限制,具体请参见产品介绍的“约束与限制”章节。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
result_content | 否 | String | 返回结果 |
effect_mode | 是 | String | 关联的策略组合模式:
|
name | 是 | String | 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。 最小长度:3 最大长度:64 |
backend_params | 否 | Array of BackendParamBase objects | 后端参数列表,后端类型为GRPC时不支持配置 |
conditions | 是 | Array of ApiConditionBase objects | 策略条件列表 |
authorizer_id | 否 | String | 后端自定义认证对象的ID |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
function_urn | 是 | String | 函数URN |
invocation_type | 是 | String | 调用类型
|
network_type | 是 | String | 对接函数的网络架构类型
|
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 | 关联的策略组合模式:
|
name | 是 | String | 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。 最小长度:3 最大长度:64 |
backend_params | 否 | Array of BackendParamBase objects | 后端参数列表,后端类型为GRPC时不支持配置 |
conditions | 是 | Array of ApiConditionBase objects | 策略条件列表 |
authorizer_id | 否 | String | 后端自定义认证对象的ID |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
authorizer_id | 否 | String | 后端自定义认证对象的ID |
url_domain | 否 | String | 后端服务的地址。后端服务不使用VPC通道时,参数必选 由主机(IP或域名)和端口号组成,总长度不超过255。格式为主机:端口(如:apig.example.com:7443)。如果不写端口,则HTTPS默认端口号为443,HTTP默认端口号为80。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、下划线、中划线组成,且只能以英文开头 |
req_protocol | 否 | String | 请求协议,后端类型为GRPC&GRPCS时请求协议可选GRPC、GRPCS,当vpc_channel_status取值为1或者2时,该字段必填。 |
remark | 否 | String | 描述。字符长度不超过255 说明: 中文字符必须为UTF-8或者unicode编码。 |
req_method | 否 | String | 请求方式,后端类型为GRPC&GRPCS时请求方式固定为POST,当vpc_channel_status取值为1或者2时,该字段必填。 |
version | 否 | String | web后端版本,字符长度不超过16 |
req_uri | 否 | String | 请求地址,当vpc_channel_status取值为1或者2时,该字段必填。可以包含请求参数,用{}标识,比如/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系列商密算法的实例时支持开启。 |
member_group_url_infos | 否 | Array of MemberGroupUrlInfo objects | 后端服务器分组详细信息,当vpc_channel_status取值为4时,该字段必填。 |
vpc_channel_info | 否 | ApiBackendVpcReq object | VPC通道详情。vpc_channel_status =1,则这个object类型为必填信息 |
vpc_channel_status | 否 | Integer | 负载类型。
|
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
url_domain | 否 | String | 策略后端的Endpoint。 由域名(或IP地址)和端口号组成,总长度不超过255。格式为域名:端口(如:apig.example.com:7443)。如果不写端口,则HTTPS默认端口号为443, HTTP默认端口号为80。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、“_”、“-”组成,且只能以英文开头。 |
req_protocol | 否 | String | 请求协议:HTTP、HTTPS、GRPC、GRPCS,后端类型为GRPC&GRPCS时可选GRPC、GRPCS,当vpc_channel_status取值为1或者2时,该字段必填。 |
req_method | 否 | String | 请求方式:GET、POST、PUT、DELETE、HEAD、PATCH、OPTIONS、ANY,后端类型为GRPC&GRPCS时固定为POST,当vpc_channel_status取值为1或者2时,该字段必填。 |
req_uri | 否 | String | 请求地址,当vpc_channel_status取值为1或者2时,该字段必填。可以包含请求参数,用{}标识,比如/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系列商密算法的实例时支持开启。 |
member_group_url_infos | 否 | Array of MemberGroupUrlInfo objects | 后端服务器分组详细信息,当vpc_channel_status取值为4时,该字段必填。 |
effect_mode | 是 | String | 关联的策略组合模式:
|
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 | 负载类型。
|
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
member_group_id | 是 | String | 后端服务器分组ID。 最小长度:32 最大长度:36 |
req_protocol | 是 | String | 请求协议。 |
req_method | 是 | String | 请求方式。 |
req_uri | 是 | String | 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512字符,且满足URI规范。 支持环境变量,使用环境变量时,每个变量名的长度为3~32位的字符串,字符串由英文字母、数字、中划线、下划线组成,且只能以英文开头。 说明: 需要服从URI规范。 最小长度:1 最大长度:512 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
origin | 是 | String | 参数类别:
|
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.authorizer.frontend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.frontend.aaa 后端认证参数取值:以“$context.authorizer.backend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.backend.aaa |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
req_param_name | 否 | String | 关联的请求参数对象名称。策略类型为param时必选 |
sys_param_name | 否 | String | 系统参数-网关内置参数名称。策略类型为system时必选。支持以下参数
|
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 | 策略条件
策略类型为param,system,cookie,frontend_authorizer时必选 |
condition_origin | 是 | String | 策略类型
|
condition_value | 是 | String | 策略值。 最大长度:1024 |
mapped_param_name | 否 | String | 参数编排规则编排后生成的参数名称,当condition_origin为orchestration的时候必填,并且生成的参数名称必须在api绑定的编排规则中存在 |
mapped_param_location | 否 | String | 参数编排规则编排后生成的参数所在的位置,当condition_origin为orchestration的时候必填,并且生成的参数所在的位置必须在api绑定的编排规则中存在 |
响应参数
状态码:200
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | API名称。 支持汉字、英文、数字、中划线、下划线、点、斜杠、中英文格式下的小括号和冒号、中文格式下的顿号,且只能以英文、汉字和数字开头,3-255个字符。 说明: 中文字符必须为UTF-8或者unicode编码。 |
type | Integer | API类型
|
version | String | API的版本 最大长度:16 |
req_protocol | String | API的请求协议
缺省值:HTTPS |
req_method | String | API的请求方式,当API的请求协议为GRPC类型协议时请求方式固定为POST。 |
req_uri | String | 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512,且满足URI规范。 说明: 需要服从URI规范。 |
auth_type | String | API的认证方式
|
auth_opt | AuthOpt object | 认证方式参数 |
cors | Boolean | 是否支持跨域
缺省值:false |
trace_enabled | Boolean | 是否开启链路追踪,默认关闭。 缺省值:false |
sampling_strategy | String | 采样策略,当选择开启链路追踪时,此字段必填。
|
sampling_param | String | 采样参数。
缺省值:100 最小长度:1 最大长度:64 |
match_mode | String | API的匹配方式
默认:NORMAL |
backend_type | String | 后端类型
|
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编码。 应用场景:
缺省值:true |
id | String | API编号 |
status | Integer | API状态
|
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策略后端列表 |
参数 | 参数类型 | 描述 |
|---|---|---|
app_code_auth_type | String | AppCode简易认证类型,仅在auth_type为APP时生效,默认为DISABLE:
缺省值:DISABLE |
参数 | 参数类型 | 描述 |
|---|---|---|
authorizer_id | String | 后端自定义认证对象的ID |
url_domain | String | 后端服务的地址。后端服务不使用VPC通道时,参数必选 由主机(IP或域名)和端口号组成,总长度不超过255。格式为主机:端口(如:apig.example.com:7443)。如果不写端口,则HTTPS默认端口号为443,HTTP默认端口号为80。 支持环境变量,使用环境变量时,每个变量名的长度为3 ~ 32位的字符串,字符串由英文字母、数字、下划线、中划线组成,且只能以英文开头 |
req_protocol | String | 请求协议,后端类型为GRPC&GRPCS时请求协议可选GRPC、GRPCS,当vpc_channel_status取值为1或者2时,该字段必填。 |
remark | String | 描述。字符长度不超过255 说明: 中文字符必须为UTF-8或者unicode编码。 |
req_method | String | 请求方式,后端类型为GRPC&GRPCS时请求方式固定为POST,当vpc_channel_status取值为1或者2时,该字段必填。 |
version | String | web后端版本,字符长度不超过16 |
req_uri | String | 请求地址,当vpc_channel_status取值为1或者2时,该字段必填。可以包含请求参数,用{}标识,比如/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系列商密算法的实例时支持开启。 |
member_group_url_infos | Array of MemberGroupUrlInfo objects | 后端服务器分组详细信息,当vpc_channel_status取值为4时,该字段必填。 |
id | String | 编号 |
status | Integer | 后端状态
|
register_time | String | 注册时间 |
update_time | String | 修改时间 |
vpc_channel_info | VpcInfo object | VPC通道详情。如果vpc_channel_status =1,则这个object类型为必填信息 |
vpc_channel_status | Integer | 是否使用VPC通道
|
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 编号 |
name | String | API分组名称 |
status | Integer | 状态
|
sl_domain | String | 系统默认分配的子域名 |
register_time | String | 创建时间 |
update_time | String | 最近修改时间 |
on_sell_status | Integer | 是否已上架云商店:
|
url_domains | Array of UrlDomain objects | 分组上绑定的独立域名列表 |
sl_domain_access_enabled | Boolean | 调试域名是否可以访问,true表示可以访问,false表示禁止访问 缺省值:true |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 域名编号 |
domain | String | 访问域名 |
cname_status | Integer | 域名cname状态:
|
ssl_id | String | SSL证书编号。当绑定的证书有RSA类型时,该字段有值,且展示对应RSA证书的编号。 |
ssl_name | String | SSL证书名称。当绑定的证书有RSA类型时,该字段有值,且展示对应RSA证书的名称。 |
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。只有当域名绑定的所有证书都存在信任的根证书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证书列表。 |
参数 | 参数类型 | 描述 |
|---|---|---|
ssl_id | String | SSL证书编号。 |
ssl_name | String | SSL证书名称。 |
algorithm_type | String | 证书算法类型:
|
type | Integer | 证书可见范围:
缺省值:2 |
is_has_trusted_root_ca | Boolean | 是否存在信任的根证书CA。当绑定证书存在trusted_root_ca时为true。 缺省值:false |
参数 | 参数类型 | 描述 |
|---|---|---|
function_urn | String | 函数URN |
remark | String | 描述信息。长度不超过255个字符 说明: 中文字符必须为UTF-8或者unicode编码。 |
invocation_type | String | 调用类型
|
network_type | String | 对接函数的网络架构类型
|
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 | 后端状态
|
update_time | String | 修改时间 |
参数 | 参数类型 | 描述 |
|---|---|---|
remark | String | 描述信息。长度不超过255个字符 说明: 中文字符必须为UTF-8或者unicode编码。 |
result_content | String | 返回结果 |
version | String | 版本。字符长度不超过64 |
authorizer_id | String | 后端自定义认证ID |
id | String | 编号 |
register_time | String | 注册时间 |
status | Integer | 后端状态
|
update_time | String | 修改时间 |
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | 参数名称。 长度为1 ~ 32位的字符串,字符串由英文字母、数字、中划线、下划线、英文句号组成,且只能以英文开头。 |
type | String | 参数类型。
|
location | String | 参数位置 |
default_value | String | 参数默认值 |
sample_value | String | 参数示例值 |
required | Integer | 是否必须
location为PATH时,required默认为1,其他场景required默认为2 |
valid_enable | Integer | 是否开启校验
缺省值: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 | 是否透传
|
orchestrations | Array of strings | 请求参数匹配编排规则的生效优先级与列表顺序保持一致,列表中靠前的配置匹配优先级较高; 如果编排规则列表中包含none_value类型的规则,则none_value类型的规则优先级最高,至多绑定一个none_value类型的规则; 如果编排规则列表中包含default类型的规则,则default类型的规则优先级最低,至多绑定一个default类型的规则; 当编排规则为预处理策略时,该规则不能作为除default以外的最后一个编排规则; 每个API仅允许选择一个参数绑定编排规则,且编排规则不能重复,支持绑定的编排规则数量有配额限制,具体请参见产品介绍的“约束与限制”章节。 |
id | String | 参数编号 |
参数 | 参数类型 | 描述 |
|---|---|---|
function_urn | String | 函数URN |
invocation_type | String | 调用类型
|
network_type | String | 对接函数的网络架构类型
|
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 | 关联的策略组合模式:
|
name | String | 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。 最小长度:3 最大长度:64 |
backend_params | Array of BackendParam objects | 后端参数列表 |
conditions | Array of CoditionResp objects | 策略条件列表 |
authorizer_id | String | 后端自定义认证对象的ID |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 编号 |
effect_mode | String | 关联的策略组合模式:
|
name | String | 策略后端名称。字符串由中文、英文字母、数字、下划线组成,且只能以中文或英文开头。 最小长度:3 最大长度:64 |
backend_params | Array of BackendParam objects | 后端参数列表 |
conditions | Array of CoditionResp objects | 策略条件列表 |
authorizer_id | String | 后端自定义认证对象的ID |
result_content | String | 返回结果 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 编号 |
effect_mode | String | 关联的策略组合模式:
|
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&GRPCS时可选GRPC、GRPCS,当vpc_channel_status取值为1或者2时,该字段必填。 |
req_method | String | 请求方式:GET、POST、PUT、DELETE、HEAD、PATCH、OPTIONS、ANY,后端类型为GRPC&GRPCS时固定为POST,当vpc_channel_status取值为1或者2时,该字段必填。 |
req_uri | String | 请求地址,当vpc_channel_status取值为1或者2时,该字段必填。可以包含请求参数,用{}标识,比如/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系列商密算法的实例时支持开启。 |
member_group_url_infos | Array of MemberGroupUrlInfo objects | 后端服务器分组详细信息,当vpc_channel_status取值为4时,该字段必填。 |
vpc_channel_info | VpcInfo object | VPC通道详情。如果vpc_channel_status =1,则这个object类型为必填信息 |
vpc_channel_status | Integer | 负载类型。
|
参数 | 参数类型 | 描述 |
|---|---|---|
origin | String | 参数类别:
|
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.authorizer.frontend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.frontend.aaa 后端认证参数取值:以“$context.authorizer.backend.”为前缀,如希望自定义认证校验通过返回的参数为aaa,那么此字段填写为$context.authorizer.backend.aaa |
id | String | 参数编号 |
req_param_id | String | 对应的请求参数编号 |
参数 | 参数类型 | 描述 |
|---|---|---|
req_param_name | String | 关联的请求参数对象名称。策略类型为param时必选 |
sys_param_name | String | 系统参数-网关内置参数名称。策略类型为system时必选。支持以下参数
|
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 | 策略条件
策略类型为param,system,cookie,frontend_authorizer时必选 |
condition_origin | String | 策略类型
|
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 | 关联的请求参数对象位置 |
参数 | 参数类型 | 描述 |
|---|---|---|
member_group_id | String | 后端服务器分组ID。 最小长度:32 最大长度:36 |
req_protocol | String | 请求协议。 |
req_method | String | 请求方式。 |
req_uri | String | 请求地址。可以包含请求参数,用{}标识,比如/getUserInfo/{userId},支持 * / %- _ . 等特殊字符,总长度不超过512字符,且满足URI规范。 支持环境变量,使用环境变量时,每个变量名的长度为3~32位的字符串,字符串由英文字母、数字、中划线、下划线组成,且只能以英文开头。 说明: 需要服从URI规范。 最小长度:1 最大长度:512 |
参数 | 参数类型 | 描述 |
|---|---|---|
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
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码:401
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码:403
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码:404
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
状态码:500
参数 | 参数类型 | 描述 |
|---|---|---|
error_code | String | 错误码 |
error_msg | String | 错误描述 |
请求示例
修改一个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,
"trace_enabled" : true,
"sampling_strategy" : "RATE",
"sampling_param" : "10",
"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
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,
"trace_enabled" : true,
"sampling_strategy" : "RATE",
"sampling_param" : "10",
"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"
} 状态码
状态码 | 描述 |
|---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
500 | Internal Server Error |
错误码
请参见错误码。

