tencent cloud

云函数

动态与公告
产品动态
产品公告
新手指引
产品简介
产品概述
相关概念
工作原理
产品优势
应用场景
相关产品
购买指南
计费概述
计费方式
计费项与计费方式
函数算力支持
免费额度
产品定价
计费示例
欠费与停服说明
快速入门
使用控制台创建一个事件函数
操作指南
配额管理
函数管理
Web 函数管理
日志管理
并发管理
触发器管理
函数 URL
自定义域名
版本管理
别名管理
权限管理
运行实例管理
插件管理
监控与告警管理
网络配置
层管理
执行配置
扩展存储管理
DNS 缓存配置
资源托管模式管理
近离线资源托管模式
工作流
触发器
触发器概述
触发器事件消息结构汇总
API 网关触发器
COS 触发器
CLS 触发器
定时触发器
CKafka 触发器
Apache Kafka 触发器
MQTT 触发器
触发器配置描述
MPS 触发器
CLB 触发器说明
云 API 触发器
开发指南
基本概念
测试云函数
环境变量
依赖安装
使用容器镜像
使用 Docker 安装依赖
错误类型与重试策略
死信队列
云函数接入数据库
自动化部署
云函数状态码
常见错误码解决方法
开发者工具
Serverless Web IDE
函数间调用 SDK
第三方工具
代码开发
Python
Node.js
Golang
PHP
Java
Custom Runtime
使用镜像部署函数
Web 框架部署
通过命令行完成框架部署
快速部署 Egg 框架
快速部署 Express 框架
快速部署 Flask 框架
快速部署 Koa 框架
快速部署 Laravel 框架
快速部署 Nestjs 框架
快速部署 Nextjs 框架
快速部署 Nuxtjs 框架
快速部署 Django 框架
实践教程
最佳实践概述
云产品联合解决方案
业务开发相关实践
实时音视频 TRTC
对象存储 COS
消息队列 CKafka
日志服务CLS
负载均衡 CLB
视频处理 MPS
内容分发网络 CDN
云数据仓库 PostgreSQL
云点播 VOD
短信 SMS
Elasticsearch Service
定时任务
视频处理
客户案例
腾讯在线教育
在线教育行业案例
游戏聊天系统
腾讯互娱国际(IEGG)
API 文档
History
Introduction
API Category
Making API Requests
Other APIs
Namespace APIs
Layer Management APIs
Async Event Management APIs
Trigger APIs
Function APIs
函数和层的状态说明
Data Types
Error Codes
SDK文档
常见问题
通用问题
Web 函数相关问题
计费相关问题
网络相关问题
日志相关问题
SCF 工具相关问题
事件处理相关问题
API 网关触发器相关问题
相关协议
Service Level Agreement
联系我们
词汇表

部署函数

PDF
聚焦模式
字号
最后更新时间: 2025-10-22 15:43:09

通过控制台部署

部署程序包是 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

部署程序包示例

下面展示在本地环境创建部署程序包的示例过程。
注意:
通常情况下在本地安装的依赖库在 SCF 平台上也能很好运行,但少部分情况下安装的 binary 文件可能产生兼容性问题,如果发生了此问题请您尝试 联系我们
示例中针对 Python 开发语言,将在本地使用 pip 工具安装库及依赖项,请确保您本地已经安装了 Python 和 pip。

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

Windows 下创建 Python 部署程序包

建议您将已经在 Linux 环境下运行成功的依赖包和代码打包成 zip 包作为函数的执行代码,具体操作请参考 代码实操 - 获取COS上的图像并创建缩略图
针对 Windows 系统,同样可以使用 pip install <module-name> -t <code-store-path> 命令安装 Python 库,但是针对需要编译或带有静态、动态库的包,由于 Windows 下编译生成的库无法在 SCF 的运行环境(CentOS 7)中被调用运行,因此 Windows 下的库安装仅适合纯 Python 实现的库。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈