腾讯云无服务器云函数的使用
云函数
云函数是什么
云函数就是云供应商把底层的开发平台搭建好,我们可以直接编写函数代码放在云函数平台上,然后调用函数实现相应的功能。而不需要去考虑开发平台。它是由事件触发,只有事件触发时才会调用函数。调用函数时,由云函数平台向资源池中申请运行函数所需要的资源,再分配给函数运行,比如CPU、内存等资源。函数执行完后由平台将资源回收到资源池中;事件没触发时,它所需要的资源是处于闲置状态的。函数调用时申请资源,运行完后回收资源,能够使得资源得到高效的利用。而且云函数平台也保证了资源分配的高可用。
优点
云函数,它是一个不需要购买服务器的情况下,就能运行函数。有上面云函数的简介看出它的优点有:
不需要购买服务器 ,它不会占用服务器资源,能够减轻服务器的压力;
不需要考虑底层的开发平台和运维底层的开发平台由云供应商搭建好,自己使用什么语言编写的函数就选择什么开发平台(云函数平台上做选择),而且不需要做任何的运维性操作;
事件触发,只有事件触发时才调用函数,事件不触发时,函数所需要的资源是闲置的;
资源的高效利用,函数调用时才分配资源,函数运行完后将资源回收;
资源分配的高可用,函数运行时资源不够,平台会再向资源池中申请资源,而且支持跨可用区容灾;
支持业务的永不中断,支持自动伸缩,部分函数故障不影响应用;还可以自动部署多可用区实现容灾,也就是某可用区发生故障导致瘫痪,云函数会自动选择其他可用区的基础设施来运行函数。
边缘函数
边缘函数与云函数不同之处主要在于函数运行的位置。云函数运行在腾讯云上,边缘函数运行在本地。边缘函数同步本地设备后,能够在设备断网的情况下按配置支持运行,不受网络条件影响。边缘函数的经典案例:物联网领域。物联网设备有些运用需要云端的计算能力,有些运用支持物联网本地设备计算。最简单的案例就是车载系统,车载系统也需要联接网络来进行计算。万一网络中断,那么它就可以调用车载系统本地的函数、资源来进行计算。这就是边缘函数。边缘函数目前还在快速的兴起阶段,还没到普遍运用。
边缘函数特点
运行在本地,充分利用本地闲置资源,实现本地资源的高效利用;
实现边缘设备与云的结合,在自有的设备上运行运用,管理、转发和缓存消息,能够实现边缘设备与云的结合;
快速响应,因为边缘函数在本地设备上运行,更靠近数据源,所以它能够快速的做出响应。
腾讯云上云函数的使用实验
实验简述
上传一张图片到对象存储中,上传动作触发云函数,将图片压缩后重新存储。能够满足不同用的需求,用户需要小码率的图片就下载小码率的图片,需要大码率图片就下载大码率图片。
准备工作
腾讯云账号(可以不用充值);
准备函数代码包(不会编写函数的话可用选择腾讯云上的模板函数);
了解云函数的使用;
了解对象存储的使用。
实验步骤
在云产品中选择对象存储
再选择存储桶列表,创建存储桶
名称根据函数编写来确定。这里使用模板函数,可以随便取名。注意地域的选择,待会选择云函数的地域时要和这里一致。
按照3、4步骤再创建一个存储桶。将其中一个存储桶作为原存储桶,用于存放上传的原图片;另外一个存储桶作为目的存储桶,用于存放压缩后的图片。
创建云函数,在云产品中选择云函数
选择函数服务,选择和存储桶相同的地域,然后 新建 一个云函数。
输入函数名称,选择模板函数,再选择图片压缩,语言python2.7,再点击下一步。
进入函数在线编辑模式,修改Thumbnail.py文件中的参数。
appid、secret_id、secret_key在访问密钥中获取。要注意复制密钥时不能带有空格
目的存储桶名称,主要要将后缀appid带上。
修改完后点击完成。
因云函数是由事件触发运行的,所以需要添加触发方式。如下图,触发方式选择COS触发,COS Bucket选择原存储桶lcq,然后提交。
一切准备就绪,接下来就是见证奇迹的时候了。回到对象存储,在原存储桶lcq中上传一张图片,然后在目的存储桶中查看是否有一张被压缩的图片。
总结
云函数的用途还是比较多的。比如,有些运用调用不到几次,一个月也许就调用三四次,甚至有时一次都用不到。这时,就可以将该运用做成云函数,跑在云函数中,需要使用时设置事件触发函数就能运行函数,且不占用服务器的资源,能够减轻服务器负担,而且收费也便宜,可以按调用次数来计费。可以说是非常方便。
共有 0 条评论