Serverless试飞员的夙愿 | 带您扶摇直上,酣畅淋漓的云上作战

发布时间 2023-06-27 14:24:49作者: Mayism123
上期博文带您体验了外挂云函数Demo包,感受通过云函数使用云数据库快速突破“音障”,进入“长机”云函数+“僚机”云数据库的Serverless云上作战阵型,试飞“筋斗”、“横滚”两个经典实战动作。不知道您是否有种突破障碍,酣畅淋漓操控Serverless云函数和云数据库的快感。

我是一名普通的Serverless DTSE,每次Serverless云服务版本全网前,我都会战战兢兢去体验和验收新的功能点,就像平凡的试飞员,为战士提前试驾新型战机一样,我也有试飞员那般的夙愿。。。。。。

 

云数据库作为Serverless云的处理数据重要一环,是开发元服务过程中必不可少的服务。相比于关系型数据库,AppGallery Connect(简称AGC)主推的Serverless云数据库是对象型数据库,开发者可通过AGC提供的各种端/云SDK来进行增删改查的操作。然而无论是通过端侧SDK还是云侧SDK去操作都需要经历存放json文件,初始化等一系列琐碎操作,有时候光初始化步骤就占用了很多的工作量。

为让不少开发者突破使用云数据库的初学障碍,像战士般操控战机一般不惧起飞的艰难尽快步入Serverless云上作战阵型,AGC推出了通过云函数使用云数据库的外挂Demo包。开发者仅需简单的调用云函数就能灵活操作云数据库,无需关注云数据库的初始化以及接口调用的琐碎,让你更加聚焦元服务业务逻辑开发。长机+僚机的作战阵型,让您无需关注调用“僚机”云数据库不同名称的接口,仅需通过“长机”云函数在调用时传入接口名称和待操作的数据即可。

外挂Demo包如此便捷,作为开发者的您,是不是也想了解其中的“骚操作”?其实也不复杂,关键就是2个理念,封装初始化归一化调用接口。

 

封装初始化

cke_1827.png

初始化过程中直接接入SDK需要大概5步左右,调用不同的初始化接口完成AGCClientAGConnectCloudDBCloudDBZone等多个对象的初始化。仔细分析这些初始化跟项目绑定的内容并不多,只有初始化AGCClient时的项目配置文件以及初始化CloudDBZone时的数据库存储区。因此我们将这两个参数开放给开发者自定义,开发者将项目配置文件放在指定的文件夹中并将文件名称放入指定参数就可以保证文件可以被读取到。由于云函数的运行环境等问题,很多开发者都需要经过很多不同的尝试才可以让函数可以在云函数环境被读取到,Demo的设置就可以让开发者完全省去这部分尝试的工作量。数据库存储区的设置也是类似的思路,开发者只需要将创建的存储区名称放入指定参数即可。通过这样封装后,开发者只需配置2个对象的入参,完整初始化流程的多个对象初始化、文件适配等等Demo包都帮您做了。

 

归一化调用接口

cke_4244.png

功能部分逻辑也非常的简单。对于开发者来说,您只需调用云函数的时候传入不同的操作与数据,即可完成云数据库的增删改查操作。Demo已经帮您实现调用一个函数即可调用不同操作接口,您无需在每次调用不同云数据库接口时,重复为怎么代码实现而苦恼。

当然,在Demo中并不是所有操作都能通过调用一个接口就可以完成,复合查询是一个例外。复合查询包括了很多不同的查询条件,例如包含、不包含、等于、不等于等等,一种条件可能有多个并且不同的查询条件进行自由组合。所以开发者可以将所有的条件通过json形式全部罗列出来,一种条件中可以放入多个值,Demo会逐一遍历所有条件并在条件中循环,直到该条件中所有的值都被加入到查询条件中。

 

试飞员的夙愿

我就像一名平凡的试飞员,想带给您不凡的云上作战体验。宁可把自己的飞机摔在研发的试验场上,也绝不能让开发障碍出现在开发者的战场上。我们的梦想,是让Serverless云上作战不再是一个遥远的梦想。

当前外挂Demo包基本上覆盖了云数据库所有的增删改查操作。如果有遗漏,开发者也可以直接通过接口名称找到对应的方法并将自己定制的操作与条件放入方法,即可完成Demo自定义。

愿每个使用AGC Serverless开发者,如同战机飞行员早日在Serverless云上展翅翱翔、放飞自我在元服务的开发实战中一展长空英姿。