上云无忧 > 文档中心 > 腾讯云 Serverless 应用中心 - 层部署使用指引
Serverless 应用中心
腾讯云 Serverless 应用中心 - 层部署使用指引

文档简介:
由于云函数限制,目前只支持上传小于50MB的代码包,当您的项目过大时,您可以将依赖放在层中而不是部署包中,可确保部署包保持较小的体积。层的具体使用请参考 层管理相关操作。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠
由于云函数限制,目前只支持上传小于50MB的代码包,当您的项目过大时,您可以将依赖放在层中而不是部署包中,可确保部署包保持较小的体积。层的具体使用请参考 层管理相关操作

创建层

新建层并上传依赖,您可以通过以下两种方式操作:
通过 Serverless 应用控制台 创建
使用 Serverless Cloud Framework 的 Layer 组件(参考 Layer 组件

使用层

您可以通过控制台配置和本地配置两种方法,在项目配置中使用层部署,具体如下:

控制台配置

对于 Node.js 框架应用,Serverless Cloud Framework 会自动为您创建名为 ${appName}-layer 的层,并自动帮您把应用的依赖项 node_modules 上传到该层中。
导入已有项目时,您也可以选择使用新建层或已有层完成部署,选择新建层时,Serverless Cloud Framework 会自动帮您把应用的依赖项 node_modules 上传到该层中。


说明
新建层操作仅支持 Node.js 框架,其它框架使用层时,请确保已经完成层的创建并已经把相关依赖项上传到层中。

通过 Layer 组件配置

1. 此处以 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 # 环境变量文件
2. 打开项目配置文件,增加 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} # 版本
引用格式请参考 变量引用说明
3. 在项目根目录下,执行 scf deploy,即可完成 Layer 的创建,并将 Layer 组件的输出作为 Next.js 组件的输入完成层的配置。

变量引用说明

serverless.yml 支持多种方式引用变量:
顶级参数引用
inputs 字段里,支持直接引用顶级配置信息,引用语法如下:${org}${app}
环境变量引用
serverless.yml 中,可以直接通过 ${env} 的方式,直接引用环境变量配置(包含 .env 文件中的环境变量配置,以及手动配置在环境中的变量参数)
例如,通过${env:REGION},引用环境变量 REGION
引用其它组件输出结果
如果希望在当前组件配置文件中引用其他组件实例的输出信息,可以通过如下语法进行配置:${output:[app]:[stage]:[instance name].[output]}
示例 yml:
		
org: xxx
app: demo
component: scf
name: rest-api
stage: dev
inputs:
name: ${org}-${stage}-${app}-${name} # 命名最终为 "acme-prod-ecommerce-rest-api"
region: ${env:REGION} # 环境变量中指定的 REGION= 信息
vpcName: ${output:prod:my-app:vpc.name} # 获取其他组件中的输出信息
vpcName: ${output:${stage}:${app}:vpc.name} # 上述方式也可以组合使用
相似文档
  • 通过 Serverless Component 快速构建一个 Serverless Web 网站服务后,如果您希望配置自定义域名及支持 HTTPS 的访问,则可以按照本文提供的两种方案快速配置。
  • 本文为您介绍 Serverless Cloud Framework 的几种授权方式以及通过配置子账号权限进行实际操作演示。 前提条件: Serverless Cloud Framework 帮助您将项目快速部署到腾讯云 Serverless 应用中心,因此在部署前,请确认您已经 注册腾讯云账号 并完成 实名认证。
  • 除了默认角色 SLS_QcsRole 外,主账号还可自行创建多个角色,并将它们分配给每个子用户,各子用户根据自身业务需求只具有相应角色所赋予的策略,达到权限收缩的目的,流程图如下:
  • 访问管理(CAM)简介: 访问管理(Cloud Access Management,CAM)是腾讯云提供的一套 Web 服务,用于帮助客户安全地管理腾讯云账户的访问权限,资源管理和使用权限。通过 CAM,您可以创建、管理和销毁用户(组),并通过身份管理和策略管理控制哪些人可以使用哪些腾讯云资源。
  • Serverless Cloud Framework 基于 Serverless 组件 完成应用的部署,对于本地项目结构没有强制的规定,但为了便于管理与部署,我们推荐您采用以下几种目录结构组织您的应用:
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部