功能变更概述
2.0版本包含了若干项功能调整和新增,如下:
配置规范调整为使用 Serverless Cloud Framework 中 tencent-scf component 规范,详细规范内容请参见 tencent-scf component 配置说明文档。
Runtime 支持最近新上线的 Node.js10.15 及 Node.js12.16。
支持 Node.js10 及以上版本 runtime 的云函数进行云端调试。
其中配置规范的调整,可能在一定程度上会对原项目造成影响,相关的调整方式、兼容措施、升级方案等说明如下。
配置规范调整
配置规范是针对本地项目中用于描述函数相关配置的 yaml 文件的格式规范。在 tencent scf vscode 插件的 1.x 版本中,使用了腾讯云自定义的 TCSAM 规范,详情请参见 TCSAM 规范说明。
为了进一步提升 tencent scf vscode 插件的适用范围、产品联动能力以及后续的扩展能力。2.0 版本中切换并使用了 Serverless Cloud Framework 中的配置规范,目前兼容的是针对 tencent-scf component 的配置规范,详情请参见 tencent-scf component 规范说明文档。
原有本地项目升级转换
为了便于原有本地项目中保留的配置规范文件
template.yaml
可以迅速转换到新版本的配置规范文件 serverless.yaml
,新版本插件中增加了自动的转换能力。在本地项目部署到云端时,插件会自动进行检测,并在缺失
serverless.yaml
文件的情况下,自动生成并填充相关内容,具体内容来自原有的 template.yaml
文件中的内容。生成的 serverless.yaml
格式如下所示:component: scfname: ap-guangzhou_alfredtest2_testvscodec1 ## 生成的项目部署名,由原配置文件中的地域、命名空间、函数名构成org: '1253970226' ## 部署组织或部署人,由用户 id 组成app: testvscodec1 ## 使用函数名作为应用名stage: dev ## 默认设置为 devinputs:name: testvscodec1 ## 函数名src: ./description: This is a template functionhandler: index.main_handlerruntime: Python3.6namespace: alfredtest2 ## 支持命名空间,不指定、不填写的情况下默认为 defaultregion: ap-guangzhou ## 指定部署地域memorySize: 128timeout: 3environment:variables:ENV_FIRST: env1ENV_SECOND: env2
注意
完成升级后,原有的
template.yaml
文件将不再被继续使用,在本地项目中存在 serverless.yaml
的情况下,后续的部署过程均以 serverless.yaml
文件内容为准。请注意在调整配置时,需使用 serverless.yaml
文件。云端下载项目升级转换
从云端下载函数到本地进行编辑开发时,2.0 版本同样会协助进行项目的升级转换。
下载云端函数到本地时,插件将会检测下载的本地项目目录中是否存在新的配置规范文件
serverless.yaml
。当本地项目中不存在 serverless.yaml
时,插件将会从云端下载 serverless.yaml
文件并放置在本地项目中,内容以云端函数的当前配置为准。同时,下载的项目将按如下的目录结构进行设计并放置函数代码:project|- src|- index.js|- other.file|- serverless.yaml