具体的话在控制台上我这边已经写好了这个函数,我们通过查看函数执行日志来查看输出结果。这里我已经创建好一个bucket,这个用来用户上传图像来提取用户特征。我会做一些测试,我已经有一些测试图片了。我现在在网上随意下载一个用户的图像。我们看到这个图片上传成功了,叫范2,我现在到云函数控制台查看一下日志,这边可以看到时间是16点37分。现在是没有权限的,再上传一张图片,在new face提取一下特征,还是刚才那张图片。已经上传成功了。由于刚才是没有她的用户特征,所以这里会创建一个新用户。我在上传另外一张图片,这两张图片是不一样的,16点38分刚刚上传成功。现在再回到控制台这边查看日志,现在看到刚才范这张照片,可以查看到她的特征了。
我再给大家看一下代码。我刚才实现的代码里,大部分都是从cos里下载图片的代码和逻辑判断,实际做人像识别的代码是直接调AI接口。这里还会对图片做大小判断,如果太大的话会做一次裁剪,因为太大的话可能上传到cos时会报超时。下面我还列了一些对AI接口的操作,这里有很多的接口都封装到了SDK,直接调用大概也就几行就可以实现,比如人脸检索,特征信息创建,人脸比对两张照片是否是一个人,还有身份证识别,所以使用起来是很方便的。
现在回到PPT,这一部分介绍的是COS和SCF结合的应用架构和应用场景。第一页是放的云函数架构平台,这边是BaaS架构。用户可以上传代码和做一些配置在云函数平台,并选择COS触发器,同时也可以选择上传或者删除事件来触发这个云函数。文件上传到云函数后,可以在云函数里做很多操作,比如说我可以做日志备份,跨区域的文件复制,写云数据库,做一些图片处理或者语音识别等。或者我可以用SCF对接IoT平台,把数据推到IoT终端。大部分的云服务都可以和云函数平台做一个结合。
这样用的好处是COS这边可以提供高并发的场景。云函数这边也可以支持高并发。用户只用聚焦自身代码的实现,使服务可以快速上线,且当用户的调用量很大的时候,这个架构也能很好的应对,有效的应对波峰和波谷。
把才的场景轴象化、简单化后,可以看到左边是COS存储桶,我可以做上传删除等等,右边可以和其他的产品或者服务做结合,像自定义日志分析,和消息队列做事件通知。
这里举例用户头像制作,用户上传图片到COS,触发SCF运行,SCF对图片进行处理后发送到客户端,并写入COS,删除原图。假定我这边配置SCF内存128MB,单词执行时间1秒,平均每天被触发运行5万次。COS配置触发SCF运行,用户上传到COS的平均文件大小1MB,每天上传5万次,被SCF处理后,图片大小为100K。这样算出来SCF是这三部分的加和,因为这里免费额度的原因,所以这边资源使用费用是零,相当于是免费在使用Serverless。这边调用次数的费用是0.69元,每天触发调用5万次,一个月的费用不到1块钱。另外一个费用是因为这边有外网出流量,每次上传是多少GB,然后乘以5万次,再乘30天,每GB0.8元,算出来是144元。如果没有往客户端发流量,所有的流量都在平台内部打转的话,这个费用也是没有的,相当用SCF的费用基本上不到两块钱。
COS的话这边也是把免费额度扣除掉之后,每次用户上传,存100K的图片,加上读写IO,算出来是一个月14.6。所以这边加起来一个月不到130块钱。这是一个实际应用场景里COS和SCF的价格举例。