为了提供更安全、更可控的API访问方式,您可以通过API网关来更好的管理和监控函数计算服务,本文将快速引导您如何在API网关中对接函数计算FC3.0(Web函数),以及如何使用阿里云APP认证中的AppCode进行调用。
前提条件
方案概览
本方案通过在函数计算3.0中部署Web函数,在API网关中创建后端服务并指向函数计算,使用阿里云APP认证中的AppCode进行安全调用,帮助您了解如何通过API网关控制对函数计算服务的访问。大致分为以下几步:
创建Web函数:构建一个基于函数计算3.0的Web应用程序。
创建后端服务:在API网关中定义一个指向函数计算服务的后端服务,确保API请求能准确地转发给对应的Web函数,实现前后端的无缝集成。
创建API:使得外部应用能够按照指定的方式调用内部的Web函数服务。
创建应用和API授权:建立API访问的身份验证机制,确保只有经过授权的应用才能调用特定的API,增强系统的安全性。
调试API:利用API网关提供的在线调试工具,可以在正式发布前测试API的功能是否按预期工作,及时发现并解决问题。
调用API:完成所有配置后,即可通过API网关提供的API接口对外提供服务,支持其他系统或应用调用。
步骤一:创建Web函数
在API网关对接函数计算服务前,需要先在函数计算服务中创建一个Web函数,帮助您快速构建和部署Web应用,本文以函数计算3.0为例。
登录函数计算3.0控制台,单击左侧导航栏的函数,进入函数页面,并在顶部菜单栏选择地域。
重要创建的Web函数的地域应与API网关实例地域相同。
在函数页面,单击创建函数,选择Web函数,并进行如下配置,然后单击创建。
基本设置:设置函数名称。
函数代码:配置函数的运行环境和代码信息,启动命令和监听端口使用默认配置。
在函数创建成功后将自动进入函数详情页,单击配置栏,在左侧导航栏选择触发器,在目标触发器的配置信息列处复制触发器的内网访问地址:
https://helloworld-***.cn-hangzhou-vpc.fcapp.run
方便在创建后端服务时使用。
步骤二:创建后端服务
API网关允许将后端服务配置为地域内的资源,简化管理流程。您只需在API网关中新建后端服务,并配置后端服务地址来对接函数计算服务即可。
步骤三:创建API
创建API使得外部应用能够按照指定的方式调用内部的Web函数服务,使用API分组组织和管理多个相关的API接口,便于实施统一的安全策略和流量控制措施。
在API网关控制台,左侧导航栏选择API管理 > 分组管理,单击创建分组以便对API进行管理。
在创建分组弹框页面,选择实例,输入分组名称为
FC-Group
,BasePath为/
,单击确定。分组创建完之后,单击所建分组操作列下的API管理,进入API列表页面。
单击创建API,在基本信息栏,配置如下信息,并单击下一步。
在定义API请求栏,配置请求Path为
/
,其他信息保持默认,单击下一步。在定义API后端服务栏,如图所示进行配置,并单击下一步。
在定义返回结果栏,保持系统默认配置,单击创建,在创建成功之后,单击API操作列中的发布。
在发布API弹框中,进行如下配置,并单击发布。
步骤四:创建应用和API授权
应用(APP)是调用API服务时的身份,在创建API时,认证方式选择的是阿里云APP认证,因此在API发布后,还需要创建APP,并将APP和API的授权关系建立好,才能够正常访问。
在API网关控制台的左侧导航栏选择API调用 > 应用管理。
在应用与授权页面,单击右上角创建APP。在创建应用页面,输入应用名称为
fcAPP
,单击确定。单击已创建好的
fcApp
应用名称,进入应用详情页面,可以看到阿里云APP下有两种认证方式,AppKey
和AppCode
。AppKey
方式有一组AppKey
和AppSecret
,您可以理解为账号密码,调用API的时候需要将AppKey
作为参数传入,AppSecret
用于签名计算,网关会校验这对密钥对您进行身份认证。在左侧导航栏选择API管理 > API列表,在API列表页面,找到已创建好的
FC-test
API,单击操作列> 授权。在授权页面,配置选择要授权的环境为线上。搜索之前创建的应用
fcApp
,单击添加并确定,提示授权成功,即成功授权。
步骤五:调试API
利用API网关提供的在线调试工具,可以在正式发布前测试API的功能是否按预期工作,及时发现并解决问题。
在API网关控制台左侧导航栏选择API调用 > 调试。
在调试页面选择,所创建的
FC-test
API,验证方式选择使用AppCode,然后单击发送请求,看到下图信息说明配置成功。
步骤六:调用API
您已经创建API、创建APP、建立了授权关系,调试API完成,并将API发布到线上环境,下面介绍如何使用APPCode的认证方式来在您的业务系统中调用发布好的API。可参考使用简单认证(AppCode)方式调用API了解更多,本例中使用curl进行调用。
在API网关控制台左侧导航栏API调用 > 应用管理,在应用与授权页面找到授权的APP,单击进入获取APPCode。然后按照以下示例调用API。
curl -i -X GET "http://fd6f8e2b7bf44ab181a56****-cn-hangzhou.alicloudapi.com" -H "Authorization:APPCODE 7d2b7e4945ce44028ab00***"
执行效果如下图所示: