更新时间:2025-07-01 gmt 08:00

函数依赖包概述-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的方式管理函数依赖包,详情请参见。

相关文档

网站地图