一、前提条件
已安装 Node.js。
注意:2020年9月1日起,Serverless 组件不再支持 Node.js10.0 以下版本,请注意升级。
二、安装
已经安装 Serverless Cloud Framework 。详情请参见 安装 Serverless Cloud Framework。
三、配置
请按照如下步骤完成配置:
步骤一:在本地创建文件夹,此处以layerDemo为例;
步骤二:在layerDemo文件夹内,创建 serverless.yml 文件;
步骤三:在layerDemo文件夹内,创建 layer-folder 文件夹;
步骤四:在layer-folder 文件夹内,创建index.xx文件,并放置你的代码;
完成以上步骤后,再打开步骤二所创建的serverless.yml 文件,并参考如下内容进行配置:
注意:src后的文件夹路径需要与步骤三中所创建的文件夹路径一致,否则会导致 src 目录无效。
# serverless.ymlcomponent: layername: layerDemoapp: appDemostage: devinputs: region: ap-guangzhou name: layerDemo src: ./layer-folder runtimes: – Nodejs10.15
查看详细配置文档 >>
四、部署
执行以下命令进行扫码授权部署:
scf deploy
注意:说明:
注意:微信扫码授权部署有过期时间,如果想要持久授权,请参见 账号配置。
五、移除
执行以下命令移除部署的服务:
·仅删除云函数相关的配置、代码。
·关联的其他云资源(如 COS、CLS 等),平台均不会关联删除,你可以前往对应产品控制台删除,避免不必要的计费。
scf remove
六、账号配置(可选)
当前默认支持 CLI 扫描二维码登录,如你希望配置持久的环境变量/密钥信息,也可以本地创建 .env 文件:
touch .env # 腾讯云的配置信息
在 .env 文件中配置腾讯云的 SecretId 和 SecretKey 信息并保存。
# .envTENCENT_SECRET_ID=123TENCENT_SECRET_KEY=123
注意:说明:
七、全部配置
# serverless.ymlcomponent: layername: layerDemoorg: orgDemoapp: appDemostage: devinputs: name: test region: ap-guangzhou src: ./node_modules # src: # src: ./node_modules # targetDir: /node_modules # exclude: # 被排除的文件或目录 # – .env # – node_modules # src: # bucket: layers # object: sls-layer-test-1584524206.zip # exclude: # 被排除的文件或目录 # – .env # – node_modules runtimes: – Nodejs10.14 description: test project layer
八、配置描述
| 参数名称 | 是否必填 | 参数类型 | 默认值 | 描述 |
| region | 是 | String | – | 地区 |
| name | 是 | String | – | 层名称 |
| src | 是 | String | – | 默认为当前目录,如果是对象,配置参数参考 执行目录。 |
| runtimes | 是 | String[] | – | 层支持的运行环境 |
| description | 否 | String | – | 描述 |
九、执行目录
| 参数名称 | 是否必填 | 参数类型 | 默认值 | 描述 |
| src | 否 | String | – | 代码路径。与 object 不能同时存在。 |
| exclude | 否 | Array of String | – | 不包含的文件或路径,遵守 glob 语法。 |
| bucket | 否 | String | – | bucket 名称。如果配置了 src,表示部署 src 的代码并压缩成 zip 后上传到 bucket-appid 对应的存储桶中;如果配置了 object,表示获取 bucket-appid 对应存储桶中 object 对应的代码进行部署。 |
| object | 否 | String | – | 部署的代码在存储桶中的路径。 |