tencent cloud

文档反馈

层部署使用指引

最后更新时间:2022-07-22 14:39:08

    操作场景

    由于云函数限制,目前只支持上传小于 50MB 的代码包,当您的项目过大时,您可以将依赖放在层中而不是部署包中,可确保部署包保持较小的体积。层的具体使用请参考 层管理相关操作

    操作步骤

    创建层

    新建层并上传依赖,您可以通过以下两种方式操作:

    使用层

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

    控制台配置

    • 对于 Node.js 框架应用,Serverless Framework 会自动为您创建名为 ${appName}-layer 的层,并自动帮您把应用的依赖项 node_modules 上传到该层中。
    • 导入已有项目时,您也可以选择使用新建层或已有层完成部署,选择新建层时,Serverless 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. 在项目根目录下,执行 sls deploy,即可完成 Layer 的创建,并将 Layer 组件的输出作为 Next.js 组件的输入完成层的配置。

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持