最佳实践

层管理相关操作

最近更新时间:2020-06-29 11:09:00

操作场景

本文介绍如何通过云函数(SCF)控制台创建、绑定并使用层,同时提供示例。您可参考本文开始使用层。

操作步骤

创建层

  1. 登录 SCF 控制台,选择左侧导航栏中的【】,进入“层”列表页面。
  2. 在页面上方选择需使用层的地域,并单击【新建】。
  3. 在“新建层”页面,根据实际需求设置层信息。如下图所示:
    • 层名称:输入自定义层名称。
    • 描述:层的描述信息,根据实际情况填写。
    • 提交方法:支持本地上传zip包本地上传文件夹通过cos上传zip包,结合实际情况选择依赖包提交方式。
      确定提交方法后单击【上传】,在弹出的依赖包选择界面,选择需上传的依赖包并单击【确定】。
    • 添加运行环境:该层的兼容运行环境,最多可设置5个。
  4. 单击【确定】即可成功创建。

云函数绑定层

  1. 登录 SCF 控制台,选择左侧导航栏中的【函数服务】,进入“函数服务”列表页面。
  2. 选择需进行层管理的函数 ID,进入函数管理页面。
  3. 选择【层管理】页签,并单击【绑定】。如下图所示:
  4. 在弹出的“绑定层”窗口中,选择对应【层名称】及【层版本】。如下图所示:
  5. 单击【确定】即可完成绑定。

使用层

本步骤以 Node.js 为例,创建层并绑定本地上传的函数后使用层。

  1. 参考 创建层 步骤将 node_modules 上传生成层。本地函数目录结构如下图所示:
  2. 参考 部署函数 将本地函数代码打包上传,打包时执行以下命令排除 node_modules 文件夹。
    zip -r 包名.zip . -x "node_modules/*"
    如下图所示:
  3. 参考 绑定云函数 步骤,将已创建的层绑定至部署好的函数。
  4. 完成上述步骤后,即可开始在函数中使用层。
    由于 NODE_PATH 环境变量包含 /opt/node_modules 路径,函数运行时可以查找到层中的依赖,您使用依赖的方式和原来一样,无需修改代码,本文以使用 cos-nodejs-sdk-v5 依赖为例。如下图所示:

    Python、Java、Node.js 环境变量见下表:
    相关环境变量 路径
    PYTHONPATH /var/user:/opt
    CLASSPATH /var/runtime/java8:/var/runtime/java8/lib/*:/opt
    NODE_PATH /var/user:/var/user/node_modules:/var/lang/node6/lib/node_modules:/opt:/opt/node_modules

示例

使用层并测试函数

  1. 前往 scf_layer_demo,选择【Clone or download】>【Download ZIP】下载示例到本地并解压。
  2. 请按照 创建层 步骤完成层创建。参数设置如下图所示:
    • 层名称:自定义,本文以 demo 为例。
    • 提交方法:选择“本地上传文件夹”,并选择上传 步骤1 中已获取文件夹中的 layer 文件夹。
    • 运行环境:选择 “Nodejs12.16”。
  3. 前往 “函数服务” 页面,单击【新建】进入“新建函数”页面。
  4. 在“新建函数”页面的“基本信息”步骤中,设置函数基本信息,并单击【下一步】。如下图所示:
    • 函数名称:自定义,本文以 layerDemo 为例。
    • 运行环境:选择 “Nodejs 12.16”。
    • 创建方式:选择【空白函数】。
  5. 在“函数配置”步骤中,“提交方法”选择“本地上传文件夹”并选择上传 步骤1 中已获取文件夹中的 function 文件夹。如下图所示:
  6. 单击【高级设置】,并在“层配置”中添加函数层。如下图所示:
    • 层名称:选择 步骤2 中已创建的层 demo
    • 层版本:选择版本1。
  7. 单击页面下方的【完成】完成函数创建。
  8. 在“函数管理”页面选择【函数代码】页面,单击页面下方的【测试】即可查看结果。如下图所示:
目录