目 录CONTENT

文章目录

🦋涅槃重生:零基础玩转云函数之签到盒

梦中小城
2022-04-09 / 10 评论 / 0 点赞 / 1,627 阅读 / 1,848 字

hey,这里是梦中小城的小站梦中小城小站,欢迎阅读(•͈⌔•͈⑅)♡

前期准备

  • 注册腾讯云函数
  • 注册github(访问问题会自己解决)
  • 耐心和对新知识探索的热情

腾讯云函数是什么

腾讯云云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助用户在无需购买和管理服务器的情况下运行代码, 是实时文件处理和数据处理等场景下理想的计算平台。 只需使用 SCF 平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。[1]简而言之,就是提供了一个部署好环境的可以进行脚本数据开发的平台。
image

优点

  • 费用低
  • 方便
  • 快捷

对于个人开发者而言,腾讯云函数的优点在于:方便、快捷、费用低。腾讯云服务赠送的个人调用次数完全够用,节省了开发者大部分环境适配的时间。根据我使用了大概一年多时间的体验来看,云函数的功能基本能够满足日常需要,不过需要掌握一定的代码编辑知识才能比较好地运用云函数。
image

缺点

  • 移动端和平板端适配不佳
  • 环境选择后的代码编写入门难度大(适合有编程知识的开发者)

移动端和平板端适配不好,体验感差,在用平板进行数据编辑时,页面离开到另个网页再重新回到,网页会异常缩放。在平板编辑的时候新版编辑器无法全选代码复制,修改代码难度大。

而移动端更是难以使用,受限于移动端屏幕大小限制,云函数没有设配移动端比例,修改代码基本难以实现,对于我这种有灵活运用场景需要的人而言,明显是不够的, 因而也逐步转向了搭建一个docker进行代码的修改与维护。

两种部署方式教程

介绍完云函数的基本知识,部署教程正式开始:

传统云函数部署教程

该方式主要通过下载库中的代码包然后上传到云函数平台完成部署工作,优点在于操作方便,缺点在于后续代码包更新维护不方便,基本要手动补充新代码或者删除重新建立。已经有群友忧郁的未来写了一个比较全的教程,可以参考:
零基础腾讯云函数部署-忧郁的未来

Github Action联动云函数部署教程

开通相关服务

依次登录 SCF 云函数控制台SLS 控制台 开通相关服务,确保账户下已开通服务并创建相应服务角色

建立SCF_QcsRole和SLS_QcsRole角色,如图所示:
image

为了确保权限足够,获取这两个参数时请使用主账号,同时腾讯云账户需要进行实名认证,并在这里新建访问密钥

保存SecretId和SecretKey,
TENCENT_SECRET_ID对应库中的SecretId的值,TENCENT_SECRET_KEY对应库中的SecretKey的值。
image

fork仓库项目

打开 scf-checkbox,fork我的仓库(目前同步项目还是以我的仓库为中转,即暂时由我对源作者库进行更新,后续如果源库同意我request请求后就可以直接fork他仓库在里面直接action)。

image

申请一个PAT

GitHub 用户设置页面点击最下方的 Developer setting点击。[2]
image
然后选择 Personal access tokens 来生成一个token,把 repo和workflows部分打勾,会生产一个PAT密码,保存!保存!保存!这个密码只会出现一次,忘记了只能重新生成一个新的PAT。
image

填写参数到secret

依次点击setting-secret-action-new repository secret

setting
image
secret-aciton
image
new repository secret
按照图片所示填写,将上面步骤获取的参数填入name和value,name填名字,value填值。
image
image

点击action运行workflow

初次fork完后点击action后出现一个“I understand…”绿色的同意确定,点击确定,出现下图,再点 enable workflow。
image
名字为"部署到腾讯云函数"一样点击然后点enable workflow
D884EF35-996A-4ACE-9994-B08848595244
接着点右边的run workflow,点击绿色的run workflow,这一个操作会在运行"同步大佬代码…“后自动运行第二步的"部署到腾讯云函数”
image
运行正常后就会是绿色,红色是异常。可以点开查看具体情况。
image

回到云函数填写config.yml

正常运行后在腾讯云函数出现一个scf-checkbox,然后点开函数代码复制其中的config.yml.sample的内容,新建一个config.yml将复制的参数填入,并且按照规范填写对应值即可(详细填写请参照传统教程中的文档)
image

最后关闭workflow的同步(重要)

原因在于暂时无法解决config.yml在下次同步时被覆盖掉的问题

如果想要同步请记得先去云函数备份config.yml!请记得先去云函数备份config.yml!!请记得先去云函数备份config.yml!!!(重要事情说三遍~)

按照图片所示点击右边的三个点的disable workflow关闭同步功能,把两个work flows都关了。
456D7843-0129-4C69-8BCC-4CDF794E04C7

image

小结

昨天晚上想着同步问题睡不着,爬起来在github重新看了一遍之前类型的同步库的流程,尝试着自己修改其中的代码在经历几次报错后成功看到了绿色运行成功的标志(激动) ლ(́◉◞౪◟◉‵ლ)

不过遗憾的是暂时还没解决这个云函数创建好的config.yml在下次点action部署时会被覆盖掉的问题,这个我还得继续想想怎么解决。

就先这样啦,下期再见,886~

  • 2022.4.14更新 感谢网名为恶意的群友在使用本项目并提出问题,问题目前已经修复。

参考

1.腾讯云函数产品介绍
2.获取 GitHub Personal Access Token

致谢(排名不分先后)

@忧郁的未来-群友
@恶意.-群友
@wenyanY
@wenmoux

签到盒系列🎐

☘️我与温の签到盒之间那点小事(序篇)
☘️我与温の签到盒之间那点小事(一)
☘️我与温の签到盒之间那点小事(二)
☘️我与温の签到盒之间那点小事(三)
☘️我与温の签到盒之间那点小事(番外篇1)
📱如何正确抓取4399游戏盒脚本所需参数

0

评论区