上云无忧 > 文档中心 > 腾讯云云函数使用教程 - 部署函数
云函数 SCF
腾讯云云函数使用教程 - 部署函数

文档简介:
通过控制台部署: 部署程序包是 SCF 平台运行的所有代码和依赖项的 zip 集合文件,在创建函数时需要指定部署程序包。用户可以在本地环境创建部署程序包并上传至 SCF 平台,或直接在 SCF 控制台上编写代码由控制台为您创建并上传部署程序包。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

通过控制台部署

部署程序包是 SCF 平台运行的所有代码和依赖项的 zip 集合文件,在创建函数时需要指定部署程序包。用户可以在本地环境创建部署程序包并上传至 SCF 平台,或直接在 SCF 控制台上编写代码由控制台为您创建并上传部署程序包。请根据以下条件确定您是否可使用该控制台创建部署程序包:
简单场景:如果自定义代码只需要使用标准库及腾讯云提供的 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 部署程序包的示例过程。
注意
通常情况下在本地安装的依赖库在 SCF 平台上也能很好运行,但少部分情况下安装的 binary 文件可能产生兼容性问题,如果发生了此问题请您尝试 联系我们
示例中针对 Python 开发语言,将在本地使用 pip 工具安装库及依赖项,请确保您本地已经安装了 Python 和 pip。

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
注意
针对有编译过程的库,为保持和 SCF 运行环境的统一,建议打包过程在 CentOS 7 下进行。
如果在安装过程中或编译过程中,有其他软件、编译环境、开发库的需求,请根据安装提示解决编译和安装问题。

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 命令部署函数。
相似文档
  • 通过控制台或 Serverless Cloud Framework 命令行均可以完成函数删除操作。 通过控制台删除函数: 1. 登录 Serverless 控制台,在左侧选择函数服务。 2. 在“函数服务”页面选择地域和命名空间,查看指定地域内的全部函数。 3. 在函数列表中勾选需删除的函数后,单击删除。
  • 操作场景: 您可通过云函数控制台实现跨地域、跨空间的函数复制。在复制函数时,您可选择仅复制函数代码,或同时复制函数代码及函数配置两种方式。对于代码重复程度较高的函数,我们可以通过复制功能快速创建函数,修改代码,快速的实现多个有细微差异的云函数。
  • Web 函数(Web Function)是云函数的一种函数类型,区别于事件函数(Event Function)对于事件格式的限制,专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行。
  • 操作场景: 本文介绍如何快速创建一个 Web 函数,您可通过本文了解 Web 函数创建过程及云函数控制台基本操作。 前提条件: 在使用腾讯云云函数之前,您需要 注册腾讯云账号 并完成 实名认证。
  • Web 函数基于函数内置的标准语言镜像环境中,您需要创建一个可执行文件 scf_bootstrap 以启动 Web Server,并将该文件和您的代码文件一起打包部署,完成 Web 函数创建。实际处理请求时,您的 Web Server 通过监听指定的9000端口接收 HTTP 请求,并转发给后端服务完成逻辑处理并返回给用户。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部