华为云用户手册

  • 为什么要申请入驻服务商? API中心管理控制台的以下功能只允许API中心服务商使用,如果您想要使用以下功能,需要先申请入驻成为API中心服务商: API资产管理:通过创建API资产,将您开发好的API分享至API中心门户网站,供其他开发者搜索和调用。 API网关代理:API网关代理包括API的创建、发布、下线和删除所经历的完整生命周期过程,为您提供高性能、高可用、高安全的API托管服务。 API数据分析:查看API网关代理中已发布的API被调用的情况,如被请求调用的次数,调用失败的次数等。 只允许华为云企业账号申请成为API中心服务商。 父主题: 服务商入驻
  • 安全组规则修改(可选) 该解决方案使用22端口用来远程登录弹性云服务器 E CS ,默认对该方案创建的VPC子网网段放开,请参考修改安全组规则,配置IP地址白名单,以便能正常访问服务。 安全组实际是网络流量访问策略,包括网络流量入方向规则和出方向规则,通过这些规则为安全组内具有相同保护需求并且相互信任的云服务器、云容器、云数据库等实例提供安全保护。 如果您的实例关联的安全组策略无法满足使用需求,比如需要添加、修改、删除某个TCP端口,请参考以下内容进行修改。 添加安全组规则:根据业务使用需求需要开放某个TCP端口,请参考添加安全组规则添加入方向规则,打开指定的TCP端口。 修改安全组规则:安全组规则设置不当会造成严重的安全隐患。您可以参考修改安全组规则,来修改安全组中不合理的规则,保证云服务器等实例的网络安全。 删除安全组规则:当安全组规则入方向、出方向源地址/目的地址有变化时,或者不需要开放某个端口时,您可以参考删除安全组规则进行安全组规则删除。 MES软件安装进度查看,打开华为云服务器控制台,选择您在参数配置时所填ecs_name的云服务器,登录到云服务器中,查看日志/tmp/tmp.log,显示如下表示安装成功。(注:此步骤大约用时30分钟,完成之后方可进行重置密码,登录网站的操作。) 图1 安装进度查看 重置密码。打开华为云服务器控制台,勾选3.1快速部署-步骤2创建的弹性云服务器,单击“关机”,关机成功后,单击“重置密码”,根据提示重置密码,单击“确定”后,开机即可正常使用。 图2 修改密码 查看创建的弹性云服务器实例EIP,访问MES系统网站。打开华为云服务器控制台,选择您在参数配置时所填ecs_name的云服务器,查看弹性公网IP,或者复制3.1 步骤8中所看到的MES系统网站访问地址,在浏览器打开。 图3 查看EIP 访问部署的网站。打开浏览器,输入“http://EIP:8000”,即可访问网站,租户id: 000000,帐号admin,密码:admin。 图4 MSE网站界面
  • 名词解释 基本概念、云服务简介、专有名词解释 弹性云服务器 ECS:是一种可随时自助获取、可弹性伸缩的云服务器,可帮助您打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率。 弹性公网 EIP:提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。可以与弹性云服务器、裸金属服务器、虚拟VIP、弹性负载均衡、NAT网关等资源灵活地绑定及解绑。 虚拟私有云 VPC:是用户在云上申请的隔离的、私密的虚拟网络环境。用户可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性IP搭建业务系统。 安全组:安全组是一个逻辑上的分组,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。安全组创建后,用户可以在安全组中定义各种访问规则,当弹性云服务器加入该安全组后,即受到这些访问规则的保护。
  • 资源和成本规划 该解决方案主要部署如下资源,不同产品的花费仅供参考,实际以收费账单为准,具体请参考华为云官网价格: 表1 资源和成本规划(包年包月) 华为云服务 配置示例 每月预估花费 弹性云服务器 ECS 区域:华北-北京四 计费模式:包年包月 规格:X86计算 | ECS | c6.xlarge.4 | 4vCPUs | 16GiB 镜像:CentOS 7.9 64bit 系统盘:超高IO | 100GB 数据盘:超高IO | 100GB 购买量:1 699.80元 云备份CBR 备份存储库 | 100GB 20.00元 弹性公网IP EIP 区域:华北-北京四 计费模式:包年包月 线路:动态BGP 计费方式:按带宽计费 带宽大小:5Mbit/s 购买时长:1个月 购买量:1 115.00元 合计 834.80 元 表2 资源和成本规划(按需计费) 华为云服务 配置示例 每月预估花费 弹性云服务器 ECS 按需计费:1.56元/小时 区域:华北-北京四 计费模式:按需计费 规格:X86计算 | ECS | c6.xlarge.4 | 4vCPUs | 16GiB 镜像:CentOS 7.9 64bit 系统盘:超高IO | 100GB 数据盘:超高IO | 100GB 购买量:1 1.70 * 24 * 30 = 1224.00元 云备份CBR 备份存储库 | 100GB 按需计费:0.028元/小时 0.028 * 24 * 30 = 20.16元 弹性公网IP EIP 按需计费:0.34元/MBit/s/小时 区域:华北-北京四 计费模式:按需计费 线路:动态BGP 公网带宽:按带宽计费 带宽大小:5Mbit/s 购买量:1 0.34 * 24 * 30 = 244.80元 合计 1488.90元
  • 创建rf_amdin_trust委托 进入华为云官网,打开控制台管理界面,鼠标移动至个人帐号处,打开“ 统一身份认证 ”菜单。 图1 控制台管理界面 图2 统一身份认证菜单 进入“委托”菜单,搜索“rf_admin_trust”委托。 图3 委托列表 如果委托存在,则不用执行接下来的创建委托的步骤 如果委托不存在时执行接下来的步骤创建委托 单击步骤2界面中的“创建委托”按钮,在委托名称中输入“rf_admin_trust”,选择“普通帐号”,委托的帐号,输入“op_svc_IAC”,单击“下一步”。 图4 创建委托 在搜索框中输入”Tenant Administrator”权限,并勾选搜索结果。 图5 选择策略 选择“所有资源”,并单击下一步完成配置。 图6 设置授权范围 “委托”列表中出现“rf_admin_trust”委托则创建成功。 图7 委托列表
  • 快速部署 本章节主要帮助用户快速部署该解决方案。 表1 参数填写说明 参数名称 类型 是否必填 参数解释 默认值 vpc_name String 必填 虚拟私有云名称,该模板新建VPC,不支持重名。取值范围:1~64个字符,支持字母、数字、中文、下划线(_)、中划线(-)、句点(.)。 saihande-mes secgroup_name String 必填 安全组名称,该模板新建安全组,安全组规则请参考部署指南进行配置。取值范围:1~64个字符,支持字母、数字、中文、下划线(_)、中划线(-)、句点(.)。 saihande-mes ecs_name String 必填 弹性云服务器名称,不允许重名。取值范围:1~64个字符,支持字母、数字、中文、下划线(_)、中划线(-)、句点(.)。 saihande-mes ecs_flavor String 必填 创建弹性云服务器规格名称,具体请参考官网弹性云服务器规格清单。默认为c6.xlarge.4(c6|4vCPUs|16GiB)。 c6.xlarge.4 ecs_image String 必填 弹性云服务器镜像,仅支持CentOS 7系列镜像。默认CentOS 7.9 64bit。 CentOS 7.9 64bit ecs_password String 必填 模板部署初始密码,用于弹性云服务器登录,创建完成后请参考部署指南修改弹性云服务器用户密码。长度为8-26位,密码至少包含大写字母、小写字母、数字和特殊字符(!@%-_=+[{}]:,./?)中的三种。默认为空。 空 system_disk_size number 必填 指定系统盘大小,以GB为单位,取值范围为40-1024,不支持缩盘。默认为100。 100 data_disk_size number 必填 指定数据盘大小,以GB为单位,取值范围为10-32768。默认为100。 100 data_disk_type String 必填 指定数据盘磁盘类型。取值:ESSD(极速型SSD)、SSD(超高IO)。默认为SSD(超高IO)。 SSD eip_bandwidth_mode String 必填 弹性公网IP带宽计费模式,取值为traffic(按流量计费)、bandwidth(按带宽计费)。当charging_mode参数为prePaid时,该参数不支持设置为traffic。默认bandwidth(按带宽计费)。 bandwidth eip_bandwidth_size number 必填 弹性公网IP带宽大小,以Mbit/s为单位,取值范围为1-2000。默认为5。 5 charging_mode String 必填 计费模式,默认自动扣费,取值为prePaid(包年包月)或postPaid(按需计费),默认为postPaid。 postPaid charging_unit String 选填 包年包月。有效值为“year”或“month”。默认为month。 month charging_period number 选填 包年包月时长,当charging_unit取值为“year”,取值范围为1-3;取值为“month”,取值范围为1-9。当charging_mode(计费模式)为prePaid时,此选项为必填项。默认为1。 1 登录华为云解决方案实践,选择“快速部署赛瀚德MES系统解决方案”。数据中心下拉菜单可以选择需要部署的区域,单击“一键部署”,跳转至解决方案创建堆栈界面。 图1 快速部署赛瀚德MES系统 在选择模板界面中,单击“下一步”。 图2 选择模板 在配置参数界面中,自定义填写堆栈名称,参考表1完成自定义参数填写,单击“下一步”。 图3 配置参数 在资源栈设置页面中,权限委托选择“rf_admin_trust”,单击“下一步”。 图4 资源栈设置 在配置确认页面中,单击“创建执行计划”。 图5 配置确认 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确定”。 图6 创建执行计划 等待执行计划状态为“创建成功,待部署”后,单击“部署”,并且在弹出的执行计划确认框中单击“执行”。 图7 执行计划创建成功 图8 执行计划 等待解决方案自动部署。部署成功后,单击“事件”,回显结果如下: 图9 云资源部署成功事件 单击“输出”,查看MES系统的访问地址及相关账户、说明。 图10 MES访问地址 父主题: 实施步骤
  • 查看步骤 进入API中心服务页面。 在左侧导航栏选择“API数据分析”。 资源概览区域参数的含义如表1所示。 表1 资源概览参数说明 参数名称 含义 API总数 API网关代理中,已创建的API的总个数。数据1个小时刷新一次。 API分组总数 API网关代理中,已创建的API分组的总个数。数据1个小时刷新一次。 API请求总数 API网关代理中,已发布的所有API被调用的总次数。数据10分钟刷新一次。 API请求失败总数 API网关代理中,已发布的所有API被调用失败的总次数。数据10分钟刷新一次。 在“API监控”区域,展开API右侧的下拉框,选择您想要查看调用情况的API。 选择要查看的时间范围。支持查看近1个小时、近6个小时、近24个小时或近7天的调用情况。 查看API监控指标。包括“请求次数”、“调用延时”、“数据流量”和“出错统计”。 统计数据每10分钟刷新一次。 新发布的API,最多1个小时后就能看到调用情况的统计数据。
  • 开启跨域访问 API网关代理默认不开启跨域访问,如果您需要开启,请参考以下说明完成跨域配置。 简单请求的跨域访问 如果是创建新的API,在“安全配置”时,打开“支持跨域(CORS)”开关。详细的使用指导,可参考简单请求。 非简单请求的跨域访问 非简单请求的跨域访问需要在API的分组中创建一个“请求方法”为“OPTIONS”的API,作为预检请求。 预检请求API的参数设置,请参考以下说明填写。详细的使用指导可参考非简单请求。 在“前端定义”中,参数填写说明如下: 请求方法:选择“OPTIONS”。 请求协议:选择与已开启CORS的API相同的请求协议。 路径:填斜杠/。 图2 预检请求-定义API请求。 在“安全配置”中,安全认证选“无认证”,勾选“开启支持跨域CORS”。 后端配置选择“Mock”。 图3 预检请求-后端选Mock
  • 概述 API网关代理包括API的创建、发布、下线和删除所经历的完整生命周期过程,为您提供高性能、高可用、高安全的API托管服务,能快速将企业服务能力包装成标准 API服务 ,帮助您轻松构建、管理和部署任意规模的API。借助API网关代理,可以简单、快速、低成本、低风险地实现内部系统集成、业务能力开放及业务能力变现。API网关代理帮助您变现服务能力的同时,降低企业研发投入,让您专注于企业核心业务,提升运营效率。您需要先申请入驻成为API中心服务商,才可以使用API网关代理功能,具体操作指导参见服务商入驻。 父主题: API网关代理
  • 简单请求 对于简单请求,您需要开启简单跨域访问。 场景一:已开启CORS,且后端服务响应消息中未指定跨域请求头时,API网关代理接受任意域的请求,并返回“Access-Control-Allow-Origin”跨域头,示例如下: 浏览器发送一个带Origin字段的请求消息: GET /simple HTTP/1.1Host: www.test.comOrigin: http://www.cors.comContent-Type: application/x-www-form-urlencoded; charset=utf-8Accept: application/jsonDate: Tue, 15 Jan 2019 01:25:52 GMT Origin:此字段必选,表示请求消息所属源,上例中请求来源于“http://www.cors.com”,API网关代理/后端服务根据这个值,决定是否同意本次请求。 后端服务返回响应消息: HTTP/1.1 200 OKDate: Tue, 15 Jan 2019 01:25:52 GMTContent-Type: application/jsonContent-Length: 16Server: api-gateway{"status":"200"} API网关代理响应消息: HTTP/1.1 200 OKDate: Tue, 15 Jan 2019 01:25:52 GMTContent-Type: application/jsonContent-Length: 16Server: api-gatewayX-Request-Id: 454d689fa69847610b3ca486458fb08bAccess-Control-Allow-Origin: *{"status":"200"} Access-Control-Allow-Origin:此字段必选,“*”表示API网关接受任意域的请求。 场景二:已开启CORS,且后端服务响应消息中指定跨域头时,后端服务响应的跨域头将覆盖API网关代理增加的跨域头,示例如下: 浏览器发送一个带Origin字段的请求消息: GET /simple HTTP/1.1Host: www.test.comOrigin: http://www.cors.comContent-Type: application/x-www-form-urlencoded; charset=utf-8Accept: application/jsonDate: Tue, 15 Jan 2019 01:25:52 GMT Origin:此字段必选,表示请求消息所属源,上例中请求来源于“http://www.cors.com”,API网关代理/后端服务根据这个值,决定是否同意本次请求。 后端服务返回响应消息: HTTP/1.1 200 OKDate: Tue, 15 Jan 2019 01:25:52 GMTContent-Type: application/jsonContent-Length: 16Server: api-gatewayAccess-Control-Allow-Origin: http://www.cors.com{"status":"200"} Access-Control-Allow-Origin:表示后端服务接受“http://www.cors.com”的请求。 API网关响应消息: HTTP/1.1 200 OKDate: Tue, 15 Jan 2019 01:25:52 GMTContent-Type: application/jsonContent-Length: 16Server: api-gatewayX-Request-Id: 454d689fa69847610b3ca486458fb08bAccess-Control-Allow-Origin: http://www.cors.com{"status":"200"} 后端服务响应消息中的跨域头覆盖API网关代理响应消息中的跨域头。
  • 非简单请求 对于非简单请求,您需要开启跨域访问,并且创建一个“请求方法”为“OPTIONS”的API。 跨域共享资源策略不需要创建一个“请求方法”为“OPTIONS”的API。 “请求方法”为“OPTIONS”的API和普通API的区别如下: 所属分组:选择已开启CORS的API所在的分组。 安全认证:可选择“无认证”。无论选择哪种认证方式,API网关代理都按照无认证处理。 请求协议:选择与已开启CORS的API相同的请求协议。 路径:填斜杠/即可,也可选择与已开启CORS的API相同或者匹配的请求Path。 请求方法:选择“OPTIONS”。 支持跨域CORS:选择开启CORS。 假设后端服务类型为Mock,示例如下: 浏览器发送“请求方法”为“OPTIONS”的API请求: OPTIONS /HTTP/1.1User-Agent: curl/7.29.0Host: localhostAccept: */*Origin: http://www.cors.comAccess-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 OKDate: Tue, 15 Jan 2019 02:38:48 GMTContent-Type: application/jsonContent-Length: 1036Server: api-gatewayX-Request-Id: c9b8926888c356d6a9581c5c10bb4d11Access-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,RangeAccess-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-AllenvAccess-Control-Allow-Methods: GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCHAccess-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.1Host: www.test.comOrigin: http://www.cors.comContent-Type: application/x-www-form-urlencoded; charset=utf-8Accept: application/jsonDate: Tue, 15 Jan 2019 01:25:52 GMT 后端服务返回消息: HTTP/1.1 200 OKDate: Tue, 15 Jan 2019 01:25:52 GMTContent-Type: application/jsonContent-Length: 16Server: api-gateway{"status":"200"} API网关代理返回消息: HTTP/1.1 200 OKDate: Tue, 15 Jan 2019 01:25:52 GMTContent-Type: application/jsonContent-Length: 16Server: api-gatewayX-Request-Id: 454d689fa69847610b3ca486458fb08bAccess-Control-Allow-Origin: *{"status":"200"}
  • 什么是跨域访问 浏览器出于安全性考虑,会限制从页面脚本内发起的跨域访问(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请求方法和头信息字段。预检通过后,浏览器向服务器发送简单请求。
  • 修订记录 发布日期 修订记录 2023-07-14 第九次正式发布。 优化如下章节: 服务商入驻 变更服务商信息 API资产管理 2023-05-06 第八次正式发布。 新增如下章节: 取消入驻服务商 优化如下章节: 服务商入驻 变更服务商信息 负载通道 2023-03-31 第七次正式发布。 优化如下章节: 服务商入驻 API资产管理 创建API分组 发布API API数据分析 API门户 2023-03-22 第六次正式发布。 新增如下章节: API数据分析 优化如下章节: 服务商入驻 API资产管理 创建API分组 发布API API工具库 2023-03-14 第五次正式发布。 优化如下章节: 使用前必读 服务商入驻 API工具库 2023-03-03 第四次正式发布。 优化如下章节: 服务商入驻 API资产管理 创建API分组 流量控制策略说明 2023-02-10 第三次正式发布。 新增如下章节: API订阅管理 优化如下章节: API资产管理 API门户 2023-01-04 第二次正式发布。 优化如下章节: 服务商入驻 API资产管理 创建API分组 API门户 2022-12-14 第一次正式发布。
  • 使用流程 图1 签名密钥流程图 在API中心管理控制台创建签名密钥。 将新创建的签名密钥绑定API。 API网关代理将签名后的请求发送到后端服务,此时Authorization头中包含签名信息。后端服务通过不同的开发语言(例如Java、Go、Python、JavaScript、C#、PHP、C++、C等)进行签名,通过比对签名结果和API网关代理传过来的Authorization头中签名是否一致,来校验API网关代理的合法性。
  • 响应消息头 调用API时,API网关代理增加如下响应消息头。 X-Apig-Mode: debug表示响应消息头增加API网关代理调试信息。 响应消息头 描述 说明 X-Request-Id 请求ID 所有合法请求,都会返回此参数 X-Apig-Latency 从API网关代理接收请求到后端返回消息头的用时 仅在请求消息头包含X-Apig-Mode: debug时,返回此参数 X-Apig-Upstream-Latency 从API网关代理请求后端到后端返回消息头的用时 仅在请求消息头包含X-Apig-Mode: debug,且后端服务类型不为Mock时,返回此参数 X-Apig-RateLimit-api API流量控制信息 示例:remain:9,limit:10,time:10 second 仅在请求消息头包含X-Apig-Mode: debug,且API配置了API流量控制时,返回此参数 X-Apig-RateLimit-user 用户流量限制信息 示例:remain:9,limit:10,time:10 second 仅在请求消息头包含X-Apig-Mode: debug,且API配置了用户流量限制时,返回此参数 X-Apig-RateLimit-app 应用流量限制信息 示例:remain:9,limit:10,time:10 second 仅在请求消息头包含X-Apig-Mode: debug,且API配置了应用流量限制时,返回此参数 X-Apig-RateLimit-ip 源IP流量限制信息 示例:remain:9,limit:10,time:10 second 仅在请求消息头包含X-Apig-Mode: debug,且API配置了源IP流量限制时,返回此参数 X-Apig-RateLimit-api-allenv API默认流控信息 示例:remain:199,limit:200,time:1 second 仅在请求消息头包含X-Apig-Mode: debug时,返回此参数 父主题: 调用已发布的API
  • 配置参数说明 表1 配置参数说明 信息项 描述 密钥名称 自定义名称,用于识别不同的密钥。 类型 选择签名密钥的认证类型,可选择“HMAC”、“Basic Auth”、“Public Key”和“Aes”。 签名算法 选择Aes的签名算法,包含以下两种: aes-128-cfb aes-256-cfb Key 根据选择的密钥类型,填写不同的密钥信息。 HMAC:填写APP认证所使用密钥对的Key。 Basic Auth:填写basic认证所使用的用户名。 Aes:填写Aes认证所使用的密钥Key。 Public Key:填写Public Key认证所使用的公钥。 Secret 根据选择的密钥类型,填写不同的密钥信息。 HMAC:填写APP认证所使用密钥对的Secret。 Basic Auth:填写basic认证所使用的密码。 Aes:填写Aes认证所使用的向量。 Public Key:填写Public Key认证所使用的私钥。 确认Secret 填写与“Secret”一致的值。
  • 使用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"
  • 转换证书为PEM格式 格式类型 转换方式(通过OpenSSL工具进行转换) CER/CRT 将“cert.crt”证书文件直接重命名为“cert.pem”。 PFX 提取私钥命令,以“cert.pfx”转换为“key.pem”为例。 openssl pkcs12 -in cert.pfx -nocerts -out key.pem 提取证书命令,以“cert.pfx”转换为“cert.pem”为例。 openssl pkcs12 -in cert.pfx -nokeys -out cert.pem P7B 证书转换,以“cert.p7b”转换为“cert.cer”为例。 openssl pkcs7 -print_certs -in cert.p7b -out cert.cer 将“cert.cer”证书文件直接重命名为“cert.pem”。 DER 提取私钥命令,以“privatekey.der”转换为“privatekey.pem”为例。 openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.pem 提取证书命令,以“cert.cer”转换为“cert.pem”为例。 openssl x509 -inform der -in cert.cer -out cert.pem
  • 后续操作 创建完API资产后,您还可以执行表3的操作。 表3 后续操作 操作 说明 查看API资产详情 在API资产列表页,单击API资产名称,查看API资产详情。 修改API资产信息 在API资产列表页,单击API资产所在行“操作”列的“编辑”,修改API资产信息。 删除API资产 在API资产列表页,单击API资产所在行“操作”列的“删除”。 查看API资产包含的接口信息 在API资产列表页,单击API资产所在行“状态”列的“查看”。
  • 添加特殊租户 在流控策略详情页面,单击“特殊租户”,进入特殊租户页面。 单击“添加特殊租户”,弹出“添加特殊租户”对话框。 输入租户信息。 图1 添加特殊租户 表2 特殊租户信息 信息项 描述 租户ID 绑定华为 IAM 认证的API时,租户ID填写API调用者的账号ID。 绑定APP认证的API时,租户ID填写APP所属者的项目ID。 您可以单击控制台右上角的用户名,选择“我的凭证”,在我的凭证页面获取用户的项目ID和账号ID。 阈值 “时长”时间内,此租户访问单个API次数的最大值。 不能大于“API流量限制”值。 单击“确定”,完成特殊租户的添加。
  • 配置参数说明 表1 配置参数说明 信息项 描述 策略名称 API流控策略名称。 类型 分“基础流控”和“共享流控”两类。 基础流控:针对单个API进行流量统计和控制。 共享流控:针对绑定了该策略的所有API进行总流量统计和控制。 时长 流量限制的时长。时长单位支持秒,分钟,小时,天。 与“API流量限制”配合使用,表示“时长”时间内的单个API请求次数上限。 与“用户流量限制”配合使用,表示“时长”时间内的单个用户请求次数上限。 与“凭据流量限制”配合使用,表示“时长”时间内的单个凭据请求次数上限。 与“源IP流量限制”配合使用,表示“时长”时间内的单个IP地址请求次数上限。 API流量限制 单个API被调用次数上限。 与“时长”配合使用,表示“时长”时间内的单个API请求次数上限。 用户流量限制 单个用户调用API次数上限,仅在API的安全认证方式为“华为IAM认证”时适用。 不能大于“API流量限制”的值。 与“时长”配合使用,表示“时长”时间内的单个用户请求次数上限。 如果主账号下有多个子用户访问API,按主账号累计的调用次数进行限制。 说明: 如果希望单独为某个用户添加流量控制策略,可以通过对该策略增加特殊租户实现,具体参考添加特殊租户。增加特殊租户后,此用户调用API次数的上限受增加特殊租户时设置的“阈值”限制,其他用户调用API次数的上限,仍然受本参数值限制。 凭据流量限制 单个凭据调用API次数上限,仅在API的安全认证方式为“APP认证”时适用。 不能大于“API流量限制”的值。 与“时长”配合使用,表示“时长”时间内的凭据请求次数上限。 说明: 如果希望单独为某个凭据添加流量控制策略,可以通过对该策略增加特殊应用实现,具体参考添加特殊应用。增加特殊应用后,此凭据调用API次数的上限受增加特殊应用时设置的“阈值”限制,其他凭据调用API次数的上限,仍然受本参数值限制。 源IP流量限制 单个IP地址调用API次数上限。 不能大于“API流量限制”的值。 与“时长”配合使用,表示“时长”时间内的IP地址请求次数上限。 描述 关于控制策略的描述。
  • 配置参数说明 表1 配置参数说明 信息项 描述 策略名称 访问控制策略的名称。 类型 控制访问API的类型。 IP地址:允许/禁止访问API的IP地址。 账号名:允许/禁止访问API的账号名。 动作 包括“允许”和“禁止”。 和“类型”配合使用,允许/禁止访问API的IP地址/账号名。 IP地址 输入需要允许或者禁止访问API的IP地址,或IP地址范围。 仅在“类型”为“IP地址”时,需要设置。 说明: 允许或禁止访问的IP地址条数,分别最多可以配置100条。 账号名 输入需要允许或者禁止访问API的账号名,仅在API的安全认证方式为“华为IAM认证”时适用。 仅在“类型”为“账号名”时,需要设置。支持输入多个账号名,以英文“,”隔开,如aaa,bbb。 说明: 仅支持账号维度的访问控制,不能对单个IAM用户进行访问控制。
  • 错误码 用户调用API失败时,系统返回的错误码如下所示。 表1 错误码 HTTP状态码 错误码 错误描述 解决方案 404 APIC.0101 The API does not exist or has not been published in the environment. 检查域名、方法、路径和注册的API是否一致。 检查API是否发布,如果发布到非生产环境,检查请求X-Stage头是否为发布的环境名。 500 APIC.0103 The backend does not exist. 联系技术支持。 500 APIC.0104 The plug-ins do not exist. 联系技术支持。 500 APIC.0105 The backend configurations do not exist. 联系技术支持。 400 APIC.0106 Orchestration error. 检查API配置的前后端参数是否合理。 400 APIC.0201 Bad request. 使用合法的请求。 413 APIC.0201 Request entity too large. 减小请求body大小,小于12M。 414 APIC.0201 Request URI too large. 减小请求URI大小,小于32K。 494 APIC.0201 Request headers too large. 减小请求头大小,单个请求头小于32K或所有请求头总大小小于128K。 502 APIC.0202 Backend unavailable. 检查API配置的后端地址是否可用。 504 APIC.0203 Backend timeout. 增大超时时间或缩小后端的处理时间。 401 APIC.0301 Incorrect IAM authentication information. 检查token是否正确。 403 APIC.0302 The IAM user is not authorized to access the API. 检查用户是否被黑白名单限制。 401 APIC.0303 Incorrect App authentication information. 检查请求的方法、路径、查询参数、请求体和签名使用的方法、路径、查询参数、请求体是否一致。 检查客户端机器时间是否正确。 403 APIC.0304 The app is not authorized to access the API. 检查APP是否授权访问API。 401 APIC.0305 Incorrect authentication information. 检查认证信息是否正确。 403 APIC.0306 API access denied. 检查是否授权访问API。 401 APIC.0307 The token must be updated. token需要更新。 429 APIC.0308 The throttling threshold has been reached. 等待流控时间结束后再访问API,或修改流控限制值。 403 APIC.0401 Unknown client IP address. 联系技术支持。 403 APIC.0402 The IP address is not authorized to access the API. 检查IP地址是否被黑白名单限制。 503 APIC.0404 Access to the backend IP address has been denied. 使用可用的IP地址访问后端服务。 403 APIC.0405 The app is not accessed from a trusted IP address. 检查IP地址是否被客户端访问控制策略限制。 500 APIC.0601 Internal server error. 联系技术支持。 400 APIC.0602 Bad request. 检查请求是否合法。 500 APIC.0605 Backend domain name resolution failed. 检查域名拼写,以及域名是否绑定了正确的后端地址。 500 APIC.0606 Failed to load the API configurations. 联系技术支持。 400 APIC.0607 The following protocol is supported: {xxx} 改用支持的协议(HTTP/HTTPS)访问。 500 APIC.0608 Failed to obtain the admin token. 联系技术支持。 500 APIC.0609 The VPC backend does not exist. 联系技术支持。 502 APIC.0610 No backend available. 检查所有后端是否可用。 500 APIC.0611 The backend port does not exist. 联系技术支持。 500 APIC.0612 An API cannot call itself. 修改API后端配置,递归调用层数不能超过10层。 500 APIC.0705 Backend signature calculation failed. 联系技术支持。 父主题: 调用已发布的API
  • 操作步骤 下面以API Arts工具为例,描述如何开发API并上架API至API中心门户网站。 进入API中心服务页面。 选择左侧导航栏中的“API工具库”。 单击API Arts工具右下角的“前往使用”,进入API Arts工具界面。 参考API设计和API测试章节指导,在API Arts完成API的设计和测试。 上架API至API中心门户网站。 在API Arts界面单击项目名称,进入目标项目详情页面。 在左侧选择“API发布”,然后单击“申请发布”,跳转至API中心“创建API资产”页面。(如果您不是API中心服务商,需要先参考服务商入驻章节,入驻成为API中心服务商,然后才能创建API资产。) 图1 申请发布 填写API资产信息。详细指导参考填写API资产信息。
  • 搜索API 搜索栏搜索 您可以在搜索栏输入您想要查找的API的一些关键信息,如API资产的名称,描述等,系统会显示相关的搜索结果。 按照不同维度搜索 API中心门户网站,按以下两种维度展示API资产: 按API维度展示:展示所有API资产。可以在左侧勾选“分类”、“可见范围”或“API来源”,按照API资产所属行业、公开性或来源路径筛选API资产。 按服务商维度展示:展示所有API资产的服务商。可以在左侧勾选分类,按行业筛选API资产服务商。单击服务商,可以看到该服务商拥有的所有API资产。
  • 购买API API中心支持您在线购买来自华为云市场的API,购买流程如下。 访问API中心门户网站。 选择来自华为云市场的API。 按API维度:在左侧“API来源”中勾选“华为云市场”。同时在左侧勾选“分类”、“可见范围”,筛选API资产所属行业、公开性。 按服务商维度:单击服务商名称,然后在左侧“API来源”中勾选“华为云市场”。同时在左侧勾选“分类”、“可见范围”,筛选API资产所属行业、公开性。 单击想要购买的API,进入API详情页面。 参考商品购买流程页面步骤4~6,完成 API购买
  • 获取服务商联系方式 对于不需要付费购买的API,您可以通过以下方法获取API资产服务商的联系方式。 在API中心门户网站,单击API资产。 单击页面右上角的“订阅”。 只支持已登录用户订阅服务商的联系方式。 勾选“我已阅读并同意《华为云API中心用户协议》”。 单击“确定”,完成订阅。 订阅成功后,鼠标放在“联系咨询”上面,就会显示服务商的电话和邮箱。单击“已订阅”,可以取消订阅API。 如果您想要查看当前订阅的所有API,或者对已经订阅的API单个或批量取消订阅,可以参考API订阅管理章节操作。
  • 在线调测API 对于不需要付费购买的API(技术开放型API),可以通过以下步骤在线调测API,快速试用API。 单击API资产,查看API资产的开发文档。 在需要调试的接口详情页面,单击“在线调试”。 部分API未提供调试功能,具体以详情页面展示的信息为准。 对于需要付费购买的API(来源于华为云市场的API),单击API资产,在API资产详情页面,单击“API接口”页签下的“调试API”,在线调试API。
  • 获取API的调用信息 在调用API前,您需要向API提供方获取API的调用信息。 获取API的请求信息 向API提供方获取API的“域名”、“请求方法”、“API URL”、“请求参数”和“Headers”。 获取API的调用凭据 根据API使用的安全认证方式不同,还要获取相关的请求认证信息,具体参考表1。 表1 认证信息 认证方式 认证信息 APP认证(签名认证) 向API提供方获取该API所授权凭据的Key和Secret,以及认证签名所使用的SDK。 APP认证(简易认证) 向API提供方获取该API所授权凭据的AppCode。 APP认证(app_secret认证) 向API提供方获取该API所授权凭据的Key和Secret。 APP认证(app_basic认证) 向API提供方获取该API所授权凭据的Key和Secret。 IAM认证(AK/SK认证) 获取云服务平台的用户账号的AK/SK,以及认证签名所使用的SDK。 无认证 无需认证信息。
  • 调用API 构造API请求,示例如下: POST https://{Address}/{Path}?{Query}{Header}{ {Body}} POST:请求方法,需替换为获取API的请求信息中获取的请求方法。 {Address}:请求地址,需替换为获取API的请求信息中获取的域名地址。 API网关代理使用分组分配的子域名或分组绑定的域名调用API,无需另外配置。 {Path}:请求路径,需替换为获取API的请求信息中获取的URL。 {Query}:查询参数,可选,格式为“参数名=参数取值”,例如limit=10,多个查询参数之间使用“&”隔开。需根据获取API的请求信息中获取的请求参数进行设置。 {Header}:请求头参数,格式为“参数名: 参数取值”,例如Content-Type: application/json。需根据获取API的请求信息中获取的Headers进行设置。 {Body}:请求消息体,JSON格式。需根据获取API的请求信息中获取的请求参数进行设置。 为API请求添加认证信息。 API认证方式 API请求参数配置 APP认证(签名认证) 使用获取的SDK对API请求进行签名。 APP认证(简易认证) 在API请求中添加Header参数“X-Apig-AppCode”,参数值为获取API的认证信息中获取到的AppCode。 APP认证(app_secret认证) 在API请求中添加Header参数“X-HW-ID”,参数值为获取API的认证信息中获取到的Key。 在API请求中添加Header参数“X-HW-AppKey”,参数值为获取API的认证信息中获取到的Secret。 APP认证(app_basic认证) 在API请求中添加Header参数“Authorization”,参数值为"Basic "+base64(appkey+":"+appsecret),其中appkey和appsecret分别为获取API的认证信息中获取到的Key和Secret。 IAM认证(AK/SK认证) 使用获取的SDK对API请求进行签名。 无认证 无需认证,可直接调用API。
共99269条