接上篇:
https://developer.aliyun.com/article/1224167?spm=a2c6h.13148508.setting.17.4f394f0em1x0Jq
二、 Serverless SDK介绍
图7 Serverless SDK介绍
小程序开发者可以集成Serverless SDK,通过Serverless SDK提供的标准能力访问云资源。SDK内部集成了便捷的鉴权方法,用户只需要调用一个接口即可完成EMAS Serverless的初始化鉴权。SDK会自动缓存用户的授权信息,用于后续服务调用过程完成鉴权。
除此之外,SDK提供了一套友好的接口规范。接入SDK之后,小程序开发者可以更加高效、安全地利用EMAS Serverless的云资源来设计和组织自己的业务代码。
图8 云函数功能群
SDK的各个接口规范对应EMAS Serverless控制台的云资源功能。
例如上图所示的云函数功能群,开发者可以通过调用云函数功能群的invoke接口来发起一个云函数的调用。其中,functionName是所调用的云函数名。functionArgs是传入目标云函数的参数。
图9 云数据库功能群
上图展示了云数据库功能群,云数据库功能群接口较多,对应了十几个功能。不仅包括基础的增删改查,也包括了mongoDB中去重、聚合等高级操作。
图10 云数据库接口示例
接下来,我们以SDK实现find接口为例,指定数据库中的数据表,然后进行相关操作。
上图所示的示例中展示了find接口的相关使用方法,其中接口的输入参数是查询条件或筛选条件。返回值对象中以result、success和affectedDocs构成的JSON模式是云数据功能群标准的返回结果结构。
图11 云存储功能群
云存储功能群以file作为接口标识,提供了上传和删除云存储文件的方法。
图12 用户信息功能群
Serverless SDK除了提供云函数、云数据库和云存储的访问以外,还提供了用户信息相关功能。用户可以通过Serverless SDK轻松拿到支付宝的ID。
如上图所示,用户信息功能群以user作为接口标识,提供了getInfo接口。开发者通过调用这个接口可以获得EMAS Serverless后台返回的三个信息:Serverless用户ID、支付宝用户ID以及服务空间ID。
三、 实战:Serverless SDK集成
图13 Serverless SDK依赖安装
接下来,演示如何集成Serverless SDK。
首先,初始化npm依赖管理:在支付宝小程序开发工具的「依赖管理」面板下,输入@alicloud/mpserverless-sdk并敲击回车进行依赖安装。
图14 依赖异常
编译后如果发现控制台出现了上述报错,请打开支付宝开发工具的「详情面板」,进入项目详情以后,勾选「node_modules模块」即可解决该问题。
图15 EMAS Serverless SDK集成
接下来,在支付宝小程序里引入SDK并实例化。其中,对象实例化的构造函数一共接受两部分参数:
1. 小程序所在的全局基础库对象,支付宝小程序是my,微信小程序是wx,钉钉小程序是dd。
2. 用户在EMAS Serverless控制台中获得的基本信息。
实例化的MPServerless对象生命周期覆盖整个小程序生命周期,因此可以将实例化的MPServerless对象挂载在小程序全局基础库对象之上,以便后续开发业务逻辑使用。
接下篇: