随着腾讯云的企业用户越来越多,而企业的场景也是多样化的,一方面作为云服务商需要不断地完善产品能力以满足更多业务需求,另一方面作为云用户其实也是可以利用已有的一些能力自行进行封装/组合从而满足自己的个性化需求。本文分享的例子则是利用SCF实现定时开关机的功能,希望能给用户起到参考作用。SCF+定时器+云API+监控能组装出来什么样的能力,各位可以结合自身业务需求来思考下,比如定时备份?比如定时拨测?也希望能对各位有启发,能更好地利用现有的云服务能力来更好地服务业务。
一、新建函数服务
1、登陆无服务器云函数控制台,点击【新建】按钮进行新建函数服务。
2、选择创建方式,以及运行环境。本次演示选择的是空白函数以及python 2.7,最后点击【完成】即可。
二、编辑函数配置
在新建好函数服务之后会进入函数配置的界面,通常情况下保持默认即可,也可以依据实际情况进行调整哈。
三、添加触发方式
当前SCF提供了三种触发方式,分别为定时触发、COS触发以及Ckafka触发。本文演示的是利用SCF实现定时开关机的功能,既然选择定时触发哈。
关于触发周期,可以选择自定义触发周期,自行编写Cron表达式,最后点击【保存】即可。
还可以随时开启、关闭这个定时触发器哦。
四、编写函数代码
由于当前的无服务器函数的环境还没有默认安装好CVM的SDK,所以暂时不能使用【在线编辑】的方式哈。此时我们可以选择【本地上传zip包】的方式来进行哈。
4.1关于zip代码包
1、关于zip代码包的要求可以查看官网说明哈,本次实例的代码包如下:
2、tencentcloud是腾讯云的python的SDK,可在官网下载哈。
3、关于test.py里面的示例代码,可以通过我们的在线工具生成哈。
4、最后则是上传ZIP包即可。
4.2注意事项:
1、关于执行方法,默认是是index.main_handler,index指的是文件名,本次演示的文件是test,所以应该改成test.main_handler
2、关于函数名,在上面分享中,利用我们的在线工具生成的代码,其实并没有包在一个函数里面,所以需要再加一下函数名,参考如下。
3、关于zip包打包姿势,请务必在当前文件夹进行打包哈,即,解压之后的文件就是py文件。如果是windows,则操作姿势为:在文件夹里面,选择 index.py 文件 及 sdk ,然后右键->打包 zip。
五、测试验证
可以在【运行日志】中查看运行日志,从下面日志看出执行已经成功了。(本示例定义的是每天15点触发)
此外,也可以到云主机控制台看下机器是否已经正常开机运行了。
至此,利用SCF实现定时开机的功能已经实现,希望对大家有帮助。更多关于SCF的实操指南请查看官网文档哈。