由于云函数限制,目前只支持上传小于 50MB 的代码包,当您的项目过大时,您可以将依赖放在层中而不是部署包中,可确保部署包保持较小的体积。层的具体使用请参考 层管理相关操作。
新建层并上传依赖,您可以通过以下两种方式操作:
您可以通过控制台配置和本地配置两种方法,在项目配置中使用层部署,具体如下:
对于 Node.js 框架应用,Serverless Framework 会自动为您创建名为 ${appName}-layer
的层,并自动帮您把应用的依赖项 node_modules 上传到该层中。
导入已有项目时,您也可以选择使用新建层或已有层完成部署,选择新建层时,Serverless Framework 会自动帮您把应用的依赖项 node_modules 上传到该层中。
说明:新建层操作仅支持 Node.js 框架,其它框架使用层时,请确保已经完成层的创建并已经把相关依赖想上传到层中。
此处以 Next.js 组件为例,调整本地项目目录,新增 layer 文件夹,并创建 serverless.yml 文件,完成层的名称与版本配置,yml 模版如下:
app: appDemo
stage: dev
component: layer
name: layerDemo
inputs:
name: test
region: ap-guangzhou
src: ../node_modules #需要上传的目标文件路径
runtimes:
- Nodejs10.14
查看详细配置,请参考 layer 组件全量配置文档。
更新后的项目目录结构如下:
.
├── node_modules
├── src
│ ├── serverless.yml # 函数配置文件
│ └── index.js # 入口函数
├── layer
│ └── serverless.yml # layer 配置文件
└── .env # 环境变量文件
打开项目配置文件,增加 layer 配置项,并引用 layer 组件的输出作为项目配置文件的输入,模版如下:
app: appDemo
stage: dev
component: nextjs
name: nextjsDemo
inputs:
src:
src: ./
exclude:
- .env
region: ap-guangzhou
runtime: Nodejs10.15
apigatewayConf:
protocols:
- http
- https
environment: release
layers:
- name: ${output:${stage}:${app}:layerDemo.name} # layer名称
version: ${output:${stage}:${app}:layerDemo.version} # 版本
引用格式请参考 变量引用说明。
在项目根目录下,执行 sls deploy
,即可完成 Layer 的创建,并将 Layer 组件的输出作为 Next.js 组件的输入完成层的配置。
您在使用网络流日志时,可能碰到诸如创建和删除流日志、创建日志集和日志主题、...
想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区 https://...
HSF 应用发布时,遇到下面的报错: java.lang.IllegalArgumentException: publis...
本文转载自微信公众号「会点代码的大叔」,作者会点代码的大叔 。转载本文请联系...
勒布朗-詹姆斯是当今联盟第一人,他的商业价值也是巨大的。似乎任何的物品,只要...
近日,中国信息通信研究院(以下简称“中国信通院”) 云计算 与大数据研究所所...
虚拟主机 数据库与空间关系?虚拟主机的数据库和空间,都是用来存储网站数据、文...
云助手命令可以在ECS实例中快速完成运行自动化运维脚本、轮询进程、重置用户密码...
WRF 官网 http://www2.mmm.ucar.edu/wrf/users/ 简介 WRF(Weather Research and...
本文转载自微信公众号「Java极客技术」,作者鸭血粉丝 。转载本文请联系Java极客...