一、通过控制台部署
·简单场景:如果自定义代码只需要使用标准库及腾讯云提供的 COS、SCF 等 SDK 库,且只有一个代码文件时,则可以使用 SCF 控制台中的内联编辑器。控制台会将代码及相关的配置信息自动压缩至一个能够运行的部署程序包中。
·高级场景:如果编写的代码需要用到其他资源(如使用图形库进行图像处理,使用 Web 框架进行 Web 编程,使用数据库连接库用于执行数据库命令等),则需要先在本地环境创建函数部署程序包,然后再使用控制台上传部署程序包。
二、ZIP 格式
直接上传至 SCF 平台,或通过上传 COS 再导入 SCF 方式提交的代码包,要求为 ZIP 格式 。用于压缩或解压的工具,在 Windows 平台下可使用例如 7-Zip 工具,在 Linux 平台下可使用 zip 命令行工具。
三、打包方式
打包时,需要针对文件进行打包,而不是针对代码整体目录进行打包;打包完成后,入口函数文件需要位于包内的根目录。
·在 Windows 下打包时,可以进入函数代码目录,全选所有文件以后,单击鼠标右键,选择“压缩为 zip 包”,生成部署程序包。通过 7-Zip 等工具打开 zip 包浏览时,包内应该直接包含入口程序与其他库。
·在 Linux 下打包时,可以进入函数代码目录,通过调用 zip 命令时,将源文件指定为代码目录下的所有文件,实现生成部署程序包,例如 zip /home/scf_code.zip * -r。
四、部署程序包示例
下面展示在本地环境创建 Python 部署程序包的示例过程。
五、Linux 下创建 Python 部署程序包
1. 创建一个目录:
mkdir /data/my-first-scf
2. 将创建的此函数所有 Python 源文件(.py 文件)保存在此目录。
3. 使用 pip 安装所有依赖项至此目录:
pip install <module-name> -t /data/my-first-scf
例如,以下命令会将 Pillow 库安装在 my-first-scf 目录下:
pip install Pillow -t /data/my-first-scf
4. 在 my-first-scf 目录下,压缩所有内容。特别注意,需要压缩目录内的内容而不是目录本身:
cd /data/my-first-scf && zip my_first_scf.zip * -r
六、Windows 下创建 Python 部署程序包
建议你将已经在 Linux 环境下运行成功的依赖包和代码打包成 zip 包作为函数的执行代码,具体操作请参考 代码实操 – 获取COS上的图像并创建缩略图。
针对 Windows 系统,同样可以使用 pip install <module-name> -t <code-store-path> 命令安装 Python 库,但是针对需要编译或带有静态、动态库的包,由于 Windows 下编译生成的库无法在 SCF 的运行环境(CentOS 7)中被调用运行,因此 Windows 下的库安装仅适合纯 Python 实现的库。
七、通过 Serverless Cloud Framework 命令行部署
注意:在使用 Serverless Cloud Framework 工具之前,请通过 安装 Serverless Cloud Framework 完成安装。
你可通过 Serverless Cloud Framework,执行 scf deploy 命令部署函数。