什么是腾讯云函数?
官方介绍:
腾讯云云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码, 是实时文件处理和数据处理等场景下理想的计算平台。 您只需使用 SCF 平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。
链接:https://cloud.tencent.com/product/scf
简单来说就是可以自动定时运行代码的服务器,你无需担心服务器是否正常、是否被攻击,只需要关心代码即可。
免费额度(详细说明)
资源类型 | 每月免费额度 |
---|---|
资源使用量 | 40 万 GBs |
调用次数 | 100 万次 |
注:外网出流量无免费额度,但是
在计费周期内产生的账单费用如果小于0.01元,将不会产生实际账单及扣费;低于0.01元的费用,将在账单月度精度调整中体现。——来源:欠费说明
也就说0.01元以内不产生费用,而我今天的一次提交,才产生了0.00000367元的流量费用,即免费使用。
因此,基本可以认为是全免费使用了。
由于代码引入了python的lxml库,但是腾讯云函数提供的环境中又没有此依赖,所以需要手动上传。
依赖下载地址:https://wwa.lanzoui.com/ivuSHeukg2h
下载到一个压缩包。
打开之后结构如图所示:
将程序运行所必须的文件放入此压缩包
必须的文件列表:
- HealthDataPost.py
- students_data.json(根据说明修改后的)
我用的解压缩软件是Bandizip,可以直接拖拽文件到压缩包。
点击“确定”
如果你的软件不支持拖拽文件到压缩包,你可以先解压依赖文件,然后和软件运行所必须的文件压缩到同一个压缩包内,是.zip格式即可。
如图所示,是准备好的压缩文件,里面包含依赖,也包含程序运行所必须的文件。
打开上方链接,点击右上角登录,可以使用邮箱、QQ等,直接登录即可,很简单,不再赘述。
点击页面左边的“立即使用”进入控制台。
可以看到你已经拥有的函数的情况,初次使用为空正常。
点击左边的“函数服务”,可以看到已有的函数服务。
地区使用大陆地区(除非你的代码需要国际互联网的支持,但是咱们的提交健康数据使用国内网络即可)。
点击“新建”
函数名称:自己随便输入,我这里使用的是HealthDataPost
。
运行环境:选择“Python3.6”。
创建方式:选择“空白函数”,方便我们后续添加自己的代码
单击“下一步”
描述:填写方便自己标识各个函数的文字,例如智慧山水平台健康自动数据提交
执行方法:填写HealthDataPost.main
,这里填写的是程序的入口,即程序第一个要执行的函数。.
前面是代码文件名字,后边是方法名(这个方法名必须接收两个参数,我这里已经实现了)。
提交方式:即上传代码的方式,我们这里选择“通过本地上传zip包”
单击“上传”
选择我们之前准备好的代码的压缩文件,然后点击“打开”即可。
选择完文件之后配置高级设置。
单击“高级设置”
将超时时间设置为“20”秒,这里我们设置的宽裕一点,暂时不用这么节省,后期如果你经常使用腾讯云函数,可以根据情况来自行调整。
单击“完成”,选择的文件在此时正式被上传。
然后自动跳转到函数管理页面。
单击“函数代码”进入代码查看和测试页面。
单击下面的“测试”按钮进行测试此函数是否正常运行。
稍等片刻,可以看到执行摘要提示“测试成功”,同时在执行日志可以看到执行过程。
如果你当天已经上报,则提示“您已上报某年
-某月
-某日
的健康状况”,代表账号密码没问题。
注意:“测试成功”只代表程序正常运行,但是不能代表提交信息成功,提交信息是否成功还是以“本次提报成功”这几个字为准。
单击“触发管理”-“创建触发器”
定时任务名称:随便填。
触发周期:选择“自定义触发周期”
Cron表达式:填写0 0 5,6,7 * * * *
,代表每天5点、6点、7点定时启动,如果你为了保险一点,再多几次启动也行,程序会自动判断有没有提交,如果提交了,就不会重复提交。比如你想8点也启动一次,那就在7
后边加上,8
,注意有个英文逗号。
如果你想要了解更多的Cron表达式,可以参考https://cloud.tencent.com/document/product/583/9708。
至此,算是已经成功,设置好的前1-2天,建议还是不要放松警惕,每天早上注意检查,如果1-2两天都正常提交,后边基本没问题了。