华为云用户手册

  • 示例 返回一个1列3行的表: VALUES 1, 2, 3 返回一个2列3行的表: VALUES (1, 'a'), (2, 'b'), (3, 'c') 返回具有列名id、name的表: SELECT * FROM (values (1, 'a'), (2, 'b'),(3, 'c')) AS t (id, name); 创建一个具有列名id、name的新表: CREATE TABLE example AS SELECT * FROM (VALUES (1, 'a'), (2, 'b'), (3, 'c')) AS t (id, name);
  • 描述 该语法是使用SELECT查询结果创建物化视图。物化视图是一个数据库对象,它包含了一个查询的结果,例如:它可以是远程数据的本地副本,单表查询或者多表join后查询的结果的行或列、行和列的子集,也可以是使用聚合函数的汇总表。 物化视图通常基于对数据表进行聚合和连接的查询结果创建。物化视图支持“查询重写”,这是一种优化技术,它将以原始表编写的用户查询转换为包括一个或多个物化视图的等效请求。 语法支持的属性包括: storage_table:指定存储表表名。 need_auto_refresh: 管理计算实例时,预先创建维护实例后,可通过设置need_auto_refresh为true,创建具备自动刷新能力的物化视图,它会自动创建并提交物化视图刷新任务,在此基础上,可对refresh_duration,start_refresh_ahead_of_expiry,refresh_priority等属性做进一步配置来调整自动刷新任务。 mv _validity:物化视图生命周期。0表示永久有效,最短为1分钟。need_auto_refresh设置为false时,mv _validity默认值为0;设置为true时,默认值为24小时。 refresh_duration:物化视图自动刷新任务的最长等待时间。默认为5分钟,取值范围为1分钟到24小时。如果自动刷新任务的等待时间超过设定的最长等待时间,自动化任务界面对应的任务状态显示为"timeout"。 start_refresh_ahead_of_expiry:基于mv _validity设置物化视图自动刷新任务的提交时间,表示达到物化生命周期的指定百分比时,提交自动刷新任务,默认值为0.2,最小值为0.05。 refresh_priority:物化视图提交自动刷新任务的优先级。默认值为3,最大值为3,1表示最高优先级。高优先级的任务会有更大机会先被执行。
  • Session信息 current_user 描述:返回当前用户。 select current_user; current_user() 参考current_user。 current_catalog 描述:返回当前的catalog名字。 select current_catalog; current_schema 描述:返回当前的schema名字。 select current_schema; 父主题: SQL函数和操作符
  • HTTP状态码 常用状态码表如表1所示。 表1 HTTP请求状态返回码 返回值 说明 200 OK 处理正常。 204 No Content 无返回内容。 400 Bad Request 服务器未能处理请求。可能原因: 语义有误,当前请求无法被服务器解析; 请求参数有误。 401 Unauthorized 当前请求需要用户验证。如需要用户名和密码。 403 Forbidden 对被请求页面的访问被禁止。 404 Not Found 请求失败,在服务器上未找到请求所希望得到的资源。 405 Method Not Allowed 请求行中指定的请求方法不能被用于请求相应的资源。 406 Not Acceptable 服务器生成的响应无法被客户端所接受。 407 Proxy Authentication Required 用户必须首先使用代理服务器进行验证,这样请求才会被处理。 408 Request Timeout 请求超出了服务器的等待时间。 409 Conflict 由于和被请求的资源的当前状态之间存在冲突,请求无法完成。 410 Gone 被请求的资源在服务器上已经不再可用,并且没有任何已知的转发地址。 412 Precondition Failed 服务器在验证在请求的头字段中给出先决条件时,未能满足其中的一个或多个。 500 Internal Server Error 服务器遇到了一个未曾预料的状况,导致无法完成对请求的处理。 501 Not Implemented 请求未完成。服务器不支持所请求的功能。 502 Bad Gateway 请求未完成。服务器从上游服务器收到一个无效的响应。 503 Service Unavailable 由于服务器临时维护或者过载,服务器当前无法处理请求。 504 Gateway Timeout 网关超时。 父主题: 附录
  • API网关运行时可获取变量 表2 网关错误响应消息体支持的变量 运行时变量名称 描述 $context.apiId API的ID $context.appId API调用者的APP对象ID $context.requestId 当次API调用生成请求ID $context.stage API调用的部署环境 $context.sourceIp API调用者的源地址 $context.authorizer.frontend.property 前端自定义认证响应的context映射的指定键值对的字符串值 $context.authorizer.backend.property 后端自定义认证响应的context映射的指定键值对的字符串值 $context.error.message 当前网关错误响应的错误信息 $context.error.code 当前网关错误响应的错误码 $context.error.type 当前网关错误响应的错误类型
  • 操作场景 网关响应,指API网关未能成功处理API请求,从而产生的错误响应。API网关提供默认的网关响应(default),如果您需要自定义响应状态码或网关响应内容,可在API分组管理中新增网关响应,其中响应内容符合JSON格式即可。 例如,“default”网关的响应内容为: {"error_code": "$context.error.code", "error_msg": "$context.error.message", "request_id": "$context.requestId"} 您可以自定义为: {"errorcode": "$context.error.code", "errormsg": "$context.error.message", "requestid": "$context.requestId","apiId":"$context.apiId"} JSON体的内容可以按需定制,包括增减字段内容。 API提供的默认网关响应“default”也可以编辑修改。 您可以新增多个网关响应,支持同一分组下不同API配置不同的网关响应内容。 网关响应所定义的错误类型固定且不可修改,具体见网关错误响应类型说明。 响应内容支持调用API网关运行时变量($context变量),具体见API网关运行时可获取变量。
  • 网关错误响应类型说明 API网关提供的错误响应类型见表1,其中响应状态码可以按实际需要做自定义修改。 表1 API网关的错误响应类型 错误说明 默认的响应状态码 详细说明 拒绝访问 403 拒绝访问,如触发配置的访问控制策略、或异常攻击检测拦截 自定义认证配置错误 500 自定义认证方异常,通信失败、返回异常响应等错误 自定义认证失败 500 自定义认证方返回认证失败 自定义认证身份来源错误 401 前端自定义认证的身份来源信息缺失或不合法错误 认证失败 401 认证失败, IAM 或APP认证校验失败 认证身份来源缺失 401 认证身份来源信息缺失 后端超时 504 后端超时,与后端的网络交互超过预配置的时间错误 后端不可用 502 后端不可用,网络不可达错误 默认4XX - 其它4XX类错误 默认5XX - 其它5XX类错误 未找到匹配的API 404 未匹配到API 请求参数错误 400 请求参数校验失败、不支持的HTTP方法 调用次数超出阈值 429 API调用次数超出所配置的流量策略阈值 应用未授权 401 使用的应用未被授权访问该API
  • 操作步骤 进入共享版控制台。 单击“导出API”,进入“导出API”界面。 设置如表1所示参数。 图1 导出API 表1 导出API 参数名称 说明 API分组 选择待导出API所在的API分组。 运行环境 选择待导出API所在的环境。 API 默认导出API分组所在环境的所有的API,如果需要导出个别API,单击“自定义导出API”,勾选需要导出的API名称。 API定义范围 基础定义:包括API前端请求定义和响应定义,不包括后端服务定义。其中API前端请求定义除了Swagger规范定义项外,还包括API网关的一些Swagger扩展字段。 全量定义:包括API前端请求定义、后端服务定义和响应定义。 扩展定义:包括API前端请求定义、后端服务定义和响应定义,还包括API关联的流量控制、访问控制等策略对象的定义。 导出格式 选择JSON或YAML。 自定义版本 为导出的API自定义版本号,如果没有指定版本号,默认使用当前时间。 单击“导出”,右侧显示导出结果。
  • 操作场景 使用APP认证的API,需要在API网关中创建一个应用,以生成应用ID和密钥对(AppKey、AppSecret)。将创建的应用绑定API后,才可以使用APP认证调用API。在API调用过程中,把密钥对替换SDK中的密钥对,API网关服务根据密钥对进行身份核对,完成鉴权。关于使用APP认证的方法,具体请参考《API网关开发指南》。 从云商店购买的API,系统自动创建一个应用,无需单独创建应用。 使用无认证/华为IAM认证的API,无需创建应用。 应用配额包括您自行创建的应用和在云商店购买API生成的应用。
  • 操作场景 签名密钥用于后端服务验证API网关的身份,在API网关请求后端服务时,保障后端服务的安全。 签名密钥是由一对Key和Secret组成,签名密钥需要绑定到API才能生效。当签名密钥绑定API后,API网关向后端服务发送此API的请求时,会增加相应的签名信息,此时需要后端服务依照同样方式进行签名,通过比对签名结果和API网关传过来的Authorization头中签名是否一致来校验API的合法性。 同一个环境中一个API只能绑定一个签名密钥,一个签名密钥可以绑定多个API。
  • 使用流程 在控制台创建签名密钥。 将新创建的签名密钥绑定API。 API网关将签名后的请求发送到后端服务,此时Authorization头中包含签名信息。后端服务通过不同的开发语言(例如Java、Go、Python、JavaScript、C#、PHP、C++、C、Android等)进行签名,比对签名结果和API网关传过来的Authorization头中签名是否一致来校验API的合法性。 图1 签名密钥流程
  • 操作场景 VPC通道主要用于将部署在VPC内的服务通过API网关开放给外部访问,它的优势在于使用VPC的内部子网通信,网络时延更低,同时VPC通道具有负载均衡功能,从而实现后端服务的负载均衡。 创建VPC通道后,在创建API,且后端服务类型为HTTP/HTTPS时,后端服务地址可以直接使用已创建的VPC通道。例如,VPC中包含6台E CS ,已创建一条VPC通道,其中ECS 01和ECS 04已添加到VPC通道中,此时API网关通过VPC通道可以直接访问VPC中的ECS 01和ECS 04。 图1 通过API网关访问VPC通道中的ECS
  • 操作场景 流量控制可限制单位时间内API的被调用次数,保护后端服务。 为了提供持续稳定的服务,您可以通过创建流控策略,针对部分API进行流量控制。 流控策略和API本身是相互独立的,只有将流控策略绑定API后,流控策略才对绑定的API生效。 同一个环境中,一个API只能被一个流控策略绑定,但一个流控策略可以绑定多个API。 如果API未绑定流控策略,共享版API网关系统默认流控限制为200次/秒。
  • 绑定API 在“流量控制”页面,通过以下任意一种方法,进入“绑定API”页面。 在待绑定的流量控制策略所在行,单击“绑定API”,进入已绑定API列表页面。单击“绑定API”。 单击策略名称,进入策略详情页面。在“绑定的API列表”页签中单击“绑定API”。 选择“API分组”、“环境”以及“API名称”,筛选所需的API。 勾选API,单击“绑定”,完成API绑定策略。 图1 绑定API 在流控策略绑定API后,如果API不需要调用此策略,单击“解除”,解除绑定。如果需要批量解绑API,则勾选待解绑的API,单击“解除”。最多同时解绑1000个API。
  • 操作场景 API可以同时提供给不同的环境调用,如生产、测试或开发。RELEASE是默认存在的环境,无需创建。且API网关提供环境变量功能,通过创建环境变量,实现在不同的环境定义不同的API调用路径。 环境变量是指在环境上创建可管理的一种变量,该变量固定在环境上。通过创建环境变量,实现同一个API,在不同环境中调用不同的后端服务。 当创建API时定义了变量标识,则需要在环境中添加变量。例如创建API时定义了变量名为“Path”,在环境1中创建了变量名“Path”,变量值“/Stage/test”,则API在发布到环境1时,使用“/Stage/test”代替“Path”,API调用者在环境1中调用此API时,后端服务请求Path为“/Stage/test”。在环境2中创建了变量名“Path”,变量值“/Stage/AA”,则API在发布到环境2时,使用“/Stage/AA”代替“Path”,API调用者在环境2中调用此API时,后端服务请求Path为“/Stage/AA”。 图1 环境变量 每个分组在任意一个环境中,最多创建50个变量。
  • 使用AppCode进行API请求的简易认证 在创建API时,选择“APP认证”并且开启“支持简易认证”。 如果您修改已有API为简易认证,需要在修改完成后,将API重新发布,使简易认证模式生效。 将支持简易认证的API绑定到已创建的应用。 发送请求时,增加请求头部参数“X-Apig-AppCode”,省略请求签名相关信息。 以Curl方式为例,增加头部参数名称:X-Apig-AppCode,参数值填已生成的AppCode。 curl -X GET "https://api.exampledemo.com/testapi" -H "content-type: application/json" -H "host: api.exampledemo.com" -H "X-Apig-AppCode: xhrJVJKABSOxc7d***********FZL4gSHEXkCMQC"
  • 操作场景 简易认证指调用API时,在HTTP请求头部消息增加一个参数X-Apig-AppCode(参数值填应用详情中“AppCode”的值),而不需要对请求内容签名,API网关也仅校验AppCode,不校验请求签名,从而实现快速响应。 当使用APP认证,且开启了简易认证模式,API请求既可以选择使用Appkey和AppSecret做签名和校验,也可以选择使用AppCode进行简易认证。 为了确保安全,简易认证仅支持HTTPS方式调用API,不支持HTTP。 每个应用最多可创建5个AppCode。
  • 什么是跨域访问 浏览器出于安全性考虑,会限制从页面脚本内发起的跨域访问(CORS)请求,此时页面只能访问同源的资源,而CORS允许浏览器向跨域服务器,发送XMLHttpRequest请求,从而实现跨域访问。 图1 跨域访问示意图 浏览器将CORS请求分为两类: 简单请求 简单跨域请求的场景需要满足以下两个条件: 请求方法是HEAD,GET,或者POST。 HTTP的头信息不超出以下范围: Accept Accept-Language Content-Language Last-Event-ID Content-Type:取值范围:application/x-www-form-urlencoded、multipart/form-data、text/plain 对于简单请求,浏览器自动在头信息之中,添加一个Origin字段,Origin字段用于说明本次请求来自哪个源(协议+ 域名 +端口)。服务器根据这个值,决定是否同意这次请求。服务器响应消息中包含“Access-Control-Allow-Origin”时,表示同意请求。 非简单请求 不满足简单请求两个条件的都为非简单请求。 对于非简单请求,在正式通信之前,浏览器会增加一次HTTP查询请求,称为预检请求。浏览器询问服务器,当前页面所在的源是否在服务器的许可名单之中,以及可以使用哪些HTTP请求方法和头信息字段。预检通过后,浏览器向服务器发送简单请求。
  • 开启跨域访问 API网关默认不开启跨域访问,如果您需要开启,请参考以下说明完成跨域配置。 简单请求的跨域访问 如果是创建新的API,在定义API请求时,打开“支持跨域(CORS)”开关。详细的使用指导,可参考简单请求。 图2 支持跨域 非简单请求的跨域访问 非简单请求的跨域访问需要在API的分组中创建一个“Method”为“OPTIONS”的API,作为预检请求。 预检请求API的参数设置,请参考以下说明填写。详细的使用指导可参考非简单请求。 在API的基本信息中,安全认证选“无认证”。 图3 预检请求-使用无认证 定义API请求时,参数填写说明如下: 请求协议:选择与已开启CORS的API相同的请求协议 请求Path:填斜杠/ Method:选择“OPTIONS” 支持CORS:选择开启CORS 图4 预检请求-设置API请求 后端服务选择Mock。 图5 预检请求-后端服务类型Mock
  • 简单请求 对于简单请求,您需要开启简单跨域访问。 场景一:已开启CORS,且后端服务响应消息中未指定跨域头时,API网关接受任意域的请求,并返回“Access-Control-Allow-Origin”跨域头,示例如下: 浏览器发送一个带Origin字段的请求消息: GET /simple HTTP/1.1 Host: www.test.com Origin: http://www.cors.com Content-Type: application/x-www-form-urlencoded; charset=utf-8 Accept: application/json Date: Tue, 15 Jan 2019 01:25:52 GMT Origin:此字段必选,表示请求消息所属源,上例中请求来源于“http://www.cors.com”,API网关/后端服务根据这个值,决定是否同意本次请求。 后端服务返回响应消息: HTTP/1.1 200 OK Date: Tue, 15 Jan 2019 01:25:52 GMT Content-Type: application/json Content-Length: 16 Server: api-gateway {"status":"200"} API网关响应消息: HTTP/1.1 200 OK Date: Tue, 15 Jan 2019 01:25:52 GMT Content-Type: application/json Content-Length: 16 Server: api-gateway X-Request-Id: 454d689fa69847610b3ca486458fb08b Access-Control-Allow-Origin: * {"status":"200"} Access-Control-Allow-Origin:此字段必选,“*”表示API网关接受任意域的请求。 场景二:已开启CORS,且后端服务响应消息中指定跨域头时,后端服务响应的跨域头将覆盖API网关增加的跨域头,示例如下: 浏览器发送一个带Origin字段的请求消息: GET /simple HTTP/1.1 Host: www.test.com Origin: http://www.cors.com Content-Type: application/x-www-form-urlencoded; charset=utf-8 Accept: application/json Date: Tue, 15 Jan 2019 01:25:52 GMT Origin:此字段必选,表示请求消息所属源,上例中请求来源于“http://www.cors.com”,API网关/后端服务根据这个值,决定是否同意本次请求。 后端服务返回响应消息: HTTP/1.1 200 OK Date: Tue, 15 Jan 2019 01:25:52 GMT Content-Type: application/json Content-Length: 16 Server: api-gateway Access-Control-Allow-Origin: http://www.cors.com {"status":"200"} Access-Control-Allow-Origin:表示后端服务接受“http://www.cors.com”的请求。 API网关响应消息: HTTP/1.1 200 OK Date: Tue, 15 Jan 2019 01:25:52 GMT Content-Type: application/json Content-Length: 16 Server: api-gateway X-Request-Id: 454d689fa69847610b3ca486458fb08b Access-Control-Allow-Origin: http://www.cors.com {"status":"200"} 后端服务响应消息中的跨域头覆盖API网关响应消息中的跨域头。
  • 非简单请求 对于非简单请求,您需要开启跨域访问,并且创建一个“Method”为“OPTIONS”的API。 跨域共享资源插件不需要创建一个“Method”为“OPTIONS”的API。 “Method”为“OPTIONS”的API和普通API的区别如下: 所属分组:选择已开启CORS的API所在的分组。 安全认证:可选择“无认证”。无论选择哪种认证方式,API网关都按照无认证处理。 请求协议:选择与已开启CORS的API相同的请求协议。 请求Path:填斜杠/即可,也可选择与已开启CORS的API相同或者匹配的请求Path。 Method:选择“OPTIONS”。 支持CORS:选择开启CORS。 假设后端服务类型为Mock,示例如下: 浏览器发送“Method”为“OPTIONS”的API请求: OPTIONS /HTTP/1.1 User-Agent: curl/7.29.0 Host: localhost Accept: */* Origin: http://www.cors.com Access-Control-Request-Method: PUT Access-Control-Request-Headers: X-Sdk-Date Origin:此字段必选,表示请求消息所属源。 Access-Control-Request-Method:此字段必选,表示请求会使用哪些HTTP请求方法。 Access-Control-Request-Headers:此字段可选,表示请求会额外发送的头信息字段。 后端服务返回消息:无 API网关返回消息: HTTP/1.1 200 OK Date: Tue, 15 Jan 2019 02:38:48 GMT Content-Type: application/json Content-Length: 1036 Server: api-gateway X-Request-Id: c9b8926888c356d6a9581c5c10bb4d11 Access-Control-Allow-Origin: * Access-Control-Allow-Headers: X-Stage,X-Sdk-Date,X-Sdk-Nonce,X-Proxy-Signed-Headers,X-Sdk-Content-Sha256,X-Forwarded-For,Authorization,Content-Type,Accept,Accept-Ranges,Cache-Control,Range Access-Control-Expose-Headers: X-Request-Id,X-Apig-Latency,X-Apig-Upstream-Latency,X-Apig-RateLimit-Api,X-Apig-RateLimit-User,X-Apig-RateLimit-App,X-Apig-RateLimit-Ip,X-Apig-RateLimit-Api-Allenv Access-Control-Allow-Methods: GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH Access-Control-Max-Age: 172800 Access-Control-Allow-Origin:此字段必选,“*”表示API网关接受任意域的请求。 Access-Control-Allow-Headers:当请求消息中包含此字段时,此字段必选。表示允许跨域的所有请求头信息字段。 Access-Control-Expose-Headers:表示跨域访问允许查看的返回头信息字段。 Access-Control-Allow-Methods:此字段必选,表示API网关支持的所有HTTP请求方法。 Access-Control-Max-Age:此字段可选,表示本次预检的有效期,单位:秒。在有效期内,无需再次发出预检请求。 浏览器发送一个带Origin字段的请求头: PUT /simple HTTP/1.1 Host: www.test.com Origin: http://www.cors.com Content-Type: application/x-www-form-urlencoded; charset=utf-8 Accept: application/json Date: Tue, 15 Jan 2019 01:25:52 GMT 后端服务返回消息: HTTP/1.1 200 OK Date: Tue, 15 Jan 2019 01:25:52 GMT Content-Type: application/json Content-Length: 16 Server: api-gateway {"status":"200"} API网关返回消息: HTTP/1.1 200 OK Date: Tue, 15 Jan 2019 01:25:52 GMT Content-Type: application/json Content-Length: 16 Server: api-gateway X-Request-Id: 454d689fa69847610b3ca486458fb08b Access-Control-Allow-Origin: * {"status":"200"}
  • 操作场景 自定义认证包含两种认证:前端自定义认证和后端自定义认证。 前端自定义认证:如果您希望使用自己的认证系统,而不是APP认证/华为IAM认证对API的访问进行认证鉴权时,您可以使用自定义认证,通过您自定义的函数进行认证鉴权。 后端自定义认证:当不同的后端服务使用不同的认证系统时,导致您需要为不同的认证系统定制化开发API,而APIG通过自定义认证功能,将多种认证系统集成,简化API开发的复杂度。您只需要在APIG中创建自定义的函数认证,APIG通过此函数对接后端认证系统,获取后端服务的访问授权。 自定义认证依赖 函数工作流 服务。如果当前Region没有上线函数工作流服务,则不支持使用自定义认证。 自定义认证的具体使用指导,可参考《API网关开发指南》的自定义认证相关章节。 使用自定义认证调用API的流程如下图所示: 图1 通过自定义认证调用API
  • API网关监控指标 表1 API网关共享版支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) avg_latency 平均延迟毫秒数 该指标用于统计测量api接口平均响应延时时间 ≥0 单位:毫秒 单个API 1分钟 input_throughput 流入流量 该指标用于统计测量api接口请求流量 ≥0 单位:Byte/KB/MB/GB 单个API 1分钟 max_latency 最大延迟毫秒数 该指标用于统计测量api接口最大响应延时时间 ≥0 单位:毫秒 单个API 1分钟 output_throughput 流出流量 该指标用于统计测量api接口返回流量 ≥0 单位:Byte/KB/MB/GB 单个API 1分钟 req_count 接口调用次数 该指标用于统计测量api接口调用次数 ≥0 单个API 1分钟 req_count_2xx 2xx调用次数 该指标用于统计测量api接口调用2xx的次数 ≥0 单个API 1分钟 req_count_4xx 4xx异常次数 该指标用于统计测量api接口返回4xx错误的次数 ≥0 单个API 1分钟 req_count_5xx 5xx异常次数 该指标用于统计测量api接口返回5xx错误的次数 ≥0 单个API 1分钟 req_count_error 异常次数 该指标用于统计测量api接口总的错误次数 ≥0 单个API 1分钟
  • 绑定API 在“访问控制”页面,通过以下任意一种方法,进入“绑定API”页面。 在待绑定的访问控制策略所在行,单击“绑定API”,进入已绑定API列表页面。单击“绑定API”。 单击策略名称,进入策略详情页面。单击“绑定API”。 选择“API分组”、“环境”以及“API名称”,筛选所需的API。 勾选API,单击“绑定”,完成API绑定策略。 在访问控制策略绑定API后,如果API不需要调用此策略,单击“解除”,解除绑定。如果需要批量解绑API,则勾选待解绑的API,单击“解除”。最多同时解绑1000个API。
  • 查看关键操作列表 通过 云审计 服务,您可以记录与API网关相关的操作事件,便于日后的查询、审计和回溯。 表1 云审计服务支持的API Gateway操作列表 操作名称 资源类型 事件名称 创建API分组 ApiGroup createApiGroup 删除API分组 ApiGroup deleteApiGroup 更新API分组 ApiGroup updateApiGroup 绑定域名 ApiGroup createDomainBinding 修改安全传输协议 ApiGroup modifySecureTransmission 解绑域名 ApiGroup relieveDomainBinding 添加域名证书 ApiGroup addDomainCertificate 删除域名证书 ApiGroup deleteDomainCertificate 创建API Api createApi 删除API Api deleteApi 批量删除API Api batchDeleteApi 更新API Api updateApi 发布API Api publishApi 下线API Api offlineApi 批量发布/下线API Api batchPublishOrOfflineApi 切换API版本 Api switchApiVersion 根据版本号下线API Api offlineApiByVersion 调试API Api debugApi 创建环境 Environment createEnvironment 删除环境 Environment deleteEnvironment 更新环境 Environment updateEnvironment 创建环境变量 EnvVariable createEnvVariable 更新环境变量 EnvVariable updateEnvVariable 删除环境变量 EnvVariable deleteEnvVariable 创建应用 App createApp 删除应用 App deleteApp 更新应用 App updateApp 重置签名密钥 App resetAppSecret 客户端绑定API AppAuth grantAuth 客户端解绑API AppAuth relieveAuth 创建签名密钥 Signature createSignature 删除签名密钥 Signature deleteSignature 更新签名密钥 Signature updateSignature 绑定签名密钥 SignatureBinding createSignatureBinding 解绑签名密钥 SignatureBinding relieveSignatureBinding 创建访问控制 Acl createAcl 删除访问控制 Acl deleteAcl 批量删除访问控制 Acl batchDeleteAcl 更新访问控制 Acl updateAcl 增加流控黑名单 Acl addAclValue 删除流控黑名单 Acl deleteAclValue API绑定访问控制 AclBinding createAclBinding API解绑访问控制 AclBinding relieveAclBinding 批量解绑访问控制 AclBinding batchRelieveAclBinding 创建流控 Throttle createThrottle 删除流控 Throttle deleteThrottle 批量删除流控 Throttle batchDeleteThrottle 更新流控 Throttle updateThrottle 绑定流控 ThrottleBinding createThrottleBinding 解绑流控 ThrottleBinding relieveThrottleBinding 批量解绑流控 ThrottleBinding batchRelieveThrottleBinding 创建特殊流控 ThrottleSpecial createSpecialThrottle 删除特殊流控 ThrottleSpecial deleteSpecialThrottle 更新特殊流控 ThrottleSpecial updateSpecialThrottle 创建负载通道 Vpc createVpc 删除负载通道 Vpc deleteVpc 更新负载通道 Vpc updateVpc 增加负载通道成员 Vpc addVpcMember 删除负载通道成员 Vpc deleteVpcMember 导出单个API Swagger swaggerExportApi 批量导出API Swagger swaggerExportApiList 导出分组下所有API Swagger swaggerExportApiByGroup 导入API到新分组 Swagger swaggerImportApiToNewGroup 导入API到已有分组 Swagger swaggerImportApiToExistGroup 导出全部自定义后端 Swagger SwaggerExportLdApi 导入自定义后端 Swagger SwaggerImportLdApi 创建自定义认证 Authorizer createAuthorizer 删除自定义认证 Authorizer deleteAuthorizer 更新自定义认证 Authorizer updateAuthorizer 购买API分组 Market purchase 上架API分组 Market onsell 下架API分组 Market offsell 修改配额状态 Market changeStatus 锁定/解除锁定API分组 Market lockOrUnlock 冻结/解冻API分组 Market frozenOrUnfrozen 预订购API分组 Market reserve 退市 Market delist 退订 Market unsubscribe
  • 前提条件 已有独立域名。可通过 域名注册服务 申请新的域名。 公网独立域名需要备案,未备案的独立域名无法被访问。备案时长需几个工作日,建议您提前进行备案。 共享版:已将独立域名CNAME解析到分组的子域名上,具体方法请参见增加CNAME类型记录集。 如果API分组中的API支持HTTPS请求协议,那么在独立域名中需要添加SSL证书,请您提前准备SSL证书。此证书不支持导入,您需要填写证书的名称、内容和密钥。
  • 操作场景 开放API前,您需要为API分组绑定一个或多个独立域名,API网关通过独立域名定位到此分组。 共享版中,不同分组下不能绑定相同的独立域名。 在绑定域名前,您需要理解以下2个概念: 子域名:API分组创建后,系统为分组自动分配一个内部测试用的子域名,此子域名唯一且不可更改,每天最多可以访问1000次。 独立域名:您自定义的域名,最多可以添加5个独立域名,不限访问次数。API调用者通过访问独立域名来调用您开放的API。
  • 拓扑连接 拓扑连接方式: 使用防火墙设备直接和云端建立VPN连接。 使用DMZ区域的专用VPN设备结合NAT穿越与云端建立VPN连接。 VPN接入方式的配置指导,相关信息说明如下: 用户数据中心VPN设备私网IP:10.10.10.10/24 用户数据中心用户子网:10.0.0.0/16 防火墙出口IP:11.11.11.2/24,公网网关:11.11.11.1,VPN设备的NAT IP:11.11.11.11 云端VPN网关IP:22.22.22.22,云端子网:172.16.0.0/16 现通过创建VPN连接方式来连通本地网络到VPC子网。 图1 深信服NAT场景 华为云端的VPN连接资源策略配置按照图2所示信息配置,使用DMZ区域专用的VPN设备进行NAT穿越连接时,协商模式修改为野蛮模式;使用防火墙进行连接协商模式选择缺省。 图2 华为云VPN策略配置
  • 操作流程 通过VPN实现数据中心和VPC互通的操作流程如图2所示。 图2 操作流程 表2 操作流程说明 序号 在哪里操作 步骤 说明 1 管理控制台 创建VPN网关 VPN网关需要绑定两个EIP作为出口公网IP。 如果您已经购买EIP,则此处可以直接绑定使用。 2 创建对端网关 添加AR路由器作为对端网关。 3 创建第一条VPN连接 VPN网关的主EIP和对端网关组建第一条VPN连接。 4 创建第二条VPN连接 VPN网关的主EIP2和对端网关组建第二条VPN连接。 第二条VPN连接的连接模式、预共享密钥、IKE/IPsec策略建议和第一条VPN连接配置保持一致。 5 AR命令配置界面 AR路由器侧操作步骤 AR路由器配置的本端隧道接口地址/对端隧道接口地址需要和VPN网关互为镜像配置。 AR路由器配置的连接模式、预共享密钥、IKE/IPsec策略需要和VPN连接配置保持一致。 6 - 结果验证 执行ping命令,验证网络互通情况。
  • 数据规划 表1 规划数据 部件 参数项 AR路由器规划示例 云侧规划示例 VPC 子网 172.16.0.0/16 192.168.0.0/24 192.168.1.0/24 VPN网关 网关IP 1.1.1.1(AR路由器上行公网网口GE0/0/8的接口IP) 主EIP:1.1.1.2 主EIP2:2.2.2.2 互联子网 - 192.168.2.0/24 VPN连接 隧道接口地址 VPN连接1:169.254.70.1/30 VPN连接2:169.254.71.1/30 VPN连接1:169.254.70.2/30 VPN连接2:169.254.71.2/30 IKE策略 版本:v2 认证算法:SHA2-256 加密算法:AES-128 DH算法:Group 14 生命周期(秒):86400 本端标识:IP Address 对端标识:IP Address IPsec策略 认证算法:SHA2-256 加密算法:AES-128 PFS:DH group 14 传输协议:ESP 生命周期(秒):3600
共100000条