You need to enable JavaScript to run this app.
导航

依赖安装

最近更新时间2022.11.30 10:27:33

首次发布时间2022.11.30 10:27:33

函数服务的各运行时语言暂不提供内置依赖库。代码运行所需依赖,需在本地安装后,与代码一同打包成.zip 文件,上传至函数服务控制台。本文为您介绍各运行时语言如何安装打包依赖。

Python 运行时函数依赖安装

本文以使用依赖管理工具 pip3 安装非标准库 StringGenerator 为例,介绍安装打包依赖的步骤。

  1. 在本地通过命令终端创建一个名为 my-vefaas-function 的项目根目录,存放源代码和依赖包。
mkdir my-vefaas-function
  1. 导航至新创建的 my-vefaas-function 的项目根目录。
cd my-vefaas-function
  1. 创建名为index.py 的入口文件,编写 handler 入口函数,并在代码中引用 StringGenerator 库。
import json
from strgen import StringGenerator as SG

def handler(event, context):
    random_token = SG(r"[\w]{30}").render()
    # 函数业务逻辑
    return {
        "statusCode": 200,
        "headers": {
            "Content-Type": "application/json"
        },
        "body": json.dumps({
            "info": "hello veFaaS!",
            "random_token": random_token,
        })
    }
  1. 执行以下命令,安装所需要的 StringGenerator 依赖包至项目根目录。
pip3 install StringGenerator --target .
  1. 执行以下命令,将根目录下所有文件打包至一个名为 deployment.zip.zip 压缩文件中。
zip -r ./deployment.zip .

注意

index.py 入口文件需在.zip 压缩文件的根目录下。如果打包整个文件夹并上传,解压后将由于无法找到入口文件而导致函数部署失败。

  1. deployment.zip 压缩文件上传至函数服务控制台进行部署,详情请参见 创建函数上传代码

Node.js 运行时函数依赖安装

本文以使用依赖管理工具 npm 安装 lodash 库为例,介绍安装打包依赖的步骤。

  1. 在本地通过命令终端创建一个名为 my-vefaas-function 的项目根目录,存放源代码和依赖包。
mkdir my-vefaas-function
  1. 导航至新创建的 my-vefaas-function 的项目根目录。
cd my-vefaas-function
  1. 执行以下命令初始化项目。
npm init # 之后跟随指引填写项目对应信息即可
  1. 创建名为index.js的入口文件,编写 handler 入口函数,并在代码中引用 lodash 库。
const _ = require('lodash');

exports.handler = async function handler (event, context) {
  console.log(_.isNumber(10));
  // 函数业务逻辑
  return {
    statusCode: 200,
    headers: {'Content-Type': 'application/json'},
    body: JSON.stringify({ 'message': 'hello world'}),
  };
};
  1. 执行以下命令,安装所需要的 lodash 库至项目根目录。
npm install lodash # 安装您所需要的依赖

# or

yarn add lodash # 您可以使用任何包管理工具
pnpm add lodash # 只需要确保存在 node_modules 和 package.json 即可
  1. 执行以下命令,将根目录下所有文件打包至一个名为 deployment.zip.zip 压缩文件中。
zip -r ./deployment.zip .

注意

index.js 入口文件需在.zip 压缩文件的根目录下。如果打包整个文件夹并上传,解压后将由于无法找到入口文件而导致函数部署失败。

  1. 将压缩好的 deployment.zip 压缩文件上传至函数服务控制台进行部署,详情请参见 创建函数上传代码