函数依赖包概述-j9九游会登录
函数依赖包简介
函数依赖包包含支持函数业务代码运行的公共库,可以将代码所需的公共库封装成依赖包进行单独管理,便于多函数共享,同时也能有效缩减函数代码在部署与更新过程中的体积。
functiongraph支持对同一依赖包进行版本迭代,即同一依赖包可拥有多个版本,便于系统化管理。
函数依赖包分为公共依赖包与私有依赖包。具体配置指导请参考为函数配置依赖包章节。
公共依赖包是functiongraph内置提供的依赖包,可在函数代码中直接添加所需运行时的依赖包使用,以支持代码实现业务逻辑。
相较于私有依赖包,公共依赖包有以下优势:
- 开箱即用:免去依赖包构建和上传的步骤,直接在函数详情页添加即可使用。无需过多关注如何配置代码运行环境,使您能更专注于代码和业务逻辑的优化。
- 减少延迟:functiongraph将公共依赖缓存在平台内,相较于私有依赖包,代码冷启动时无需额外时间从存储服务获取依赖文件,减少了网络延迟。
- 简化操作:私有依赖的文件大小限制为300mb,处理大文件时需拆分并多次上传;而公共依赖包不受300mb的文件限制,简化了添加与删除的操作。
私有依赖包是指在本地将业务代码所需的公共库自行封装的包,即自行创建的依赖包。各运行时函数的私有依赖包制作示例请参见制作函数的私有依赖包。
支持引入的依赖库说明
functiongraph除了支持配置包外,还支持直接在代码中引入标准库和部分非标准库使用。
- 标准库
对于标准库,无论是在线编辑或是本地开发代码打包上传至functiongraph,均可以直接在代码中引入使用。
- functiongraph内置的非标准库
functiongraph内置了部分运行时的非标准库,如表1、表2所示。使用方法同标准库,在编写代码时直接引入即可。
表1 node.js runtime集成的三方件 名称
功能
版本号
q
异步方法封装。
1.5.1
co
异步流程控制。
4.6.0
lodash
常用工具方法库。
4.17.10
esdk-obs-nodejs
obs sdk。
2.1.5
express
极简web开发框架。
4.16.4
fgs-express
在functiongraph和api gateway之上使用现有的node.js应用程序框架运行无服务器应用程序和rest api。提供的示例允许您使用express框架轻松构建无服务器web应用程序/服务和restful api。
1.0.1
request
简化http调用,支持https并默认遵循重定向。
2.88.0
在函数代码中使用node.js运行时引入依赖库示例如下:const obsclient = require('esdk-obs-nodejs');表2 python runtime支持的非标准库 模块
功能
版本号
dateutil
用于处理日期和时间的高级库,支持日期解析、格式化和时区操作。
2.6.0
requests
http库,用于发送http请求和处理响应。
2.7.0
httplib2
http客户端库,支持http/https请求、认证和代理。
0.10.3
numpy
用于科学计算的库,支持高效的数组操作和数学函数。
python 2.7,numpy==1.16.6
python 3.6,numpy==1.18.5
python 3.9,numpy==1.18.5
python 3.10,numpy==1.24.2
redis
用于连接和操作redis数据库的库,支持多种数据结构。
2.10.5
obsclient
对象存储服务(obs)的python客户端,用于管理对象存储资源。
3.0.3
smnsdk
消息通知服务(smn)的python sdk,用于访问公有云smn服务。
1.0.1
- 其他第三方依赖库
需要在本地将依赖的第三方库打包为zip文件,上传至obs桶或直接在函数控制台上传,在“代码”页签下添加相关的依赖包,即可在函数代码中使用。详细操作步骤请参见为函数配置依赖包。
相关文档
除使用控制台外,函数工作流支持通过api的方式管理函数依赖包,详情请参见。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨