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
本文介绍如何通过 Serverless 控制台使用层。

使用说明

层中的文件均在/opt/目录下,可以在函数代码中通过绝对路径进行访问。除此之外,各运行时内置的环境变量中也包含了层路径,可以按照环境变量中层文件的路径上传文件,即可在代码中通过相对路径进行引用。
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


操作步骤

Node.js

以 Node.js 运行环境,在代码中引用层中的 node_modules 中的 cos-nodejs-sdk-v5 依赖为例:
1. 参考 创建层 步骤将 node_modules 上传生成层。本地函数目录结构如下图所示:


2. 参考 部署函数 将本地函数代码打包上传,打包时执行以下命令排除 node_modules 文件夹。
zip -r 包名.zip . -x "node_modules/*"
如下图所示:


3. 参考 绑定云函数 步骤,将已创建的层绑定至部署好的函数。
4. 完成上述步骤后,即可开始在函数中引用层中的文件。
'use strict'
var COS = require('cos-nodejs-sdk-v5')
注意:
由于 NODE_PATH 环境变量包含 /opt/node_modules 路径,所以无需指定依赖的绝对路径,SCF 运行时会按照环境变量中指定的路径加载文件。
如层中文件路径和环境变量包含路径不一致,请在文件引用时使用绝对路径。

Python

以 Python 运行环境,在代码中引用层中的 cos-python-sdk-v5 依赖为例:
1. 参考 创建层 步骤将 cos-python-sdk-v5上传生成层。
2. 参考 部署函数 将本地函数代码打包上传,已经上传到层中的文件无需跟随函数代码再次进行上传。
3. 参考 绑定云函数 步骤,将已创建的层绑定至部署好的函数。
4. 完成上述步骤后,即可开始在函数中引用层中的文件。
# -*- coding: utf8 -*-
import cos-python-sdk-v5
注意:
由于 PYTHONPATH 环境变量包含 /opt 路径,所以无需指定依赖的绝对路径,SCF 运行时会按照环境变量中指定的路径加载文件。
如层中文件路径和环境变量包含路径不一致,请在文件引用时使用绝对路径。

使用示例

使用层并测试函数

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. 在“函数管理”页面选择函数代码页面,单击页面下方的测试即可查看结果。如下图所示:



帮助和支持

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

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

文档反馈