华为云用户手册

  • URI GET /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的编号
  • 响应示例 状态码: 201 Created 示例 1 { "id" : "5f918d104dc84480a75166ba99efff21", "tags" : [ "webApi" ], "arrange_necessary" : 2, "backend_type" : "HTTP", "auth_type" : "AUTHORIZER", "auth_opt" : { "app_code_auth_type" : "DISABLE" }, "authorizer_id" : "0d982c1ac3da493dae47627b6439fc5c", "backend_api" : { "update_time" : "2020-07-31T12:42:51.325312994Z", "vpc_channel_status" : 2, "url_domain" : "xxx.xxx.xxx.xxx:12346", "req_protocol" : "HTTP", "id" : "1ce8fda3586d4371bd83c955df37e102", "req_method" : "GET", "register_time" : "2020-07-31T12:42:51.325312721Z", "req_uri" : "/benchmark", "timeout" : 5000, "status" : 1, "retry_count" : "-1" }, "cors" : false, "status" : 1, "group_name" : "api_group_001", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_version" : "V1", "response_id" : "981e6c8f847f47199a9faf4409b751a5", "match_mode" : "NORMAL", "name" : "Api_http", "req_protocol" : "HTTPS", "req_method" : "GET", "req_uri" : "/test/http", "type" : 1, "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "version" : "V0.0.1", "register_time" : "2020-07-31T12:42:51.314357035Z", "update_time" : "2020-07-31T12:42:51.314357324Z", "remark" : "Web backend API", "req_params" : [ { "name" : "query_demo", "location" : "QUERY", "type" : "STRING", "valid_enable" : 2, "required" : 1, "id" : "57c8bf3c97ef40ee94eace95dff30014", "pass_through" : 1 }, { "name" : "header-demo", "location" : "HEADER", "type" : "STRING", "valid_enable" : 2, "required" : 2, "id" : "8d993be96980415faa6b1fb2ebd647e0", "pass_through" : 1 } ], "backend_params" : [ { "name" : "backHeader", "value" : "header-demo", "location" : "HEADER", "origin" : "REQUEST", "id" : "709f0ea376b44aaf907aaaa37d8cce92", "req_param_id" : "8d993be96980415faa6b1fb2ebd647e0" }, { "name" : "backQuery", "value" : "query_demo", "location" : "QUERY", "origin" : "REQUEST", "id" : "2f152d0fb54445039158d29c2a4f69ee", "req_param_id" : "57c8bf3c97ef40ee94eace95dff30014" }, { "name" : "X-CONSTANT-HEADER", "value" : "demo", "location" : "HEADER", "origin" : "CONSTANT", "remark" : "constant_demo", "id" : "20142102c6aa4f3c97d5fd6ef4010ac2" }, { "name" : "app-id", "value" : "$context.appId", "location" : "HEADER", "origin" : "SYSTEM", "remark" : "App ID of the API caller", "id" : "a1349c61016e4d999ca783a50bfeee2b" } ] } 示例 2 { "id" : "8789c9367rd1439rf869c23cc0d1ef22", "tags" : [ "grpcApi" ], "arrange_necessary" : 2, "backend_type" : "GRPC", "auth_type" : "APP", "auth_opt" : { "app_code_auth_type" : "DISABLE" }, "backend_api" : { "update_time" : "2023-08-29T09:05:17.652404554Z", "vpc_channel_status" : 1, "vpc_channel_info" : { "cascade_flag" : false, "vpc_channel_id" : "abcd1234512345678aab9a2614a197ef4", "vpc_channel_port" : 0 }, "url_domain" : "abcd1234512345678aab9a2614a197ef4", "req_protocol" : "GRP CS ", "id" : "c0123456789d421cb83a396955bd48d0", "req_method" : "POST", "register_time" : "2023-08-29T09:05:17.652404454Z", "req_uri" : "/", "timeout" : 5000, "enable_client_ssl" : false, "retry_count" : "-1", "status" : 1 }, "cors" : false, "status" : 1, "group_name" : "api_group_001", "group_id" : "12345abc9215b40bd84f4c469d56daebe", "group_version" : "V1", "response_id" : "ef21ec8c7df94d72a44f9rf1461c5f62", "match_mode" : "NORMAL", "name" : "Api_grpc", "req_protocol" : "GRPCS", "req_method" : "POST", "req_uri" : "/test/grpc", "type" : 1, "version" : "V0.0.1", "register_time" : "2023-08-29T09:05:17.647533939Z", "update_time" : "2023-08-29T09:05:17.647534036Z", "remark" : "GRPC backend API", "api_group_info" : { "id" : "12345abc9215b40bd84f4c469d56daebe", "name" : "api_group_001", "status" : 1, "sl_domain" : "12345abc9215b40bd84f4c469d56daebe.apic.region-1.example.com", "register_time" : "2023-08-29T08:38:21Z", "update_time" : "2023-08-29T08:38:21Z", "on_sell_status" : 2, "sl_domain_access_enabled" : true } } 示例 3 { "id" : "abd9c4b2ff974888b0ba79be7e6b2763", "arrange_necessary" : 2, "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_name" : "api_group_001", "group_version" : "V1", "match_mode" : "NORMAL", "name" : "Api_function", "auth_type" : "APP", "auth_opt" : { "auth_code_auth_type" : "DISABLE" }, "backend_type" : "FUNCTION", "func_info" : { "id" : "c0740524cd4c40e3801a7afe5375f8b0", "authorizer_id" : "5b8cd3f06f004115aec69c58f57272c9", "function_urn" : "'urn:fss:xx-xxx-7:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749'", "invocation_type" : "sync", "network_type" : "V1", "timeout" : 5000, "version" : "latest", "alias_urn" : "urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc00000:!a1", "register_time" : "2020-08-02T15:36:19.897262803Z", "update_time" : "2020-08-02T15:36:19.897262993Z", "status" : 1 }, "cors" : false, "req_protocol" : "HTTPS", "req_uri" : "/test/function", "remark" : "FunctionGraph backend API", "type" : 1, "version" : "V0.0.1", "status" : 1, "req_method" : "GET", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "tags" : [ "functionApi" ], "register_time" : "2020-08-02T15:36:19.892012381Z", "update_time" : "2020-08-02T15:36:19.892012627Z" } 示例 4 { "id" : "3a955b791bd24b1c9cd94c745f8d1aad", "arrange_necessary" : 2, "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "group_name" : "api_group_001", "group_version" : "V1", "match_mode" : "SWA", "name" : "Api_mock", "auth_type" : " IAM ", "auth_opt" : { "auth_code_auth_type" : "DISABLE" }, "backend_type" : "MOCK", "mock_info" : { "id" : "e74bbc75825c4c38ae84ccab6bdc6175", "result_content" : "mock success", "update_time" : "2020-08-02T15:56:52.301790686Z", "register_time" : "2020-08-02T15:56:52.301790367Z" }, "policy_mocks" : [ { "name" : "Mock policy backend", "id" : "1cb05173a4c84b7d996e30145cce3c7d", "effect_mode" : "ANY", "result_content" : "mock policy success", "conditions" : [ { "condition_origin" : "source", "condition_value" : "1.0.1.0", "id" : "8650b3a94e7344df8251658d8aee1f6d" } ] } ], "cors" : false, "req_protocol" : "HTTPS", "req_uri" : "/test/mock", "remark" : "Mock backend API", "type" : 1, "version" : "V0.0.1", "req_method" : "GET", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "tags" : [ "mockApi" ], "register_time" : "2020-08-02T15:56:52.286099413Z", "update_time" : "2020-08-02T15:56:52.286099715Z", "status" : 1 } 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3019", "error_msg" : "The function URN does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 请求示例 创建Web后端API { "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "NORMAL", "name" : "Api_http", "auth_type" : "AUTHORIZER", "authorizer_id" : "0d982c1ac3da493dae47627b6439fc5c", "backend_type" : "HTTP", "backend_api" : { "url_domain" : "192.168.189.156:12346", "req_protocol" : "HTTP", "req_method" : "GET", "req_uri" : "/test/benchmark", "timeout" : 5000, "retry_count" : "-1" }, "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", "tags" : [ "webApi" ], "req_params" : [ { "name" : "query_demo", "location" : "QUERY", "type" : "STRING", "required" : 1 }, { "name" : "header-demo", "location" : "HEADER", "type" : "STRING", "required" : 2 } ], "backend_params" : [ { "name" : "backHeader", "value" : "header-demo", "location" : "HEADER", "origin" : "REQUEST" }, { "name" : "backQuery", "value" : "query_demo", "location" : "QUERY", "origin" : "REQUEST" }, { "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" } ] } 创建GRPC后端API { "group_id" : "12345abc9215b40bd84f4c469d56daebe", "match_mode" : "NORMAL", "name" : "Api_grpc", "auth_type" : "APP", "backend_type" : "GRPC", "backend_api" : { "req_protocol" : "GRPCS", "req_method" : "POST", "req_uri" : "/", "timeout" : 5000, "retry_count" : "-1", "enable_client_ssl" : false, "vpc_channel_status" : 1, "vpc_channel_info" : { "vpc_channel_id" : "abcd1234512345678aab9a2614a197ef4" } }, "req_protocol" : "GRPCS", "req_uri" : "/test/grpc", "remark" : "GRPC backend API", "type" : 1, "req_method" : "POST", "tags" : [ "grpcApi" ], "cors" : false, "auth_opt" : { "app_code_auth_type" : "DISABLE" } } 创建 函数工作流 后端API { "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "NORMAL", "name" : "Api_function", "auth_type" : "APP", "backend_type" : "FUNCTION", "func_info" : { "authorizer_id" : "5b8cd3f06f004115aec69c58f57272c9", "function_urn" : "'urn:fss:xx-xxx-7:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749'", "invocation_type" : "sync", "network_type" : "V1", "timeout" : 5000, "version" : "latest", "alias_urn" : "urn:fss:region01:73d69ae0cfcf460190522d06b60f05ad:function:default:auto_testfunc93749:!a1" }, "req_protocol" : "HTTPS", "req_uri" : "/test/function", "remark" : "FunctionGraph backend API", "type" : 1, "req_method" : "GET", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "tags" : [ "functionApi" ] } 创建模拟后端API { "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "match_mode" : "SWA", "name" : "Api_mock", "auth_type" : "IAM", "backend_type" : "MOCK", "mock_info" : { "result_content" : "mock success" }, "policy_mocks" : [ { "name" : "Mock policy backend", "effect_mode" : "ANY", "result_content" : "mock policy success", "conditions" : [ { "condition_origin" : "source", "condition_value" : "1.0.1.0" } ] } ], "req_protocol" : "HTTPS", "req_uri" : "/test/mock", "remark" : "Mock backend API", "type" : 1, "req_method" : "GET", "result_normal_sample" : "Example success response", "result_failure_sample" : "Example failure response", "tags" : [ "mockApi" ] }
  • 响应参数 状态码: 201 表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 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 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 后端服务的地址。后端服务不使用VPC通道时,参数必选 由主机(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。后端服务不使用VPC通道时,参数必选 由域名(或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通道编号
  • 步骤四:验证网络通信情况 验证远程登录,使用本地PC远程登录ECS-A01。 弹性云服务器有多种登录方法,具体请参见登录弹性云服务器。 执行以下命令,验证ECS-A01和公网的通信情况。 ping IPv4公网IP地址或者域名 命令示例: ping support.huaweicloud.com 回显类似如下信息,表示ECS-A01可以访问公网。 [root@ecs-a01 ~]# ping support.huaweicloud.com PING hcdnw.cbg-notzj.c.cdnhwc2.com (203.193.226.103) 56(84) bytes of data. 64 bytes from 203.193.226.103 (203.193.226.103): icmp_seq=1 ttl=51 time=2.17 ms 64 bytes from 203.193.226.103 (203.193.226.103): icmp_seq=2 ttl=51 time=2.13 ms 64 bytes from 203.193.226.103 (203.193.226.103): icmp_seq=3 ttl=51 time=2.10 ms 64 bytes from 203.193.226.103 (203.193.226.103): icmp_seq=4 ttl=51 time=2.09 ms ... --- hcdnw.cbg-notzj.c.cdnhwc2.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 2.092/2.119/2.165/0.063 ms
  • 步骤三:购买EIP并绑定至ECS 进入购买弹性公网IP页面。 在“购买弹性公网IP”页面,根据界面提示配置弹性公网IP参数。 请您按需选择EIP的配置参数,具体可请参见购买弹性公网IP。 参数设置完成后,单击“立即购买”。 返回EIP列表页面,可以查看到已创建的EIP-A。 在EIP列表中,单击EIP-A所在行的操作列下的“绑定”。 弹出“绑定弹性公网IP”对话框。 图8 绑定弹性公网IP 在对话框中,选择ECS-A01,并单击“确定”,将EIP-A绑定至ECS-A01。 返回EIP列表中,在“已绑定实例”列下,可查看到已绑定的ECS-A01。 图9 已绑定ECS-A
  • 操作流程 操作步骤 说明 准备工作 使用云服务前,您需要 注册华为账号 并开通华为云、完成实名认证、为账户充值。 步骤一:创建VPC和子网 创建一个IPv4网段的VPC,并从VPC中划分一个子网。 VPC IPv4网段:192.168.0.0/16 子网IPv4网段:192.168.0.0/24 步骤二:购买ECS 基于已有的VPC和子网,购买一个ECS,并配置安全组等参数。 步骤三:购买EIP并绑定至ECS 为ECS绑定一个EIP,ECS可以通过EIP访问公网。 步骤四:验证网络通信情况 验证ECS的通信情况: 通过客户的本地PC可以登录ECS。 通过ECS可以访问公网。
  • 准备工作 在创建VPC和ECS等资源之前,请先注册华为账号并开通华为云、完成实名认证、为账户充值。请保证账户有足够的资金,以免创建资源失败。 注册华为账号并开通华为云,完成实名认证。 如果您已有一个华为账号,请跳到下一个任务。如果您还没有华为账号,请执行以下操作。 注册华为账号并开通华为云。 参考实名认证,完成个人或企业账号实名认证。 为账户充值。 您需要确保账户有足够金额,充值方式请参见账户充值。
  • 步骤二:购买ECS 进入购买弹性云服务器页面。 在“购买弹性云服务器”页面,根据界面提示配置弹性云服务器参数。 本示例中,ECS的网络配置详情如下: 网络:选择已创建的虚拟私有云和子网,VPC-A和Subnet-A01。 图4 网络 安全组:新建一个安全组Sg-A,并添加入方向和出方向规则。您在创建安全组的时候,系统会自动添加部分规则,您需要根据实际情况进行检查修改,确保表3中的规则均已正确添加。 图5 安全组入方向 图6 安全组出方向 表3 安全组Sg-A规则说明 方向 策略 类型 协议端口 源地址/目的地址 描述 入方向 允许 IPv4 TCP: 22 源地址:10.1.0.7/32 放通安全组内ECS的SSH(22)端口,用于通过本地PC (10.1.0.7/32)远程登录Linux ECS。 入方向 允许 IPv4 TCP: 3389 源地址:10.1.0.7/32 放通安全组内ECS的RDP(3389)端口,用于通过本地PC (10.1.0.7/32)远程登录Windows ECS。 入方向 允许 IPv4 ICMP: 全部 源地址:0.0.0.0/0 放通安全组内ECS的ICMP(全部)端口,用于外部通过ping命令测试ECS的网络连通性。 入方向 允许 IPv4 全部 源地址:当前安全组Sg-A 用于安全组内ECS之间网络互通。 出方向 允许 IPv4 全部 目的地址:0.0.0.0/0 用于安全组内ECS访问外部,允许流量从安全组内ECS流出。 弹性公网IP:选择“暂不购买”。 图7 弹性公网IP ECS的其他配置请您按需选择,具体可请参见自定义购买ECS。 参数设置完成后,单击“立即购买”。 返回ECS列表页面,可以查看到已创建的ECS-A01。
  • 操作步骤 在弹性公网IP列表页,按标签的键或值搜索目标弹性公网IP地址。 进入EIP列表页面。 在弹性公网IP列表上方的搜索框中,单击框中任意位置,设置搜索条件。 在“属性类型”列表中,根据需要的标签选择对应的键和值。系统会根据您设置的标签搜索条件筛选对应的资源。 单击搜索框中任意位置,添加下一个标签键和值。 系统支持添加多个标签,并取各个标签筛选结果的交集,对目标弹性公网IP进行搜索。 在弹性公网IP地址的标签页,执行标签的增、删、改、查操作。 进入EIP列表页面。 在弹性公网IP列表中,单击待管理标签的弹性公网IP地址名称。 在弹性公网IP详情页面,选择“标签”页签,对弹性公网IP的标签执行增、删、改、查。 查看 在“标签”页,可以查看当前弹性公网IP地址的标签详情,包括标签个数,以及每个标签的键和值。 添加 单击左上角的“添加标签”,在弹出的“添加标签”窗口,输入新添加标签的键和值,并单击“确定”。 修改 单击标签所在行“操作”列下的“编辑”,在弹出的“编辑标签”窗口,输入修改后标签的值,并单击“确定”。 标签键不支持修改。 删除 单击标签所在行“操作”列下的“删除”,如果确认删除,在弹出的确认窗口中单击“是”。
  • 操作场景 为弹性公网IP地址添加标签,可以方便用户识别和管理拥有的弹性公网IP地址。您可以在申请弹性公网IP地址时增加标签,或者在已经创建的弹性公网IP地址详情页添加标签,最多可以给弹性公网IP地址添加20个标签。 如您的组织已经设定弹性公网IP的相关标签策略,则需按照标签策略规则为弹性公网IP添加标签。标签如果不符合标签策略的规则,则可能会导致弹性公网IP创建失败,或已有弹性公网IP打标签失败,请联系组织管理员了解标签策略详情。 当前Organizations服务正在公测中,使用组织合规规则功能需先申请Organizations服务公测。
  • 操作步骤 进入购买全域弹性公网IP页面。 根据界面提示,配置全域弹性公网IP的基本信息,如表1所示。 表1 参数说明 参数名称 参数说明 取值样例 区域 必选参数。 全域弹性公网IP的区域需要和全域公网带宽的区域保持一致,才可以将该全域弹性公网IP添加到全域公网带宽内。 区域参见如何选择区域。 华东-上海一 接入城域 必选参数。 全域弹性公网IP的接入城域需要和全域公网带宽的接入城域保持一致,才可以将该全域弹性公网IP添加到全域公网带宽内。 上海城域 类型 选择公网IP或者公网IP段。 公网IP 协议类型 选择IPv4或者IPv6。 IPv4 线路 必选参数。 全域弹性公网IP默认支持动态BGP线路。 选择某个IP地址资源池,系统将会为您在资源池中分配IP地址,请您选择靠近您业务的资源池,时延更小。 - 掩码长度 类型选择公网IP段时,该项可见。增加掩码长度字段,首先需要调用下面的接口获取所有可用掩码范围: GET /v3/{domain_id}/global-eip-segments/support-masks 如果接口报错,采用默认值:IPv4取值范围:[24,28];IPv6取值范围48|56|64|96。 24 全域公网带宽 必选参数。 新创建:当您需要购买新的全域公网带宽,可以选择此处。 选择已有:当您需要通过该全域公网IP访问互联网时,需要在此处选择已有的全域公网带宽,将该IP加入到带宽中。 - 计费模式 默认按需计费。 按需计费 带宽类型 默认标准带宽。 标准带宽 计费方式 按需计费方式包含如下: 按传统型95计费 按传统型95计费 保底百分比 根据用户已选择的计费方式,自动生成保底百分比配置参数。 0% 带宽大小 带宽大小,单位Mbit/s。 300 全域弹性公网IP名称 可选参数。 输入全域弹性公网IP的名称。要求如下: 长度范围为0~64位。 名称由中文、英文字母、数字、下划线(_)、中划线(-)、点(.)组成。 geip-test 企业项目 购买全域弹性公网IP时,可以将全域弹性公网IP加入已启用的企业项目。 企业项目管理提供了一种按企业项目管理云资源的方式,帮助您实现以企业项目为基本单元的资源及人员的统一管理,默认项目为default。 关于创建和管理企业项目的详情,请参见《企业管理用户指南》。 default 高级配置 单击下拉箭头,可配置全域弹性公网IP的高级参数,包括带宽名称、标签等。 默认配置 带宽名称 可选参数。 输入全域公网带宽的名称。要求如下: 长度范围为0~64位。 名称由中文、英文字母、数字、下划线(_)、中划线(-)、点(.)组成。 ibw-test 标签 全域弹性公网IP的标识,包括键和值。 标签的命名规则请参考表2。 键:geip_1 值:184.100.101.102 监控 系统免费为您的全域弹性公网IP提供监控,通过 云监控服务 ,可以监控以下指标: 分钟级粒度的流量监控。 监控带宽流量波动、出入网带宽速率等指标详情。 - 全域弹性公网IP数量 类型选择公网IP时,该项可见。本次需要创建全域弹性公网IP的数量。 3 表2 全域弹性公网IP标签命名规则 参数 规则 样例 键 不能为空。 对于同一全域公网带宽键值唯一。 长度不超过36个字符。 由英文字母、数字、下划线、中划线、中文字符组成。 geip_1 值 长度不超过43个字符。 由英文字母、数字、下划线、点、中划线、中文字符组成。 184.100.101.102 基本信息设置完成后,单击“立即创建”。 在产品配置信息确认页面,再次核对全域弹性公网IP的信息,阅读并勾选“弹性公网IP服务声明”。确认无误后,单击“提交”。 返回全域弹性公网IP列表页面。 在全域弹性公网IP列表页面,查看全域弹性公网IP状态。 当全域弹性公网IP状态为“未绑定”时,表示创建成功。
  • 操作步骤 进入全域弹性公网IP列表页面。 在全域弹性公网IP列表中,通过搜索或者直接查找,找到目标全域弹性公网IP。 在目标全域弹性公网IP所在行的“配置流程”列下,单击“绑定实例”。 进入“绑定实例”页面。 根据界面提示,选择待绑定实例所在的区域。 全域弹性公网IP可以绑定至任意区域的实例,请您根据业务需要选择实例所在的区域。 选择待绑定的实例类型,在实例列表中勾选对应的实例。 选择待绑定的全域互联网网关。 系统会自动匹配到实例所在虚拟私有云的全域互联网网关。 单击“下一步”,进入“关联全域互联带宽”界面。 根据界面提示,设置“全域互联带宽”、“带宽名称”、“带宽大小”。 单击“完成”。 返回全域弹性公网IP列表,可以看到全域弹性公网IP已绑定的实例。
  • 修改一站式接入物理连接 操作场景 用户开通一站式接入物理连接后,可以修改已开通物理连接的带宽。 操作流程 操作步骤 提交需求信息。 登录控制台,选择并进入云专线服务。 在物理连接列表中,单击目标物理连接操作列的“变更规格”。 根据需要选择带宽信息。 物理连接当前不支持降配。 单击“提交需求”。 变更工勘。 华为云评估该变更需求的可行性以及预计工期,和用户确认满足需求后,回填对应产品信息后将订单返回给用户。 确认配置支付订单。 在物理连接页面,单击目标物理连接操作列的“确认配置”。 在确认配置页面,确认物理连接变更信息,单击“立即支付”。 用户在支付前须阅读并接受《一站式接入服务声明》,并在确认配置页面中勾选。 变更施工。 变更施工预计需要20个工作日,变更上线时物理连接可能会中断,需要用户确认变更上线的时间窗口。 确认。 在物理连接页面,单击目标物理连接操作列的“确认施工完成”。
  • 操作场景 当物理连接创建成功后,您可以查看已添加的标签,还可以添加、编辑以及删除标签。 标签是物理连接的标识,包括键和值。可以为物理连接创建20个标签。 如果已经通过TMS的预定义标签功能预先创建了标签,则可以直接选择对应的标签键和值。 预定义标签的详细内容,请参见预定义标签简介。 如您的组织已经设定云专线服务的相关标签策略,则需按照标签策略规则为物理连接添加标签。标签如果不符合标签策略的规则,则可能会导致物理连接创建失败,请联系组织管理员了解标签策略详情。
  • 应用场景 云下用户数据中心和云上不同区域的VPC互通 全域接入网关与中心网络下的不同区域的企业路由器通过华为云骨干网络搭建连接,降低时延,简化网络拓扑,降低网络管理难度,提升网络运维效率。 图1 全域接入网关与不同区域的VPC互通 如果用户需要通过关联中心网络实现跨区域VPC互通,需提交工单申请开通中心网络实例的使用权限。 云下用户数据中心和云上同区域的VPC互通 全域接入网关与同区域的企业路由器通过华为云骨干网络搭建连接,降低时延,简化网络拓扑,降低网络管理难度,提升网络运维效率。 图2 全域接入网关与同区域的VPC互通
  • 简介 全域接入网关(Global DC Gateways,DGW),为用户搭建IDC和云上多个Region VPC之间的专属连接通道,用户可用一条物理连接打通全球任意地域的云计算资源,实现IDC和全网算力、存储资源高速互访。 一个全域接入网关只能接入同一个接入点的物理连接,多个接入点专线接入时,需要创建多个全域接入网关。 全域接入网关功能目前已在各个区域陆续上线,具体上线区域请以管理控制台显示为准。
  • 操作场景 当全域接入网关创建成功后,您可以查看已添加的标签,还可以添加、编辑以及删除标签。 标签是全域接入网关的标识,包括键和值。可以为全域接入网关创建20个标签。 如果已经通过TMS的预定义标签功能预先创建了标签,则可以直接选择对应的标签键和值。 预定义标签的详细内容,请参见预定义标签简介。 如您的组织已经设定云专线服务的相关标签策略,则需按照标签策略规则为全域接入网关添加标签。标签如果不符合标签策略的规则,则可能会导致全域接入网关创建失败,请联系组织管理员了解标签策略详情。
  • 典型拓扑 用户侧网络通过单专线接入华北-北京四区域,在华北-北京四区域创建了VPC。 VPC创建请参考《虚拟私有云用户指南》。 本方案使用地址信息如下: 表1 地址信息 网络 网段 用户侧网络 10.1.123.0/24 专线互联地址 10.0.0.0/30 10.0.0.4/30 VPC地址段 VPC-001:192.168.0.0/16,VPC-002:172.16.0.0/16 图1 通过用户专线访问多个VPC
  • 方案概述 应用场景 用户因业务需求,需要使用两条物理专线负载冗余接入同区域的两个华为云专线接入点,并通过静态路由或BGP路由协议接入同一个VPC。 方案架构 用户侧网络通过双专线接入华北-北京四区域接入点“北京-亦庄-中金”和“廊坊-广阳-华为”,在华北-北京四区域创建了VPC。 VPC创建请参考《虚拟私有云用户指南》。 本方案使用地址信息如下: 表1 地址信息 网络 网段 用户侧网络 10.1.123.0/24 专线互联地址 10.0.0.0/30,10.0.0.4/30 VPC地址段 192.168.0.0/16 图1 双专线双接入点负载冗余方式访问VPC 方案优势 多云架构:多地接入,拓扑灵活,多云备份容灾。 安全可靠:专属网络通信,安全隔离,稳定可靠。 约束与限制 必须使用单模的1GE、10GE、40GE或100GE的光模块与华为云的接入设备对接。 必须禁用端口的自动协商功能,同时必须手动配置端口速率和全双工模式。 用户侧网络需端到端支持 802.1Q VLAN 封装。 选择BGP路由协议时,用户侧设备必须支持BGP,且不能使用64512(该AS号华为已使用)。
  • 资源成本与规划 本节介绍最佳实践中资源规划情况,包含以下内容: 表2 双专线双接入点负载冗余方式访问VPC资源和成本规划 区域 资源 资源说明 数量 费用 华北-北京四 VPC VPC子网:192.168.0.0/16 1 免费 物理连接 物理连接dc-connect1(北京-亦庄-中金)关联虚拟网关vgw-test和虚拟接口vif-test1。 虚拟网关vgw-test的本端子网:192.168.0.0/16 虚拟接口vif-test1的本端网关:10.0.0.1/30 虚拟接口vif-test1的远端网关:10.0.0.2/30 虚拟接口vif-test1的远端子网:10.1.123.0/24 2 详细请参见云专线产品价格详情 物理连接dc-connect2(廊坊-广阳-华为)关联虚拟网关vgw-test和虚拟接口vif-test2。 虚拟网关vgw-test的本端子网:192.168.0.0/16 虚拟接口vif-test2的本端网关:10.0.0.5/30 虚拟接口vif-test2的远端网关:10.0.0.6/30 虚拟接口vif-test2的远端子网:10.1.123.0/24
  • 资源成本与规划 本节介绍最佳实践中资源规划情况,包含以下内容: 表2 双专线双接入点主备冗余方式访问VPC资源和成本规划 区域 资源 资源说明 数量 费用 华北-北京四 VPC VPC子网:192.168.0.0/16 1 免费 物理连接 物理连接dc-connect1(北京-亦庄-中金)关联虚拟网关vgw-test和虚拟接口vif-test1。 虚拟网关vgw-test的本端子网:192.168.0.0/16 虚拟接口vif-test1的本端网关:10.0.0.1/30 虚拟接口vif-test1的远端网关:10.0.0.2/30 虚拟接口vif-test1的远端子网:10.1.123.0/24 2 详细请参见云专线产品价格详情 物理连接dc-connect2(廊坊-广阳-华为)关联虚拟网关vgw-test和虚拟接口vif-test2。 虚拟网关vgw-test的本端子网:192.168.0.0/16 虚拟接口vif-test2的本端网关:10.0.0.5/30 虚拟接口vif-test2的远端网关:10.0.0.6/30 虚拟接口vif-test2的远端子网:10.1.123.0/24
  • 方案概述 应用场景 用户因业务需求,需要使用两条物理专线主备冗余接入同区域的两个华为云专线接入点访问同一个VPC。 主备冗余接入建议使用BGP路由协议,出云主备链路可通过设置虚拟接口优先级实现,入云主备链路可以通过用户侧设置Local_Pref来实现。 方案架构 用户侧网络通过双专线接入华北-北京四区域接入点“北京-亦庄-中金”和“廊坊-广阳-华为”,在华北-北京四区域创建了VPC。 VPC创建请参考《虚拟私有云用户指南》。 本方案使用地址信息如下: 表1 地址信息 网络 网段 用户侧网络 10.1.123.0/24 专线互联地址 10.0.0.0/30,10.0.0.4/30 VPC地址段 192.168.0.0/16 图1 双专线双接入点主备冗余方式访问VPC 方案优势 多云架构:多地接入,拓扑灵活,多云备份容灾。 安全可靠:专属网络通信,安全隔离,稳定可靠。 约束与限制 必须使用单模的1GE、10GE、40GE或100GE的光模块与华为云的接入设备对接。 必须禁用端口的自动协商功能,同时必须手动配置端口速率和全双工模式。 用户侧网络需端到端支持 802.1Q VLAN 封装。 用户侧设备必须支持BGP,且不能使用64512(该AS号华为已使用)。
  • 运营商工勘 在确认接入点、获得接入点地址后,您就可以联系运营商咨询接入方案,并联系运营商进行工勘: 联系运营商咨询专线接入方案,要求接入华为云接入点。 获取华为云接入点详细的机房位置,请联系专线经理或提交工单咨询。 方案确认后,申请进入华为云机房入室工勘。 提交工单时需要提供入室工勘人员的姓名、身份证和联系方式。 华为机房工勘注意事项如下: 施工方仅需要向机房供应商申请进入到运营商的Meet-Me Room进行工勘,不需要进入华为机房包间进行工勘,因此,无需向华为申请入室工勘。 华为云审批通过后,会协助工勘人员在2个工作日完成入室。 联系专线运营商进行专线工勘,确认端到端的费用,费用包含: 向华为云支付的专线端口占用费、一次性接入费(暂不收取)。 运营商专线租用费。 楼内线租赁费。
  • 选择接入点 选择接入点需要考虑地域、运营商、端口等因素: 地域 在选择接入点时,首先应遵循就近接入原则,即选择离您本地数据中心最近的接入点。不同地域的接入点的机房运营商和接入带宽能力都不同。 运营商 根据业务需要,选择提供专线接入的运营商,一般包括中国联通、中国电信、中国移动和其他运营商。 端口 选择使用光口或电口。 光口,指运营商直接将传输网的光路给最终用户使用。光路的速率理论上无限大,只取决于互联两端接口的光模块协商速率,例如千兆、万兆、40G和100G。 电口,运营商在接入点机房通过光端机将传输网的光路转换为低带宽电路的RJ45接口给用户使用。行业标准就是百兆以下速率都会提供这个接口类型,所以低带宽适合选择电口。 华为云默认提供端口规格为1G和10G且传输距离为10公里的光模块,超过10公里的光模块或者购买端口规格为40G和100G端口均需自行购买光模块。 购买光口,请确保线路供应商提供光纤线路接入华为设备。 华为云不支持托管任何光电转换设备,请要求线路供应商接入华为设备时使用正确的线路类型。 华为云专线接入点信息请参考专线接入点,获取华为云接入点详细的机房位置,请联系专线经理或提交工单咨询。
  • 应对办法 您可以参考表1中的建议合理设置相关防护和提醒功能,以减少突发高带宽带来的风险。 表1 应对办法 应对办法 说明 配置访问控制 给域名配置访问控制功能(包括Referer防盗链、IP黑白名单、URL鉴权等),以避免产生不必要的流量带宽消耗。详细设置请参见访问控制。 配置CDN联动 CES 配置CDN联动CES功能,通过对接CES( 云监控 服务)实现实时查看账号下加速域名的基础数据(流量、带宽、状态码等)、设置告警等功能,当监控指标触发您设置的告警条件时,会以邮箱、短信等方式发送告警,方便您及时发现潜在的风险。 配置用量封顶 配置用量封顶功能,当用户的访问带宽达到设置的值后,CDN会停用您的加速域名,以免产生过高的账单。 配置请求限速 配置请求限速功能,当单个请求达到限速条件后终端用户的访问速度会被限制,一定程度上减少突发高带宽风险。 配置费用预警 开通费用预警功能,当账户可用额度低于一定金额时,系统会发送短信提醒。 为了确保统计数据的完整性和账单的准确性,CDN产品账单生成时间会存在延时,详见基础服务计费。因此实际计费时间晚于对应的CDN资源消耗时间,无法通过账单来实时反馈资源消费情况,这是由于CDN产品自身的分布式节点特性导致,也是业界通用的处理方法。
  • 方案优势 低成本 CDN加速 OBS桶文件后,资源缓存在CDN节点,用户请求无需回源,而CDN加速的费用较低,二者配合使用可以节约50%到57%的带宽成本,详见通过CDN减少OBS公网带宽费用。 OBS桶提供CDN回源流量包折扣方式,使CDN从OBS桶获取数据时流量费用更低,计费详情请见CDN加速OBS计费规则。 CDN加速OBS桶不支持走内网。 高效率 华为云CDN具有加速资源丰富、节点分布广泛优势,保证将用户请求精准调度至较优边缘节点,提供有效且稳定的加速效果。 自动刷新 通过OBS控制台为您的桶绑定加速域名后,支持自动刷新配置,您可以参考配置CDN自动刷新完成相关配置。
  • CDN加速OBS文件方案 华为云CDN可以有效加速网站,为用户提供良好的体验,而OBS桶提供海量文件存储。将数据存放在OBS桶中然后通过配置CDN加速,这样构造的业务系统可以在降低成本的同时,提高终端用户使用感受。当终端用户发起访问请求时,会首先通过CDN查找对此域名响应速度较快的CDN节点,并查询此节点是否有缓存终端用户请求的内容。如果CDN节点有缓存用户所需资源,直接将资源返回给用户;如果CDN节点无缓存,则回源请求资源返回给用户,同时将资源缓存到CDN节点。
  • KMS加密文件配置 CDN默认无法读取OBS桶中的加密文件,如果您的OBS桶存在此类文件,建议您慎重开启CDN加速,避免加密对象泄露。如果您因业务需求,需要加速OBS桶中的KMS加密文件,请注意: 如果您的OBS桶是公有桶,CDN将无法读取桶中的KMS加密文件,从而导致回源失败,用户无法访问到加密文件。 解决方案:将公有桶中的加密文件转移到私有桶中,再接入CDN加速。 如果您的OBS桶是私有桶,需要为“CDNAccessPrivateOBS”委托配置“KMS Administrator”权限。如此,CDN才能读取OBS私有桶中的KMS加密文件并加速,配置过程详见OBS委托授权。
共100000条