更新时间:2024-11-12 GMT+08:00

引入依赖库

支持的依赖库说明

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

    表2 Python Runtime支持的非标准库

    模块

    功能

    版本号

    dateutil

    日期/时间处理

    2.6.0

    requests

    http库

    2.7.0

    httplib2

    httpclient

    0.10.3

    numpy

    数学计算

    pip2.7,numpy==1.16.6

    pip3.10,numpy==1.24.2

    pip3.9,numpy==1.18.5

    pip3.6,numpy==1.18.5

    redis

    redis客户端

    2.10.5

    obsclient

    OBS客户端

    3.0.3

    smnsdk

    访问公有云smn服务

    1.0.1

  • 其他第三方库(除了上面表格列举的非标准三方库,FunctionGraph没有内置别的非标准三方库)

    将依赖的第三方库打包,上传至OBS桶或在函数界面上传,最后可在函数代码中使用其功能。

引入依赖库示例

Python引入依赖库示例如下:
from com.obs.client.obs_client import ObsClient
Nodejs引入依赖库示例如下:
const ObsClient = require('esdk-obs-nodejs');

对于标准库和FunctionGraph支持的非标准库,可以直接引入。

对于FunctionGraph暂没有内置的非标准三方库,通过以下步骤引入。

  1. 将依赖的库文件压缩成ZIP包,上传至OBS存储桶,获得依赖包的OBS存储链接。
  2. 登录FunctionGraph控制台,在左侧导航栏选择“函数 > 依赖包管理”,进入“依赖包管理”界面。
  3. 选择“创建依赖包”,弹出“创建依赖包”对话框。
  4. 输入依赖包名称、运行时语言和OBS存储链接,单击“确定”。
    OBS存储链接获取方法请参见OBS对象存储服务。(以下截图仅供参见,具体URL请以实际上传的文件包为准。)
    图1 获取OBS存储链接
    图2 设置依赖包
  5. 进入函数详情页面,在“代码”页签,单击“添加依赖包”,选择4中创建的依赖包,单击“确定”。
    图3 添加依赖包

    各个依赖包和代码包之间尽量不要有相同的目录或文件,比如依赖包depends.zip,里面有index.py这个文件,如果代码采用在线编辑方式,函数执行入口为index.handler,这样在函数执行的时候会产生一个代码文件index.py,跟依赖包里面的index.py文件同名,两个文件可能会因覆盖合并而出错。