文档

通过API网关对接函数计算服务(Web函数)

更新时间:

本文将快速引导您如何在API网关中对接函数计算服务(Web函数),以及如何使用阿里云APP认证中的AppCode进行调用。

配置流程

您需要依次完成以下步骤:

  1. 创建Web函数

  2. 创建后端服务

  3. 创建分组

  4. 创建API

  5. 创建应用和API授权

  6. 调试API

  7. 调用API

创建Web函数

  1. 在配置API网关前,需要先在函数计算中创建一个Web函数,可参见创建Web函数

    重要

    创建函数计算服务(Web函数)的地域与API网关实例地域相同,且使用的函数代码运行环境是Java8,代码上传方式是使用示例代码。

  2. 在函数创建成功后进入函数详情页,单击配置栏,在左侧导航栏选择触发器,在目标触发器的配置信息列处复制触发器的内网访问地址https://***-helloworld-**.cn-hangzhou.fcapp.run

创建后端服务

API网关允许将后端服务配置为region内的资源,简化管理流程。您只需在API网关控制台新建后端服务,并在其环境中配置不同的后端服务地址。随后,在创建API时,直接选用已配置的后端服务即可。

  1. 登录API网关控制台,选择地域并在左侧导航栏选择API管理 > 后端服务,单击右上角创建后端服务

  2. 创建后端服务弹框中,填写名称FC-backend类型选择函数计算产品版本选择函数计算3.0函数类型选择HTTP函数单击确定

  3. 在后端服务列表页面,单击FC-backend的后端服务,选择线上,单击右上角创建

  4. 在创建的基本信息页面,输入创建Web函数触发器路径https://***-helloworld-**.cn-hangzhou.fcapp.run,单击发布

    image

创建分组

API分组是API的管理单元,因此需要先创建API分组,然后在分组下创建API。

  1. 登录API网关控制台,选择地域并在左侧导航栏选择API管理 < 分组管理,单击右上角创建分组

  2. 创建分组弹框页面,选择实例,输入分组名称FC-GroupBasePath/,单击确定

    image

    说明

    API网关的分组需要和函数计算处于同一地域。

创建API

  1. 登录API网关控制台,选择地域并在左侧导航栏选择API管理 > 分组管理

  2. 分组列表页面下,单击所创建的FC-test分组操作列下的API管理

  3. API列表页面,单击右上角创建API

  4. 创建API页面的基本信息栏,配置如下信息,单击下一步

    配置项

    示例值

    分组

    FC-Group

    API名称

    FC-test

    安全认

    阿里云APP

    AppCode认证

    允许APPcode(header&Query)认证

    签名算法

    HMAC_SHA256

    image

  5. 定义API请求栏,配置如下信息,单击下一步

    image

  6. 定义API后端服务栏,配置如下信息,单击下一步

    配置项

    示例值

    后端配置

    选择使用已有的后端服务

    后端服务类型

    函数计算

    产品版本

    函数计算3.0

    函数类型

    HTTP函数

    后端服务

    FC-backend

    后端请求Path

    /

    HTTP Method

    GET

    后端超时

    10000

    image

    说明

    定于API网关收到客户端的请求后,进行何种参数映射、处理,以及连接哪个后端地址。本例中的后端服务类型选择函数计算,选择后端服务。

  7. 定义返回结果栏,单击创建

  8. 在创建成功之后弹框中单击发布

  9. 在发布弹框中发布的环境选择线上,输入请填写变更备注,单击发布

    image

创建应用和API授权

应用(APP)是调用API服务时的身份。在本例创建API时,认证方式选择的是阿里云APP认证,因此在API发布后,还需要创建APP,并将APP和API的授权关系建立好,才能够正常访问。

创建应用

  1. 登录API网关控制台,选择地域并在左侧导航栏选择API调用 > 应用管理

  2. 应用与授权页面,单击右上角创建APP

  3. 创建应用页面,输入应用名称fcAPP,单击确定

    image

  4. 应用与授权页面,单击已创建好的fcApp应用名称,进入应用详情页面,可以看到阿里云APP下有两种认证方式,AppKeyAppCodeAppKey方式有一组AppKeyAppSecret,您可以理解为账号密码,调用API的时候需要将AppKey做为参数传入,AppSecret用于签名计算,网关会校验这对密钥对您进行身份认证。

    image

对API进行授权

  1. 登录API网关控制台,选择地域并在左侧导航栏选择API管理 > API列表

  2. 在API列表页面,找到已创建好的FC-testAPI,单击操作image> 授权

  3. 在授权页面,选择选择要授权的环境线上。搜索之前创建的应用,单击添加确定,提示授权成功,即成功授权。

    image

调试API

API网关提供了在线调试的功能,因此一般建议在API网关上完成API配置之后,先通过此功能确认API是否配置成功,然后再通过客户端进行调用。

  1. 登录API网关控制台,在左侧导航栏选择API调用 > 调试

  2. 在调试页面选择,所创建的FC-testAPI,验证方式选择使用AppCode,然后单击发送请求,即可看到如下图信息说明配置成功。

    image

调用API

您已经创建API、创建APP、建立了授权关系,调试API完成,并将API发布到线上环境,下面介绍如何使用APPCode的认证方式来在您的业务系统中调用发布好的API。可参考使用简单认证(AppCode)方式调用API了解更多,本例中使用curl进行调用。

curl -i -X GET "http://fd6f8e2b7bf44ab181a56****-cn-hangzhou.alicloudapi.com" -H "Authorization:APPCODE 7d2b7e4945ce44028ab00***"

执行效果如下图所示:

image