SCFCLI想必很多小伙伴都知道了,也都用过了,作为一个可以提高开发者效率的工具,CLI还是很有价值的。本次给大家介绍一下,新版SCFCLI增加的有趣的功能和优化:
介绍
1:Deploy功能优化
1: 部署可以选择默认COS
只需要在设置的时候,设置using-cos就可以,当然也可以scf configure set --using-cos y来直接设置:
选择之后可以在接下来的部署中,默认上传代码到你的cos,提高部署速度:
就算设置了cos,在某次Deploy时,不想使用cos,也可以选择不通过cos部署,增加--without-cos:
想自定义COS也可以:--cos-bucket:
(由于没有这个cos,所以上传失败)
在我们日常使用过程中,可能会存在部署同样一段代码的情况,假如说,我部署了A代码,又部署了B代码,之后,我想重新部署A代码,传统方法,是可以再次上传A代码,如果Package比较大的情况下,就比较难受了,而新版本的cli经过测试,部署130M的Package首次部署使用25s,第二次部署了同样的文件,用了2s。
附带COS的相关计费链接:
免费额度:https://cloud.tencent.com/document/product/436/6240
计费概述:https://cloud.tencent.com/document/product/436/16871
计费方法:https://cloud.tencent.com/document/product/436/36522
https://cloud.tencent.com/document/product/436/36523
产品定价:https://cloud.tencent.com/document/product/436/6239
2:部署历史版本
我们部署了代码,很可能出现问题,需要恢复历史版本,而新版本的scfcli可以部署历史版本,在大家使用了using-cos之后,可以通过deploy的参数--history来部署历史版本:
此时选择一个历史版本,就可以直接实现文档回滚:
3:打包功能优化
上一版的SCFCLI在打包的时候会把用户目录下的全部文件打包,新版本的SCFCLI在这里也做了重点优化,可以直接指定ZIP,指定某文件,并且打包的时候会默认的去除掉.git等隐藏目录,并且在deploy之后,会默认删除之前的打包信息,Yaml文件可以这样:
2: 新增Delete功能
原先的SCFCLI不支持Delete功能,现在大家可以轻松自在在scfcli上面使用:
只需要输入scf delete --help就可以看到使用方法和参数描述哦!
3:新增List功能
我想要查看云函数有哪些内容?我部署了那些函数,怎么办?原先是需要去控制台挨个区域看,挨个namespace看,现在不需要了,只需要通过List指令,就可以实现:
同样可以通过scf的--help来查看所有用法:scf list --help
4: 帮助文档的优化
上面的很多说明,都是让大家使用--help来查看帮助,那么--help在该版本中有哪些大的优化呢?全局的帮助文档优化,在任何指令下都可以--help查看帮助:
在指令页面可以进行例子查看:
每个主要的指令,都会有指令的描述以及使用例子,同时规范了参数描述。
5:API网关部分
现有SCFCLI在使用API网关的时候每次都需要新建,如果不想新建,就需要注释配置文件或者使用--skip-event,这样让很多用户头疼,新版本的SCFCLI在API网关部分增加了ServiceId字段:
有了这个字段,大家可以在使用的时候直接选择绑定已有的网关,如果新建了网关之后,系统会进行提示:
把对应的网关ID天蝎上就可以避免下次创建。这样一个简单的字段增加,给小伙伴们带来了两个优秀的体验:
1: 可以绑定现有的API网关,不需要新建
2: 可以保证现有网关形态,不会每次新建
6:输出信息优化
有心的小伙伴应该已经看到了,这次更新版本,最大变化就是整个UI的变化:
在我们使用云函数的时候,不同颜色会有不同的表达:
同时,在Deploy之后,大家不用打开网页看云函数信息,而是可以通过控制台直接看到:
实验
Hello world
第一个实验以Hello World为例:
通过帮助查看init创建指令:
scf init --help
根据例子创建Python语言的hello world:
scf init --runtime python3.6
按照提示:cd hello_world 进行项目编辑
修改代码和配置网关:
网关这里要用,我不想新建网关,而是想要用已经有的一个API网关:
填写好serviceeId:
然后保存退出,Deploy:
部署之后,输出函数信息:
打开API网关中subDomain:
部署成功!
查看函数列表
只需要输入
scf list
删除函数
只需要输入要删除的函数相关信息
scf delete --name hello_world --region ap-shanghai --namespace default
更多功能,等待各位小伙伴自行挖掘哦!