创建部署程序包
“部署程序包”是 CFC 运行您的函数时需要的 zip 压缩包,在创建函数时需要指定部署程序包。您可以在 CFC 的控制台编写代码或者自行创建 zip 程序压缩包。
- 单文件简单场景:如果只需要编辑单个文件,那么可以用控制台编辑代码,函数创建、编辑成功时,CFC 会为您直接创建好 zip 压缩包
- 多文件、目录复杂场景:如果编写的代码需要用到自定义 SDK 依赖,或者文本、图片等资源,则需要先在您的电脑上创建函数的部署程序包,然后再使用控制台上传它。
关于如何创建,请参照下面的流程。
打包要求
文件格式要求
文件格式要求为 zip 格式。用于压缩或解压的工具,在 Windows 平台下可使用例如 7-Zip 工具,在 Linux 平台下可使用 zip 命令行工具,在 macOS 平台下也可以使用 zip 命令行工具。
打包方式
打包时,需要对文件打包,而不是对文件外的目录打包;打包完成后,入口函数文件需要位于包内的根目录。
以 Node.js 为例,打包完成的 zip 文件的目录结构应该为
Example.zip 示例工程包
|--- lib 业务文件目录
|--- node_modules npm三方件目录
|--- index.js 入口js文件(必选)
|--- package.json npm项目管理文件
Windows 平台下,您可以使用图形界面打开函数代码目录,挨个选择需要打包的文件以后,单击鼠标右键,选择“压缩为 zip 包”。用 WinRAR、7-Zip 等工具打开 zip 包时,应该直接能显示入口文件。
Linux 和 macOS 平台下,打开终端程序,例如系统自带的终端或者 iTerm2,cd 进入函数代码目录,调用 zip 命令打包所需文件,以 Node.js 为例,命令应该是:
zip -r code.zip index.js node_modules/
各语言创建部署包说明
Python
- 简单:如果您的代码只需要 BCE 的 SDK,则无需安装,CFC 内置了 Python 的 BCE SDK。
- 高级:如果您的代码需要用到其他的第三方库,则需要先在本地创建 zip 压缩包,并使用 CFC 控制台或者命令行工具上传部署代码。
下面是在本地创建 zip 包的过程
- 创建一个目录,例如 cfc-python-demo
- 将所有的 Python 源文件 (.py) 保存在此目录的根级
-
使用 pip 安装所有的库,注意需要指定安装路径。如果您是 Windows 或 Linux,则可以运行命令
$ pip install module-name -t /path/to/cfc-python-demo
例如,安装requests库
$ pip install requests -t /path/to/cfc-python-demo
如果使用的是 Mac OS X,并且是通过 Homebrew 安装的 Python,那么前述命令不适用。一个简单的变通方法是使用以下内容将在您的
/path/to/cfc-python-demo
目录中添加setup.cfg
文件,再执行安装命令。[install] prefix=
-
压缩 cfc-python-demo 目录的内容,需注意是压缩目录的内容,而不是目录本身。例如此时的目录结构是这样,其中
index.py
定义了您的入口函数``` $ cd cfc-python-demo $ tree -L 1 . ├── bin ├── certifi ├── certifi-2018.10.15.dist-info ├── chardet ├── chardet-3.0.4.dist-info ├── idna ├── idna-2.7.dist-info ├── index.py ├── requests ├── requests-2.20.0.dist-info ├── setup.cfg ├── urllib3 └── urllib3-1.24.dist-info ```
在
/path/to/cfc-python-demo
目录下运行压缩命令,demo.zip
就是可以上传的 zip 压缩包。``` $ zip -r demo.zip . ```
- 通过控制台上传zip包。注意处理程序需要修改成您的入口文件和处理函数,例如您的入口函数是 index.py 里的 handler 函数,那么在“处理程序”这里,需要改成 index.handler。