API网关最佳实践文档版本01发布日期2021-04-20华为技术有限公司版权所有华为技术有限公司2021.
保留一切权利.
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播.
商标声明和其他华为商标均为华为技术有限公司的商标.
本文档提及的其他所有商标或注册商标,由各自的所有人拥有.
注意您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内.
除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证.
由于产品版本升级或其他原因,本文档内容会不定期进行更新.
除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保.
文档版本01(2021-04-20)版权所有华为技术有限公司i目录1基于API网关的电话号码归属地查询.
12使用API网关开放云容器引擎的工作负载.
103使用专享版API网关开放本地数据中心的服务能力.
194使用函数服务开发自定义认证.
21API网关最佳实践目录文档版本01(2021-04-20)版权所有华为技术有限公司ii1基于API网关的电话号码归属地查询简介本手册基于华为云API网关实践所编写,用于指导您开放并调用API.
本手册主要指导您将电话号码归属地查询作为后端服务,开放一个查询API,并将此API发布到RELEASE环境,以便调用.
最后将此API绑定流控策略,进行流量控制,确保API可以提供持续稳定的服务.
什么是API网关API网关(APIGateway)是为开发者、合作伙伴提供的高性能、高可用、高安全的API托管服务,帮助用户轻松构建、管理和部署任意规模的API.
为什么使用API网关轻松构建、管理和部署任意规模的API.
灵活自定义的流量控制策略制定,保障API服务的稳定和连续.
提供多种API监控指标,更方便统计分析API服务情况.
准备环境在通过API网关开放电话号码归属地查询服务前,您需要获取登录华为云控制台的用户名和密码,并确保已实名认证此用户.
同时,您还需要获取如表1-1所示信息.
表1-1环境信息信息项样例API分组名称PhoneNumberGroupAPI名称PhoneNumber认证方式无认证请求Path/test/{phoneNumber}后端服务地址apigdemo.
myhuaweicloud.
com后端请求Path/api/mobile/{phoneNumber}API网关最佳实践1基于API网关的电话号码归属地查询文档版本01(2021-04-20)版权所有华为技术有限公司1信息项样例发布环境RELEASE策略名称PhoneNumberThrottling时长1分钟API流量限制20用户流量限制10开放API步骤1登录华为云控制台,进入API网关服务.
本实践以共享版API网关为例介绍.
步骤2创建分组,输入如图1-1所示信息.
图1-1创建分组图1-2提示信息步骤3创建API.
如果您想了解参数更详细的信息,请参见《API网关用户指南》.
API网关最佳实践1基于API网关的电话号码归属地查询文档版本01(2021-04-20)版权所有华为技术有限公司21.
单击"新建API",操作如下图所示.
图1-3API列表界面2.
在"新建API"的"基本信息"界面,输入如下图所示信息.
图1-4设置API的基本信息3.
在"定义API请求"界面,输入如下图所示信息.
API网关最佳实践1基于API网关的电话号码归属地查询文档版本01(2021-04-20)版权所有华为技术有限公司34.
在"定义后端服务"界面,输入如下图所示信息.
5.
在"返回结果基础定义"界面,输入如下图所示信息.
API网关最佳实践1基于API网关的电话号码归属地查询文档版本01(2021-04-20)版权所有华为技术有限公司46.
单击"完成",完成API的创建.
步骤4调试API.
1.
单击"调试",操作如下图所示.
图1-5API列表界面2.
调试API,操作如下图所示.
图1-6调试API步骤5发布API.
API网关最佳实践1基于API网关的电话号码归属地查询文档版本01(2021-04-20)版权所有华为技术有限公司5图1-7API列表界面----结束调用API步骤1在API详情界面,复制"APIURL".
1.
进入API详情界面.
图1-8单击API名称进入API详情界面2.
在API详情界面,复制"APIURL".
图1-9复制APIURL步骤2打开浏览器,在地址栏粘贴"APIURL"的地址,并且"{phoneNumber}"替换为待查询的电话号码.
请求API成功时,返回电话号码归属地信息.
API网关最佳实践1基于API网关的电话号码归属地查询文档版本01(2021-04-20)版权所有华为技术有限公司6----结束对API进行流量控制步骤1创建流控策略,输入如下图所示信息.
步骤2流控策略绑定API.
API网关最佳实践1基于API网关的电话号码归属地查询文档版本01(2021-04-20)版权所有华为技术有限公司7步骤3在浏览器中,调用API.
由于API已经绑定流控策略,如果1分钟内请求API超过5次,则会报错.
----结束查看监控数据步骤1进入API详情界面.
步骤2查看API请求次数、调用延时、数据流量和出错次数.
步骤3单击"查看更多监控",进入云监控界面,查看更多监控数据.
API网关最佳实践1基于API网关的电话号码归属地查询文档版本01(2021-04-20)版权所有华为技术有限公司8说明监控数据保留周期为两天,如果需要长时间保留,需要配置OBS桶,将监控数据保存至OBS桶中.
----结束API网关最佳实践1基于API网关的电话号码归属地查询文档版本01(2021-04-20)版权所有华为技术有限公司92使用API网关开放云容器引擎的工作负载简介本手册基于华为云API网关实践所编写,用于指导您开放并调用API.
云容器引擎(CloudContainerEngine,即CCE)中的工作负载,以及微服务,可通过API网关将服务能力以API形式对外开放.
借助API网关开放容器应用,具有如下优势:无需设置弹性公网IP,节省网络带宽成本API网关支持建立VPC通道,访问CCE中工作负载的地址.
提供多种认证方式,增加访问安全性提供访问流量控制策略,增加后端服务的安全性与直接访问容器应用相比,API网关提供流量控制,确保后端服务稳定运行.
支持多实例负载均衡,合理利用资源,增加系统可靠性本手册介绍如何通过API网关访问CCE中的工作负载.
图2-1通过API网关访问CCE工作负载(由实例组成)准备CCE工作负载信息在通过API网关将容器的工作负载对外开放前,需要在CCE服务控制台创建好集群和工作负载,并在工作负载中添加实例和容器,具体操作步骤请参见《CCE用户指南》.
您需要在CCE控制台中获取如下图所示信息,注意工作负载的访问方式,需配置为"节点访问".
API网关最佳实践2使用API网关开放云容器引擎的工作负载文档版本01(2021-04-20)版权所有华为技术有限公司10图2-2查询访问端口图2-3查询工作负载中实例所属弹性服务器的名称创建VPC通道步骤1登录华为云控制台,进入API网关服务.
下述步骤以共享版API网关版本为示例进行介绍.
步骤2创建VPC通道.
1.
在"创建VPC通道"的"基本信息"界面,单击"创建快速通道".
API网关最佳实践2使用API网关开放云容器引擎的工作负载文档版本01(2021-04-20)版权所有华为技术有限公司11图2-4VPC通道列表界面2.
输入如下图所示信息,其他参数保持默认值.
如果您想了解参数更详细的信息,请参见《API网关用户指南》.
图2-5设置VPC通道基本信息步骤3添加需要通过API网关访问的CCE工作负载的实例节点.
可添加多个实例,API网关支持负载均衡功能.
API网关最佳实践2使用API网关开放云容器引擎的工作负载文档版本01(2021-04-20)版权所有华为技术有限公司12步骤4单击"完成",添加VPC通道.
----结束开放API步骤1创建分组,输入如图2-6所示信息.
图2-6创建分组步骤2创建API.
如果您想了解参数更详细的信息,请参见《API网关用户指南》.
1.
单击"新建API",操作如下图所示.
图2-7API列表界面2.
在"新建API"的"基本信息"界面,输入如下图所示信息.
API网关最佳实践2使用API网关开放云容器引擎的工作负载文档版本01(2021-04-20)版权所有华为技术有限公司13图2-8设置API的基本信息3.
在"定义API请求"界面,输入如下图所示信息.
4.
在"定义后端服务"界面,输入如下图所示信息.
API网关最佳实践2使用API网关开放云容器引擎的工作负载文档版本01(2021-04-20)版权所有华为技术有限公司145.
在"返回结果基础定义"界面,输入"成功响应示例",在本示例中,输入内容仅供参考,无实际作用.
6.
单击"完成",完成API的创建.
步骤3调试API.
1.
单击"调试",操作如下图所示.
图2-9API列表界面2.
调试API,操作如下图所示.
API网关最佳实践2使用API网关开放云容器引擎的工作负载文档版本01(2021-04-20)版权所有华为技术有限公司15图2-10调试API,返回200,表示调用成功步骤4发布API.
1.
单击"发布".
图2-11API列表界面2.
设置发布信息.
API网关最佳实践2使用API网关开放云容器引擎的工作负载文档版本01(2021-04-20)版权所有华为技术有限公司16图2-12发布API----结束调用API步骤1在API详情界面,复制"APIURL".
1.
进入API详情界面.
图2-13进入API详情界面2.
在API详情界面,复制"APIURL".
图2-14复制APIURL步骤2打开浏览器,在地址栏粘贴"APIURL"的地址.
请求API成功时,显示如下界面.
如果想要设置一段时长内API的调用次数,请设置流控策略,具体参见《API网关用户指南》.
API网关最佳实践2使用API网关开放云容器引擎的工作负载文档版本01(2021-04-20)版权所有华为技术有限公司17----结束API网关最佳实践2使用API网关开放云容器引擎的工作负载文档版本01(2021-04-20)版权所有华为技术有限公司183使用专享版API网关开放本地数据中心的服务能力API网关的后端服务有3类部署形态:后端服务部署在虚拟私有云(以下简称VPC)中,仅支持私有地址访问.
可在API网关创建VPC通道,利用VPC通道,打通API网关与虚拟私有云的网络路由.
后端服务部署在公网环境中,即可以直接通过公网地址访问.
后端服务部署在本地数据中心,且不能通过公网地址直接访问.
如果您使用专享版API网关,可为本地数据中心搭建一条与API网关(所绑定的华为云VPC)之间的专线.
本节针对后端服务部署在本地数据中心的场景,介绍使用API网关开放API的注意事项.
图3-1使用云专线连通客户本地数据中心与华为云专享版API网关连通云专线与API网关步骤1创建VPC.
专享版API网关需要绑定1个VPC,将本地数据中心与VPC之间建立云专线后,API网关即可访问本地数据中心的服务.
API网关最佳实践3使用专享版API网关开放本地数据中心的服务能力文档版本01(2021-04-20)版权所有华为技术有限公司19说明需要为API网关规划1个子网段.
一条云专线只能打通本地数据中心到1个VPC的网络,您在云上的资源,建议都绑定到同一VPC中,避免不同VPC都需要使用云专线访问本地数据中心带来的成本增加.
如果已有VPC,可不用新建.
步骤2购买专享版API网关.
具体请参考用户指南的购买专享版API网关.
步骤3购买云专线.
购买一条连接本地数据中心到华为云API网关(所绑定的虚拟私有云)的云专线,请按以下操作顺序执行:1.
购买物理连接接入即购买一条连接本地数据中心与华为云的运营商线路.
建议您选择"一站式接入",华为云负责施工工程.
如果已有数据中心到华为云的物理连接,可直接使用.
2.
创建虚拟网关虚拟网关用于关联专享版API网关绑定的VPC.
说明在选择VPC网段时,需要添加专享版API网关所使用的网段,表示允许专线可访问的VPC子网.
可在专享版API网关控制台中查询网段详情.
3.
创建虚拟接口虚拟接口将物理连接与虚拟网关(配置了VPC和网段)关联绑定,打通物理与专享版API网关所在VPC的网络.
注意远端网关与远端子网要分别配置您本地数据中心的开放API接口访问的网关和子网.
例如您本地数据中心的API调用地址为http://192.
168.
0.
25:80/{URI},则远端网关和远端子网要配置192.
168.
0.
25所在的子网段与网关.
4.
配置本地路由如果本地数据中心的子网不在以下三个大子网段内,暂时不支持配置本地路由:10.
0.
0.
0/8-24、172.
16.
0.
0/12-24、192.
168.
0.
0/16-24.
步骤4验证网络连通.
再创建一台按需的ECS,选择与专享版API网关相同的VPC、子网与安全组.
只要本地数据中心能连通ECS,则与专享版API网关也能连通.
----结束使用专享版API网关开放API本地数据中心与专享版API网关的网络连通后,您可以正常使用API网关的所有操作.
具体请参考用户指南的入门.
注意,API的后端服务地址填写您本地数据中心的API调用地址.
API网关最佳实践3使用专享版API网关开放本地数据中心的服务能力文档版本01(2021-04-20)版权所有华为技术有限公司204使用函数服务开发自定义认证简介本手册基于华为云API网关实践所编写,用于指导如何为API添加自定义认证.
在API的安全认证方面,API网关提供IAM认证、APP认证等方式,帮助用户快速开放API,同时API网关也支持用户使用自己的认证方式(以下简称自定义认证),以便更好地兼容已有业务能力.
API网关支持的自定义认证需要借助函数工作流服务实现,用户在函数工作流中创建自定义认证函数,API网关调用该函数,实现自定义认证.
下面以Basic认证为例,介绍如何使用函数服务实现自定义认证.
编写自定义认证函数在函数工作流的控制台编写函数,自定义认证的代码编写指南参见创建用于前端自定义认证的函数.
在函数工作流页面创建一个函数,语言选Python3.
6,代码如下.
API网关最佳实践4使用函数服务开发自定义认证文档版本01(2021-04-20)版权所有华为技术有限公司21#-*-coding:utf-8-*-importjsondefhandler(event,context):#以下表示认证信息匹配正确,则返回用户名,ifevent["headers"]["authorization"]=='BasicdXNlcjE6cGFzc3dvcmQ=':return{'statusCode':200,'body':json.
dumps({"status":"allow","context":{"user_name":"user1"}})}else:return{'statusCode':200,'body':json.
dumps({"status":"deny","context":{"code":"1001","message":"incorrectusernameorpassword"}})}创建自定义认证在API网关页面,创建自定义认证,类型选择前端,函数地址选择上一步创建的函数.
API网关最佳实践4使用函数服务开发自定义认证文档版本01(2021-04-20)版权所有华为技术有限公司22创建自定义认证的API单击"体验demo",创建API.
编辑创建的体验API,将认证类型修改为自定义认证,并选择上一步创建的自定义认证.
编辑完成之后发布API.
设置错误响应调用API如果输入错误的认证信息,则返回结果如下:API网关最佳实践4使用函数服务开发自定义认证文档版本01(2021-04-20)版权所有华为技术有限公司23{"error_msg":"Incorrectauthenticationinformation:frontendauthorizer","error_code":"APIG.
0305","request_id":"36e42b3019077c2b720b6fc847733ce9"}为了让API响应结果为函数中返回的context中的字段,需要修改网关响应模板.
在API所在的分组中,网关响应页签下,编辑自定义认证失败的响应详情,将响应状态码改为401,将消息模板改为{"code":"$context.
authorizer.
frontend.
code","message":"$context.
authorizer.
frontend.
message"}修改之后,调用API传入错误的认证信息,返回状态码为401,返回结果如下:{"code":"1001","message":"incorrectusernameorpassword"}映射后端参数如果认证通过,函数返回的context信息,可以传到后端,配置方式如下:编辑API,在后端服务页面,添加系统参数,参数类型为前端认证参数,系统参数名称填自定义认证函数中context中的字段,后端参数名称和位置填需要传入到后端请求的参数名和位置.
API网关最佳实践4使用函数服务开发自定义认证文档版本01(2021-04-20)版权所有华为技术有限公司24编辑和发布完成之后,使用正确的认证信息调用API,可以看到后端打印了X-User-Name头,值为函数代码中写入到context中的user_name字段的用户名.
API网关最佳实践4使用函数服务开发自定义认证文档版本01(2021-04-20)版权所有华为技术有限公司25
数脉科技(shuhost)8月促销:香港独立服务器,自营BGP、CN2+BGP、阿里云线路,新客立减400港币/月,老用户按照优惠码减免!香港服务器带宽可选10Mbps、30Mbps、50Mbps、100Mbps带宽,支持中文本Windows、Linux等系统。官方网站:https://www.shuhost.com* 更大带宽可在选购时选择同样享受优惠。* 目前仅提供HKBGP、阿里云产品,香港...
这个月11号ShockHosting发了个新上日本东京机房的邮件,并且表示其他机房可以申请转移到日本,刚好赵容手里有个美国的也没数据就发工单申请新开了一个,这里做个简单的测试,方便大家参考。ShockHosting成立于2013年,目前提供的VPS主机可以选择11个数据中心,包括美国洛杉矶、芝加哥、达拉斯、杰克逊维尔、新泽西、澳大利亚、新加坡、日本、荷兰和英国等。官方网站:https://shoc...
Tudcloud是一家新开的主机商,提供VPS和独立服务器租用,数据中心在中国香港(VPS和独立服务器)和美国洛杉矶(独立服务器),商家VPS基于KVM架构,开设在香港机房,可以选择限制流量大带宽或者限制带宽不限流量套餐。目前提供8折优惠码,优惠后最低每月7.2美元起。虽然主机商网站为英文界面,但是支付方式仅支付宝和Stripe,可能是国人商家。下面列出部分VPS主机套餐配置信息。CPU:1cor...
电话号码归属地查询详细地址为你推荐
destoondestoon多少人是从PHP168过来的啊?Destoon的B2B很好,强烈支持你们163yeah请问163油箱和yeah邮箱的区别,已经和163其他邮箱的区别!支付宝账户是什么支付宝的账号是什么啊开放平台企鹅号和腾讯内容开放平台是一样的吗,有什么区别?传奇域名谁有霸气一点的传奇名字。给个科创板首批名单科创板开市后,可以通过哪些基金参与科创板投资和打新股?可信网站可信网站认证网络u盘网吧网络U盘是怎么弄的123456hd手机卡上出现符号hd怎么取消400电话查询400电话号码可以查询归属地吗?办理400电话是不是很贵?
域名主机基地 花生壳域名贝锐 踢楼 linode 韩国电信 godaddy续费优惠码 NetSpeeder 主机合租 panel1 阿里云浏览器 韩国名字大全 最好的免费空间 phpmyadmin配置 网游服务器 支持外链的相册 中国电信宽带测速器 西安服务器托管 电信网络测速器 中国电信测速网站 实惠 更多