最近更新时间:2022.11.30 10:27:33
首次发布时间:2022.11.30 10:27:33
函数服务的各运行时语言暂不提供内置依赖库。代码运行所需依赖,需在本地安装后,与代码一同打包成.zip
文件,上传至函数服务控制台。本文为您介绍各运行时语言如何安装打包依赖。
本文以使用依赖管理工具 pip3 安装非标准库 StringGenerator 为例,介绍安装打包依赖的步骤。
my-vefaas-function
的项目根目录,存放源代码和依赖包。mkdir my-vefaas-function
my-vefaas-function
的项目根目录。cd my-vefaas-function
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, }) }
StringGenerator
依赖包至项目根目录。pip3 install StringGenerator --target .
deployment.zip
的 .zip
压缩文件中。zip -r ./deployment.zip .
注意
index.py
入口文件需在.zip
压缩文件的根目录下。如果打包整个文件夹并上传,解压后将由于无法找到入口文件而导致函数部署失败。
本文以使用依赖管理工具 npm 安装 lodash 库为例,介绍安装打包依赖的步骤。
my-vefaas-function
的项目根目录,存放源代码和依赖包。mkdir my-vefaas-function
my-vefaas-function
的项目根目录。cd my-vefaas-function
npm init # 之后跟随指引填写项目对应信息即可
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'}), }; };
npm install lodash # 安装您所需要的依赖 # or yarn add lodash # 您可以使用任何包管理工具 pnpm add lodash # 只需要确保存在 node_modules 和 package.json 即可
deployment.zip
的 .zip
压缩文件中。zip -r ./deployment.zip .
注意
index.js
入口文件需在.zip
压缩文件的根目录下。如果打包整个文件夹并上传,解压后将由于无法找到入口文件而导致函数部署失败。