本文将快速引导您如何在API网关中,发布后端服务为对象存储(OSS)类型的API,并如何使用“阿里云APP“认证中的AppKey和AppSecret进行调用。本功能仅专享实例支持。
1. 概述
您需要依次完成以下步骤:
开通对象存储(OSS)服务
创建分组
创建并定义API
创建应用和API授权
安全组放行
调试API
调用API
2. 创建存储空间(Bucket)
阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高持久的云存储服务,OSS具有与平台无关的RESTful API接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。现在,API网关支持创建后端服务为OSS的API,通过创建后端为OSS的API进行对象存储操作时,您不仅可以对您的存储空间进行文件上传,下载和删除等操作,也可以集成API网关的能力,为您的业务提供更可靠的服务,此外,对于同地域的API网关和OSS服务,我们支持通过内网访问。
步骤1 开通对象存储(OSS)服务
登录阿里云控制台,选择对象存储(OSS),按照指引开通OSS服务
步骤2 创建存储空间(Bucket)
更多配置,可参考创建存储空间,本示例并未进行过多的设置。
3. 创建API分组
API分组是API的管理单元,因此需要先创建API分组,然后在分组下创建API。
步骤3 创建分组
在API管理中选择分组管理,选择Region,单击创建分组;在弹窗页面,选择您的专享实例,输入分组名称。
步骤4 查看分组信息
在分组列表查看创建好的分组,单击名称可以进入到详情页,进行绑定域名、修改基本信息、切换实例类型等动作。
API分组会自动创建公网二级域名,此二级域名仅供调试使用,如果直接访问此域名,每天有1000次的限制(海外Region及中国香港限制100次/天)。因此建议您在使用时为分组绑定您的独立域名后使用。在本示例中使用此域名进行测试。
4. 创建API
在API管理菜单中选择API列表,在上一步中创建的API分组所在Region,单击创建API。
步骤5 API基本信息
本环节是定义了API基本信息,包括API分组、API名称、安全认证方式、API类型、和描述等。选择刚刚创建的分组,写入对应配置,安全认证主要选择APPcode(header&Query)认证。
步骤6 定义API请求
本环节是定义client端(如浏览器、手机APP或其他的业务系统)如何请求您的API,需要确定的内容包括请求类型、协议、请求Path、HTTP Method、入参请求模式、和入参定义。在本例中,HTTP Method选择GET,入参请求方式选择入参透传,表示发送过来的参数API网关不做处理,直接透传给后端服务。
需要声明在API请求里定义的API请求的HTTP Method会影响可以调用的OSS方式,目前网关支持OSS的HTTP Method有GET,PUT,POST,HEAD,DELETE,对应OSS的请求方式如下:
GET:GetObject
PUT:PutObject
POST:PostObject, AppendObject
HEAD:HeadObject, GetObjectMeta
DELETE:DeleteObject
对应的OSS的请求说明可以参考OSS的开发文档简介
步骤7 定义API后端服务
本环节是定于API网关收到client端的请求后,进行何种参数映射、处理,以及连接哪个后端地址。本例中的后端服务类型选择OSS,由于前边定义API请求方式选择了GET,后端定义里的Action选择GetObject,推荐您选择同区域下的OSS,网关将通过内网请求您的OSS服务。
由于网关要访问您的对象存储服务,在您填写完后端服务的信息之后,会提示您进行Bucket授权,只有授权之后,网关才能对您的服务进行访问。
如上图所示,由于示例里选择了GetObject,您可以选择授权整个bucket的读权限给网关,也可以授权部分权限给网关。授予的是读写或删除权限与您的Action有关,如果您之后想删除授权,可以到您的OSS控制台下-->权限管理-->Bucket授权策略-->设置里手动删除授权。
步骤8 定义返回结果
本环节用于API帮助文档的自助生成,帮助API使用者更好理解。可以设置返回ContentType、返回结果示例和失败返回结果示例。本例中不涉及到这部分,因此可以单击保存按钮。
步骤9 发布API
您对API进行过任何的配置,都需要发布到对应的环境(API网关内置了三个环境:“线上“、“预发“、“测试“)中才能够生效。本例中,单击发布,按照控制台页面的提示,把此API发布到“线上“环境。
5. 创建应用和API授权
应用(APP)是您调用API服务时的身份。在本例中的步骤5中,认证方式选择的是“阿里云APP认证“,因此在API发布后,还需要创建APP,并将APP和API的对应关系建立好,才能够正常访问。
步骤10 创建应用
在API管理中选择应用管理,创建一个APP,点击进入。可以看到阿里云APP下有两种认证方式,AppKey和AppCode。本例中我们选择使用APPCode的方式进行简单认证。关于阿里云APP的更多描述可见此文档使用简单认证(AppCode)方式调用API。
步骤11 对API进行授权
在API列表,找刚创建好的API,在操作项中,单击授权。注意环境需要选择已经进行了发布的环境,如本例中的"线上"。搜索之前创建的应用,单击添加;单击确定,提示授权成功,即成功授权。
6. 调试API
API网关提供了在线调试的功能,因此一般建议在API网关上完成API配置之后,可以先通过此功能确认API是否配置成功,然后再通过client端进行调用。
步骤12 调试API
在API列表,单击前面步骤中新增的API,进入详情页,单击调试API进入。如果您定义了API的入参,在调试API页面中也可以输出不同的参数查看API的执行情况。
在调试API中,注意认证方式选择已经授权的APP,并且stage选择此APP授权好的环境,如果选择错误的stage,可能会造成API调试失败。
7. 调用API
通过上述步骤,您已经创建API、创建APP、建立了授权关系,调试API完成,并将API发布到线上环境,本阶段将会模拟如何使用APPCode的认证方式来在您的业务系统中调用发布好的API。
步骤13 调用API
可以参考API网关调用概述了解更多,本例中使用curl进行调用。
调用结果如图所示: