本文将快速引导您如何在API网关中,发布后端服务为函数计算类型的API,并如何使用“阿里云APP“认证中的AppCode进行调用。

1 概述

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

  • 创建函数;
  • 创建分组;
  • 定义API;
  • 创建应用和API授权;
  • 调试API;
  • 调用API。

2 创建函数

函数计算是一个事件驱动的服务。函数的执行可以由事件驱动,即当某个事件发生时,该事件触发函数的执行。现在,函数计算支持以API网关作为事件源。当请求设置函数计算为后端服务的API时,API网关会触发相应的函数,函数计算会将执行结果返回给API网关。

步骤1 在函数计算中选择apigateway模板

进入函数计算控制台后,选择函数所在地域,在服务-函数模块进行创建,您可以在模板函数选择对应模板api-gateway-nodejs6,此模板为一个和API网关对接的示例模板,进入下一步。

步骤2 配置函数

更多函数配置,可参考函数计算的相关文档,本示例并未进行过多的设置,如下图所示。

3 创建分组

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

步骤3 创建分组

开放API菜单中选择分组管理,选择Region,点击创建分组;在弹窗页面,选择分组实例,输入分组名称testFunctionGroup,实例选择“共享实例(VPC)“。注意API网关的分组需要和函数计算处于同一Region

步骤4 查看分组信息

在分组列表查看创建好的分组,点击名称可以进入到详情页,进行绑定域名、修改基本信息、切换实例类型等动作。

API分组会自动创建公网二级域名,此二级域名仅供调试使用,如果直接访问此域名,每天有1000次的限制。因此建议您在使用时为分组绑定您的独立域名后使用。在本示例中使用此域名进行测试。

4 创建API

开放API菜单中选择API管理,在上一步中创建的API分组所在Region,点击创建API。

步骤3 API基本信息

本环节是定义了API基本信息,包括API分组、API名称、安全认证方式、API类型、和描述等。选择刚刚创建的分组,写入对应配置,安全认证主要选择APPcode(header&Query)认证

步骤4 定义API请求

本环节是定义client端(如浏览器、手机APP或其他的业务系统)如何请求您的API,需要确定的内容包括请求类型、协议、请求Path、HTTP Method、入参请求模式、和入参定义。在本例中,入参请求方式选择入参透传,表示发送过来的参数API网关不做处理,直接透传给函数计算。

步骤5 定义API后端服务信息

本环节是定于API网关收到client端的请求后,进行何种参数映射、处理,以及连接哪个后端地址。本例中的后端服务类型选择函数计算,输入前面步骤中创建的函数服务名称,函数名称,点击获取授权,进行下一步。

步骤6 定义返回结果

本环节用于API帮助文档的自助生成,帮助API使用者更好理解。可以设置返回ContentType、返回结果示例和失败返回结果示例。本例中不涉及到这部分,因此可以点击保存按钮。

步骤7 发布API

在上一环节保存成功后,会提示如下信息。您对API进行过任何的配置,都需要发布到对应的环境(API网关内置了三个环境:“线上“、“预发“、“测试“)中才能够生效。本例中,点击发布,按照控制台页面的提示,把此API发布到“线上“环境。

5 创建应用和API授权

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

步骤8 创建应用

调用API菜单中选择应用管理,创建一个APP,如下图所示。可以看到阿里云APP下有两种认证方式,AppKey和AppCode。本例中我们选择使用APPCode的方式进行简单认证。关于阿里云APP的更多描述可见此文档阿里云APP认证说明

步骤9 对API进行授权

API列表,找刚创建好的API,在操作项中,点击授权,出现如下的弹出框。注意环境需要选择已经进行了发布的环境,如本例中的“线上“。搜索之前创建的应用,点击添加;点击确定,提示授权成功,即成功授权。

6 调试API

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

步骤10 调试API

API列表页,点击前面步骤中新增的API,进入详情页,点击调试API进入如下页面。如果您定义了API的入参,在调试API页面中也可以输出不同的参数查看API的执行情况。

在调试API中,注意认证方式选择已经授权的APP,并且stage选择此APP授权好的环境,如果选择错误的stage,可能会造成API调试失败。本例中选择RELEASE(线上)。

API返回内容为前面步骤中创建的函数返回内容,函数代码如下:

7 调用API

通过上述步骤,您已经创建API、创建APP、建立了授权关系,调试API完成,并将API发布到线上环境,本阶段将会模拟如何使用APPCode的认证方式来在您的业务系统中调用发布好的API。

步骤11 调用API

可以参考使用简单认证(AppCode)方式调用API了解更多,本例中使用curl进行调用。

执行效果如下图所示: