tencent cloud

云函数

动态与公告
产品动态
产品公告
新手指引
产品简介
产品概述
相关概念
工作原理
产品优势
应用场景
相关产品
购买指南
计费概述
计费方式
计费项与计费方式
函数算力支持
免费额度
产品定价
计费示例
欠费与停服说明
快速入门
使用控制台创建一个事件函数
操作指南
配额管理
函数管理
Web 函数管理
日志管理
并发管理
触发器管理
函数 URL
自定义域名
版本管理
别名管理
权限管理
运行实例管理
插件管理
监控与告警管理
网络配置
层管理
执行配置
扩展存储管理
DNS 缓存配置
资源托管模式管理
近离线资源托管模式
工作流
触发器
触发器概述
触发器事件消息结构汇总
API 网关触发器
COS 触发器
CLS 触发器
定时触发器
CKafka 触发器
Apache Kafka 触发器
MQTT 触发器
触发器配置描述
MPS 触发器
CLB 触发器说明
云 API 触发器
开发指南
基本概念
测试云函数
环境变量
依赖安装
使用容器镜像
使用 Docker 安装依赖
错误类型与重试策略
死信队列
云函数接入数据库
自动化部署
云函数状态码
常见错误码解决方法
开发者工具
Serverless Web IDE
函数间调用 SDK
第三方工具
代码开发
Python
Node.js
Golang
PHP
Java
Custom Runtime
使用镜像部署函数
Web 框架部署
通过命令行完成框架部署
快速部署 Egg 框架
快速部署 Express 框架
快速部署 Flask 框架
快速部署 Koa 框架
快速部署 Laravel 框架
快速部署 Nestjs 框架
快速部署 Nextjs 框架
快速部署 Nuxtjs 框架
快速部署 Django 框架
实践教程
最佳实践概述
云产品联合解决方案
业务开发相关实践
实时音视频 TRTC
对象存储 COS
消息队列 CKafka
日志服务CLS
负载均衡 CLB
视频处理 MPS
内容分发网络 CDN
云数据仓库 PostgreSQL
云点播 VOD
短信 SMS
Elasticsearch Service
定时任务
视频处理
客户案例
腾讯在线教育
在线教育行业案例
游戏聊天系统
腾讯互娱国际(IEGG)
API 文档
History
Introduction
API Category
Making API Requests
Other APIs
Namespace APIs
Layer Management APIs
Async Event Management APIs
Trigger APIs
Function APIs
函数和层的状态说明
Data Types
Error Codes
SDK文档
常见问题
通用问题
Web 函数相关问题
计费相关问题
网络相关问题
日志相关问题
SCF 工具相关问题
事件处理相关问题
API 网关触发器相关问题
相关协议
Service Level Agreement
联系我们
词汇表

层管理概述

PDF
聚焦模式
字号
最后更新时间: 2024-04-19 16:25:56

概述

如果您的云函数(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 控制台 创建层

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈