创建部署程序包
所有文档

          函数计算 CFC

          创建部署程序包

          “部署程序包”是 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 包的过程

          1. 创建一个目录,例如 cfc-python-demo
          2. 将所有的 Python 源文件 (.py) 保存在此目录的根级
          3. 使用 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=
          4. 压缩 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 .
            	```
          5. 通过控制台上传zip包。注意处理程序需要修改成您的入口文件和处理函数,例如您的入口函数是 index.py 里的 handler 函数,那么在“处理程序”这里,需要改成 index.handler。
          上一篇
          使用BSAM-CLI调试函数
          下一篇
          Baidu Serverless VSCode 插件