本文将快速引导您如何在API网关中,发布后端服务为事件总线类型的API,并如何使用“阿里云APP“认证中的AppCode进行调用。
概述
您需要依次完成以下步骤:
创建后端服务
创建API分组
定义API
创建应用和API授权
调试API
调用API
前提条件
您需要先开通事件总线,并创建自己的自定义事件总线,详情可以参考管理自定义事件总线
创建后端服务
登录API网关控制台,在左侧导航栏选择API管理-后端服务;
在界面的右上角选择创建后端服务,在弹出来的对话框中填入后端服务名称,后端类型选择“事件总线EventBridge”,单击确定创建后端服务;
在后端服务列表中找到您刚创建的后端服务,在后边的操作栏中选择配置及关联的API。
选择“线上”环境,在界面的右侧选择创建进入后端服务在线上环境的配置界面,只有在环境上创建了后端服务,之后的步骤中创建的API才可以发布到相应的环境;
在定义后端服务界面,可以选择在事件总线控制台创建的事件总线。
当事件总线和API网关在同一地域中时(此例中均为杭州),在发起API调用时,网关将通过内网将事件推送到事件总线中。
创建API分组
API分组是API的管理单元,因此需要先创建API分组,然后在分组下创建API。
在API网关控制台左侧导航栏选择API管理-分组管理,在界面的右上角单击创建分组;在弹窗页面,选择分组实例,输入分组名称,选择实例。注意API网关的分组需要和事件总线处于同一Region。
在分组列表查看创建好的分组,单击名称可以进入到详情页,进行绑定域名、修改基本信息、切换实例类型等动作。
API分组会自动创建公网二级域名,此二级域名仅供调试使用,如果直接访问此域名,每天有1000次的限制(海外Region及中国香港限制100次/天)。因此建议您在使用时为分组绑定您的独立域名后使用。在本示例中使用此域名进行测试。
创建API
在API网关控制台左侧导航栏选择API管理-API列表,在界面的右上角单击创建API。
API基本信息
本环节是定义了API基本信息,包括API分组、API名称、安全认证方式、API类型、和描述等。选择刚刚创建的分组,写入对应配置,安全认证选择APPcode(header&Query)认证。
定义API请求
本环节是定义client端(如浏览器、手机APP或其他的业务系统)如何请求您的API,需要确定的内容包括请求类型、协议、请求Path、HTTP Method、入参请求模式、和入参定义。在本例中,入参请求方式选择入参透传,表示发送过来的参数API网关不做处理,直接透传给事件总线。
定义API后端服务信息
本环节是定于API网关收到client端的请求后,进行何种参数映射、处理,以及连接哪个后端地址。本例中的后端服务类型选择使用已有的后端服务-事件总线,选择之前创建的后端服务,进行下一步。
后端服务为事件总线的API当前只支持使用后端服务的方式,不支持自定义的方式;
定义返回结果
本环节用于API帮助文档的自助生成,帮助API使用者更好理解。可以设置返回结果示例和失败返回结果示例。本例中不涉及到这部分,因此可以单击保存按钮。
发布API
对API进行过任何的配置,都需要发布到对应的环境中才能够生效。本例中在创建后端服务的时候,只在线上环境进行了后端服务配置,因此这里只可以发布到线上环境,如果您需要发布到其他环境,需要在您刚创建的后端服务的其他环境配置后端服务定义。单击发布,按照控制台页面的提示,把此API发布到“线上“环境。
创建应用和API授权
应用(APP)是您调用API服务时的身份。在本例创建API的时候,认证方式选择的是“阿里云APP认证“,因此在API发布后,还需要创建APP,并将APP和API的对应关系建立好,才能够正常访问。
创建应用
在API网关控制台左侧导航栏选择API管理-应用管理,创建一个APP。可以看到阿里云APP下有两种认证方式,AppKey和AppCode。本例中我们选择使用APPCode的方式进行简单认证。关于阿里云APP的更多描述可见此文档授权管理。
对API进行授权
在API列表,找刚创建好的API,在操作项中,单击授权。注意环境需要选择已经进行了发布的环境,如本例中的“线上“。搜索之前创建的应用,单击添加;单击确定,提示授权成功,即成功授权。
调试API
API网关提供了在线调试的功能,因此一般建议在API网关上完成API配置之后,可以先通过此功能确认API是否配置成功,然后再通过client端进行调用。
在API列表,单击前面步骤中新增的API,进入详情页,单击调试API进入如下页面。如果您定义了API的入参,在调试API页面中也可以输出不同的参数查看API的执行情况。
在调试API中,注意认证方式选择已经授权的APP,并且stage选择此APP授权好的环境,如果选择错误的stage,可能会造成API调试失败。本例中选择RELEASE(线上)。
调试成功后,您可以根据返回的事件ID,到您的事件总线中根据事件ID查询事件的详情。
调用API
通过上述步骤,已经创建API、创建APP、建立了授权关系,调试API完成,并将API发布到线上环境,本阶段使用APPCode的认证方式来调用发布好的API。
可以参考使用简单认证(AppCode)方式调用API了解更多。