全部产品
Search
文档中心

API 网关:使用后端服务提高管理效率

更新时间:Feb 26, 2024

本文将快速引导您在API网关创建后端服务,并使用该后端服务创建,发布,管理API。

概述

随着用户管理的API越来越多,为了让用户更方便的对API进行治理,API网关将现在支持的后端服务提取为region上的资源。用户可以在API网关控制台统一配置后端,然后在不同的环境上定义不同的后端地址,创建API的时候先选择后端,然后根据发布的环境不同,指向不同的后端地址;同时,用户可以在后端服务的配置页面对已经发布的API进行统一管理,例如:

1. 当用户的某个后端服务在测试环境的后端地址A需要修改为后端地址B时,只需要修改该后端服务在测试环境上的后端地址,与之关联的API将会自动更新,用户不需要重新发布,直接调用API就可以指向新的后端地址B;

2. 当用户的某个后端服务在测试环境的后端地址不再提供使用,可以删除后端服务在测试环境上的后端地址,与之关联的API将会被批量下线。

具体的操作,我们会在下文做进一步详细说明:

步骤

  1. 创建后端服务;

  2. 为后端服务指定不同环境的后端地址;

  3. 创建并定义API;

  4. 创建应用和API授权;

  5. API调试

  6. 对API统一管理;

创建后端服务

  1. 登录API网关控制台,在左侧导航栏API管理下,选择后端服务,进入后端服务列表页面;

  2. 在界面右上角单击创建后端服务,进行后端服务的创建,这里以HTTP类型为例(海外region及中国香港不支持创建HTTP/OSS类型的后端服务):

每个后端服务都会指定为一种后端类型,创建后,类型不可以修改,后端服务名称和描述可以重复修改;当前支持的后端服务类型有HTTP,VPC,函数计算,OSS和MOCK。

重要

需要注意的是,当前金融云和政务云环境暂不支持使用OSS作为后端服务,在之后的版本里我们会支持金融云和政务云创建后端服务为OSS的API;(海外region及中国香港不支持创建HTTP/OSS类型的后端服务)

为后端服务指定不同环境的后端地址

  1. 创建好后端服务以后,在后端服务后的操作栏选择配置及关联的API,进入后端服务定义页面;界面上的四个选项卡中,‘草稿’可以查看使用了该后端服务的API,‘测试,预发,线上’可以定义具体的后端服务地址,并且可以查看使用了该后端服务并进行了发布的API;

  2. 选择其中一个环境如测试环境,选择右上角的创建;

  3. 在该页面定义后端服务的地址,填入后端服务地址后单击发布,页面会提示发布成功,即可进入API的创建;

  4. 这里,我们对各类型的后端服务进行一个简单的说明:

说明

对于HTTP类型的后端服务,仅需要填入后端服务的地址;

对于VPC类型的后端服务,定义VPC后端服务需要选择您在VPC授权里创建的授权,您也可以勾选使用HTTPS协议,勾选后,在请求后端的时候将会使用HTTPS协议;

对于函数计算的后端服务,首先需要选择函数计算的类型是事件类型或HTTP类型;如果是事件函数,需要按照表格中的内容填入需要的信息,如果是HTTP函数需要填入触发器路径;

对于OSS的后端服务,为了网关访问您在对象存储中的文件,您需要对网关进行授权,其中对于读权限,网关获取的权限是指定bucket下的oss:GetObject,对于写权限,网关获取的权限是指定bucket下的oss:PutObject和oss:DeleteObject,您在之后如果想取消授权,可以在bucket里的bucket策略中手动删除即可。

创建并定义API

  1. 在左侧导航栏选择API列表,在API列表页,单击右上角创建API进入API创建页面;

  2. 配置API基本信息:本环节是定义了API基本信息,包括API分组、API名称、安全认证方式、API类型、和描述等。选择您的分组,并写入对应配置,单击下一步。为了方便之后的测试,这里我们将AppCode认证选择为允许APPcode认证(header&Query)

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

  4. 定义API后端服务:本环节是定义API网关收到client端的请求后,进行何种参数映射、处理,以及连接哪个后端地址,这里我们使用之前创建的后端服务进行说明:首先在后端配置选择使用已有的后端服务;然后选择后端服务类型,控制台会自动过滤您所选类型的后端服务,选择我们前边创建的后端服务testHttp,将鼠标放在查看环境配置上可以看到该后端服务在不同环境上的具体后端地址;选好后端服务以后,对于不同的后端服务类型,对其他的配置进行补全即可,对于后端为HTTP类型的API需要填写后端请求path,HTTP Method和后端超时时间;

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

  6. 发布API:在上一环节保存成功后,会提示您进行发布,您对API进行过任何的配置,都需要发布到对应的环境(API网关内置了三个环境:“线上“、“预发“、“测试“)中才能够生效。

    重要

    需要注意的是,使用后端服务进行发布的时候,需要您先在对应的环境上进行定义才能进行发布,否则无法单击发布按钮。

创建应用和API授权

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

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

  3. 在API列表,找到刚创建好的API,在操作项中,单击授权。注意环境需要选择已经进行了发布的环境。搜索之前创建的应用,单击添加;单击确定,提示授权成功,即成功授权。

API调试

授权成功后即可进行API调试,API网关提供了在线调试的功能,因此一般建议在API网关上完成API配置之后,可以先通过此功能确认API是否配置成功,然后再通过client端进行调用。在API列表页,选择之前创建的API,进入详情页,单击调试API。如果您定义了API的入参,在调试API页面中也可以输出不同的参数查看API的执行情况。在调试API中,注意认证方式选择已经授权的APP,并且stage选择此APP授权好的环境,如果选择错误的stage,可能会造成API调试失败。

对API统一管理

  1. 当您修改后端服务在某个环境上的定义时,那么发布在该环境上的所有使用该后端的API都会被批量发布刷新。

  2. 现在有多个API使用了后端服务testHttp,并且发布在了测试环境,单击右上角修改进入修改界面,现在修改后端地址并进行发布,会提示您当前环境有已经发布的API,修改后关联的API会批量更新后端地址,确定之后可以在列表中看到发布的API的发布结果,当您再使用API进行调用的时候,就会请求到新的后端地址。

  3. 当您的后端服务的某个环境上的后端地址不再使用,您可以选择删除后端服务在该环境的定义删除以后,使用该后端服务并发布在此环境上的API都会被批量下线处理。

    警告

    以上操作都会对API批量操作且不可逆,请您谨慎进行操作。