现在基本各大云服务厂家都开始部署Serverless方案,serverless并不是真正的 "无服务器",而是你在使用过程中不用过多考虑服务器配置等问题。
Serverless的应用架构是将BaaS和FaaS组合在一起的应用,用户只需要关注应用的业务逻辑代码,编写函数为粒度将其运行在FaaS平台上,并且和BaaS第三方服务整合在一起,最后就搭建了一个完整的系统。
腾讯云函数和API网关是腾讯在Serverless方面的部署,目前面向大众提供资源使用量40万GBs,调用次数为100万次。支持PYTHON、JAVA、GO、PHP、nodejs等多个语言,并且可以在一个云函数中允许运行多个语言,还有相当多的设置好的模板可以使用。
因为我也刚刚的接触腾讯云函数和API网关,所以就简单的介绍一下,我利用腾讯云函数结合腾讯云图像文字识别的小实例。
我的预期设想,通过本地少量的PYHTON语言来调用API网关来启动云函数并获取返回图片中的文字。
首先需要创建云函数,因为我要运行PYHTON3的语言,所以选择python,可以看到有我们需要的模版,图片生成文字直接选用并生成函数。因为模版采用的是base64来传递,我打算用ImageUrl来传递,所以需要修改一行代码。
我调用的时候只需要secret_id和secret_key,所以删除token,并把secret_id和secret_key改为了固定值。
params = '{"ImageBase64":"%s"}'%event['body']
改为
params = '{"ImageUrl":"%s"}'%event['body']
最后代码类似于下方:
代码部分准备好之后,保存即可。之后我们需要设置通过API来进行触发运行。添加api网关触发
访问路径是api网关。本地代码就是简单的请求通过post将body内的图片地址传递到API中,并获取返回值来进行处理。
本地代码我是通过requests.post指定好headers以及body内容来进行的,body内容是传递的图片路径。于是就网上随便找了张图片来进行返回。
看下日志返回内容是:
总结:这样简单的利用腾讯云函数和API网关进行图片转文字就实现了,虽说完全没这个必要操作,但是为了学习还是尝试了。如代码写的不规范还请指教。