有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

操作场景

Layer 组件是 serverless-tencent 组件库中的基础组件之一。 您可以通过该组件快速且方便地创建、配置和管理腾讯云函数的层资源。

前提条件

已安装 Node.js
注意:
2020年9月1日起,Serverless 组件不再支持 Node.js10.0 以下版本,请注意升级。

操作步骤

安装

已经安装 Serverless Cloud Framework 。详情请参见 安装 Serverless Cloud Framework

配置

请按照如下步骤完成配置:
步骤一:在本地创建文件夹,此处以layer demo为例;
步骤二:在layer demo文件夹内,创建 serverless.yml 文件;
步骤三:在layer demo文件夹内,创建 layer-folder 文件夹;
步骤四:在layer-folder 文件夹内,创建index.js文件,并放置您的代码;
完成以上步骤后,再打开步骤二所创建的serverless.yml 文件,并参考如下内容进行配置:
注意:
src后的文件夹路径需要与步骤三中所创建的文件夹路径一致,否则会导致 src 目录无效。
# serverless.yml

component: layer
name: layerDemo
app: appDemo
stage: dev

inputs:
region: ap-guangzhou
name: layerDemo
src: ./layer-folder
runtimes:
- Nodejs10.15


部署

执行以下命令进行扫码授权部署:
scf deploy
说明:
微信扫码授权部署有过期时间,如果想要持久授权,请参见 账号配置

移除

执行以下命令移除部署的服务:
仅删除云函数相关的配置、代码。
关联的其他云资源(如 COS、CLS 等),平台均不会关联删除,您可以前往对应产品控制台删除,避免不必要的计费。
scf remove

账号配置(可选)

当前默认支持 CLI 扫描二维码登录,如您希望配置持久的环境变量/密钥信息,也可以本地创建 .env 文件:
touch .env # 腾讯云的配置信息
.env 文件中配置腾讯云的 SecretId 和 SecretKey 信息并保存。
# .env
TENCENT_SECRET_ID=123
TENCENT_SECRET_KEY=123
说明:
如果没有腾讯云账号,请先 注册新账号
如果已有腾讯云账号,可以在 API 密钥管理 中获取 SecretId 和 SecretKey。

配置详情

全部配置

# serverless.yml

component: layer
name: layerDemo
org: orgDemo
app: appDemo
stage: dev

inputs:
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
-
部署的代码在存储桶中的路径。