上云无忧 > 文档中心 > 腾讯云云函数使用教程 - 层管理概述
云函数 SCF
腾讯云云函数使用教程 - 层管理概述

文档简介:
概述: 如果您的云函数(SCF)拥有较多的依赖库或公共代码文件,您可以使用 SCF 中的层进行管理。使用层管理,您可以将依赖放在层中而不是部署包中,可确保部署包保持较小的体积。对于 Node.js、Python 和 PHP 函数,只要将部署程序包保持在10MB以下,就可以在 SCF 控制台中在线编辑函数代码。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

概述

如果您的云函数(SCF)拥有较多的依赖库或公共代码文件,您可以使用 SCF 中的层进行管理。使用层管理,您可以将依赖放在层中而不是部署包中,可确保部署包保持较小的体积。对于 Node.js、Python 和 PHP 函数,只要将部署程序包保持在10MB以下,就可以在 SCF 控制台中在线编辑函数代码。

工作方式

创建与绑定

创建层的压缩文件将按照层的版本进行存储。层在与函数进行绑定时,将按照具体的层版本与函数版本进行绑定。一个函数目前最多支持绑定5个层的具体版本,并在绑定时有一定顺序。

运行时加载与访问

已绑定层的函数被触发运行,启动并发实例时,将会解压加载函数的运行代码至 /var/user/ 目录下,同时会将层内容解压加载至 /opt 目录下。 若需使用或访问的文件 file,放置在创建层时压缩文件的根目录下。则在解压加载后,可直接通过目录 /opt/file 访问到该文件。若在创建层时,通过文件夹进行压缩 dir/file,则在函数运行时需通过 /opt/dir/file 访问具体文件。
在函数绑定了多个层的情况下,层中文件的解压加载将按照绑定时的顺序进行。将按序号从小到大的顺序进行排序,排序越靠后侧层加载时间也相应靠后,但均会在函数的并发实例启动前完成加载。在函数代码初始化时,就已经可使用层中的文件了。

推荐使用方式

层中通常用来存储不经常变更的静态文件或代码依赖库。在存储代码依赖库时,可以直接将可用的依赖库打包并上传至层中。例如,在 Python 环境中,可以将依赖库的代码包文件夹直接打包并创建为层,则在函数代码中可直接通过 import 引用。在 Nodejs 环境中,可以将项目的 node_modules 依赖库文件夹打包并创建为层,则在函数代码中可直接通过 require 引用。
通过使用层,可以将函数代码和依赖库或依赖的静态文件分离,保持函数代码较小体积。在使用命令行工具、IDE 插件或控制台编辑函数时,均可以快速上传更新。

说明事项

层中的文件将会添加到 /opt 目录中,此目录在函数执行期间可访问。
如果您的函数已绑定了多个层,这些层将按顺序合并到 /opt 目录中。如果同一个文件出现在多个层中,SCF 平台将会保留最大序号层里的文件。

相关操作

您可以通过 Serverless 控制台 创建层绑定层使用层
相似文档
  • 本文介绍如何通过 Serverless 控制台创建层。新建层后,将会自动帮您生成一个版本。 操作步骤: 1. 登录 Serverless 控制台,选择左侧导航栏中的高级能力 > 层。 2. 在层管理页面,选择需使用层的地域,并单击新建。 3. 在新建层页面,根据实际需求设置层信息。
  • 本文介绍如何通过 Serverless 控制台为云函数绑定层。 操作步骤: 1. 登录 Serverless 控制台,选择左侧导航栏中的函数服务。 2. 在函数服务页面,选择需进行层管理的函数 ID,进入函数详情页面。 3. 选择层管理页签,并单击绑定。
  • 本文介绍如何通过 Serverless 控制台使用层。 使用说明: 层中的文件均在/opt/目录下,可以在函数代码中通过绝对路径进行访问。除此之外,各运行时内置的环境变量中也包含了层路径,可以按照环境变量中层文件的路径上传文件,即可在代码中通过相对路径进行引用。
  • 使用场景: 在音视频转码、ETL 大体量数据处理、AI 推理等单任务重计算的场景下,函数的单实例运行时需要更多算力及更长时间的稳定运行。若函数的调用端长时间阻塞等待执行结果,不仅会持续占用调用方资源,还会对调用链路的稳定性产生较高要求。
  • 使用场景: 异步执行函数通常用来处理大量异步长时任务,为了更好的对异步长时任务进行管理,SCF 提供了状态追踪功能,记录并上报事件响应的实时状态,并提供事件状态的统计、查询等事件管理相关服务。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部