产品动态
产品公告
zip 包的根目录下。如果打包整个文件夹并上传 zip 包,则会因解压后无法在根目录找到入口文件而导致函数创建失败。lodash 库为例:mkdir test-package 命令,创建一个目录用于存放函数代码和依赖库。lodash 依赖库。cd test-packagenpm install lodash
index.js 并在代码中引用 lodash 库。'use strict';const _ = require('lodash');exports.main_handler = async (event, context) => {console.log("Hello World")console.log(event)console.log(event["non-exist"])console.log(context)return event};

lodash 库为例:lodash:cd src # 依赖库需要安装在与函数入口文件同一级的目录下,即需要进入`src`目录后再执行依赖安装操作。npm install lodash # 可通过终端查看 npm 版本
package.json 和 node_modules。
zip 包的根目录下。如果打包整个文件夹并上传 zip 包,则会因解压后无法在根目录找到入口文件而导致函数创建失败。numpy 库为例:mkdir test-package 命令,创建一个目录用于存放函数代码和依赖库。numpy 依赖库。cd test-packagepip install numpy -t . # 请关注所用 pip 版本是否适配函数运行环境
index.py 并在代码中引用 numpy 库。# -*- coding: utf8 -*-import jsonimport numpydef main_handler(event, context):print("Received event: " + json.dumps(event, indent = 2))print("Received context: " + str(context))print("Hello world")return("Hello World")

numpy 库为例:numpy:cd src # 依赖库需要安装在与函数入口文件同一级的目录下,即需要进入`src`目录后再执行依赖安装操作。pip install numpy -t . # 可通过终端查看 pip 版本,确认是否适配函数运行环境
pip freeze > requirements.txt 生成本地环境下所有依赖的 requirements.txt 文件。pip install -r requirements.txt -t . 即可根据 requirements.txt 的配置安装依赖包。zip 包的根目录下。如果打包整个文件夹并上传 zip 包,则会因解压后无法在根目录找到入口文件而导致函数创建失败。requests 库为例:mkdir test-package 命令,创建一个目录用于存放函数代码和依赖库。test-package下创建Composer.json并指定需要安装的依赖库及版本。{"require": {"requests": ">=1.0"}}
requests 依赖库。cd test-packagecomposer install
index.php 并在代码中引用 requests 库。<?phprequire 'vendor/autoload.php';function main_handler($event, $context) {return "hello world";}?>

php_extension 并添加自定义扩展文件 .so 和配置文件 php.ini,同函数代码一起打包上传。PHP7.2 安装自定义扩展 swoole.so 为例。mkdir test-package 命令,创建一个目录用于存放函数代码和依赖库。test-package 创建文件夹 php_extension,并将扩展对应的配置文件 php.ini 和扩展文件 .so 放在该目录下,目录结构如下:php_extension 和配置文件 php.ini 为固定命名,如使用其他命名可能导致扩展加载失败。php_extension 和配置文件 php.ini 以及自定义扩展 .so 文件需要具备可执行权限。|____php_extension| |____php.ini| |____swoole.so|____index.php
|____php_extension| |____swoole.so
extension=/var/user/php_extension/swoole.so
extension=/opt/php_extension/swoole.so
index.php,可通过extension_loaded( ) 函数检查扩展是否加载成功,加载成功返回true,否则返回false。<?phpfunction main_handler($event, $context) {var_dump(extension_loaded('swoole'));return "hello world";}?>

mkdir test-package 命令,创建一个目录用于存放函数代码和依赖库。pom.xml,并在 pom.xml 中配置依赖信息。mvn package 命令,编译输出如下:[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building java-example 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO]...[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 1.785 s[INFO] Finished at: 2017-08-25T10:53:54+08:00[INFO] Final Memory: 17M/214M[INFO] ------------------------------------------------------------------------


文档反馈