函数计算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 插件