详情页标题前

腾讯云云函数(SCF)部署方法-云淘科技

详情页1

部署方法

腾讯云云函数提供以下几种方式部署函数,您可以按需选择使用。创建、更新函数操作详情可参见 创建及更新函数。通过 zip 打包上传部署,详情可参见 依赖安装和部署。通过控制台编辑和部署,详情可参见 通过控制台部署函数。使用命令行部署,详情可参见 通过 Serverless Cloud Framework 部署函数。

依赖安装和部署

当前的函数标准 Python Runtime 中仅提供了 /tmp 目录可写,其他目录只读,因此在用到依赖库时,需要使用本地安装、打包、上传的方式。Python 依赖包通常可以与函数代码一同上传,或上传至层中,然后绑定使用。

本地安装依赖包

依赖管理工具

Python 可以通过 pip 包管理器进行依赖管理。由于环境配置不同,可自行将 pip 替换为 pip3pip2

使用方法

1.requirements.txt 中配置依赖信息。2. 通过在代码目录下执行 pip install -r requirements.txt -t . 命令安装依赖包。通过使用 -t 参数,可以指定依赖包的安装目录,在项目代码目录下执行时,可以使用 -t . 安装在当前目录下。注意您可以使用 pip freeze > requirements.txt 生成当前环境下所有依赖的 requirements.txt 文件。函数运行的系统是 CentOS 7,您需要在相同环境下进行安装。若环境不一致,则可能导致上传后运行时出现找不到依赖的错误。您可参考 云函数容器镜像 进行依赖安装。若部分依赖涉及动态链接库,则需手动复制相关依赖包到依赖安装目录后再打包上传。详情请参阅 使用 Docker 安装依赖。

示例

1. 在本地安装 requests 依赖,其中代码文件 index.py 如下所示:

# -*- coding: utf8 -*-import requests
def main_handler(event, context): addr = "www.qq.com" resp = requests.get(addr) print(resp) return resp

2. 使用 pip3 install requests -t . 在项目当前目录安装 requests 依赖。代码文件如下所示:

$ pip3 install requests -t .Collecting requests   Using cached requests-2.25.1-py2.py3-none-any.whl (61 kB)Collecting certifi>=2017.4.17   Using cached certifi-2020.12.5-py2.py3-none-any.whl (147 kB)Collecting chardet=3.0.2   Using cached chardet-4.0.0-py2.py3-none-any.whl (178 kB)Collecting idna=2.5   Using cached idna-2.10-py2.py3-none-any.whl (58 kB)Collecting urllib3=1.21.1   Using cached urllib3-1.26.4-py2.py3-none-any.whl (153 kB)Installing collected packages: urllib3, idna, chardet, certifi, requestsSuccessfully installed certifi-2020.12.5 chardet-4.0.0 idna-2.10 requests-2.25.1 urllib3-1.26.4
$ ls -ltotal 8drwxr-xr-x 3 xxx 111 96 4 29 16:45 bindrwxr-xr-x 7 xxx 111 224 4 29 16:45 certifidrwxr-xr-x 8 xxx 111 256 4 29 16:45 certifi-2020.12.5.dist-infodrwxr-xr-x 44 xxx 111 1408 4 29 16:45 chardetdrwxr-xr-x 9 xxx 111 288 4 29 16:45 chardet-4.0.0.dist-infodrwxr-xr-x 11 xxx 111 352 4 29 16:45 idnadrwxr-xr-x 8 xxx 111 256 4 29 16:45 idna-2.10.dist-info-rw-r--r--@ 1 xxx 111 177 4 29 16:33 index.pydrwxr-xr-x 21 xxx 111 672 4 29 16:45 requestsdrwxr-xr-x 9 xxx 111 288 4 29 16:45 requests-2.25.1.dist-infodrwxr-xr-x 17 xxx 111 544 4 29 16:45 urllib3drwxr-xr-x 10 xxx 111 320 4 29 16:45 urllib3-1.26.4.dist-info

打包上传

依赖可以和项目一同上传,并在函数代码中通过 import 方式引入和使用。同时,依赖也可以打包部署为层,并通过在函数创建部署时,与函数绑定,提供复用能力。您可以通过控制台选择本地文件夹的方式自动化打包,也可以通过手工打包的方式形成可以用于部署函数或层的 zip 包。在打包部署时,需要注意的是均在项目目录下进行打包操作,即确保代码、依赖均在 zip 文件内的根目录中。详情可参见 打包要求。

特殊依赖包

部分 Python 的依赖包,在安装时需要进行相关的编译操作,例如 pycryptodome 依赖。由于编译程序会根据不同 OS 进行操作系统相关的编译操作,在 Windows、Mac 等环境下编译生成的依赖库及动态库等程序,可能无法在云函数的环境中运行。您可通过以下方案尝试解决:寻找针对 FaaS 的开源实现,使用开源实现已经准备好的依赖库。在 SCF 公共 Layer 项目中寻找依赖或提交需求,本项目用于常用特殊依赖包的整理和存储,并以 Layer 形式提供部署支持。通过使用容器方案及 SCF 容器镜像,在本地完成特殊依赖包安装和内容抽取后,打包上传至代码运行环境中。
官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/149666.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云云函数(SCF)在线效率工具行业案例-云淘科技

    客户介绍 某企业提供多功能笔记类应用,是知识管理领域中影响力较大的工具之一。它不仅是管理个人信息的智能助手,也是提高团队效率的企业工具,同时还是一个内容平台,富集高价值信息,以及一个优秀的知识和信息相关智能硬件的生产商。该企业的服务对象主要是高教育程度、高收入的知识人群、广大知识工作者和学生,服务用户已过亿。产品采用业界领先的 Freemium(免费增值)商…

    腾讯云 2023年12月9日
  • 腾讯云对象存储音频审核

    简介 内容审核功能是由 数据万象(Cloud Infinite,CI)提供的,数据万象将处理能力与 COS SDK 完全结合,您可以直接按照本篇文档指引进行使用。说明使用内容审核服务需拥有数据万象使用权限:主账号请 单击此处 进行角色授权。子账号请参见 授权子账号接入数据万象服务 文档。本文档提供关于音频审核的相关的 API 概览以及 SDK 示例代码。 A…

    腾讯云 2023年12月9日
  • 腾讯云云点播直播精彩剪辑固化至云点播 VOD 指引

    说明:使用 直播精彩剪辑 后,可根据以下指引实现直播剪辑片段固化至云点播 VOD。 操作场景 通过云点播,您可以将剪辑出来的视频保存成一个独立的视频(拥有独立的 FileId)。其生命周期不受原始直播录制视频影响(即使原始录制视频被删除,剪辑结果也不会受到任何影响)。也可以对其进行转码、分发播放、在线剪辑等二次处理。剪辑固化的优势在于其生命周期与原始录制视频…

    2023年12月9日
  • 腾讯云对象存储uni-app 直传实践

    简介 本文档介绍如何不依赖 SDK,使用简单的代码,在 uni-app 直传文件到对象存储(Cloud Object Storage,COS)的存储桶。说明 本文档内容基于 XML API 的 PostObject 接口。 方案说明 执行过程 1. 在前端选择文件,前端将后缀发送给服务端。2. 服务端根据后缀,生成带时间的随机 COS 文件路径,并计算对应的…

    2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云内容分发网络CDN流量命中率偏低

    现象描述 实时监控中流量命中率的数值偏低,不符合预期。 可能原因 进行了缓存刷新缓存刷新会清空节点上指定内容,短时间会出现命中率下降的情况。源站含新资源源站新资源较多,会引起 CDN 节点回源,流量命中率出现下降趋势。源站异常若源站出现异常,5XX或4XX较多时,也会影响流量命中率。缓存策略配置不当请根据您的实际业务情况配置缓存规则。关闭分片回源若关闭了分片…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。