上云无忧 > 文档中心 > 腾讯云云函数 - 函数存储选型
云函数 SCF
腾讯云云函数 - 函数存储选型

文档简介:
云函数 SCF 提供的是弹性按量计算的 Faas 服务,可作为 Workload 承载众多 Serverless 应用。SCF 在运行时,开发者会由于业务需求访问各类外部数据,如导入第三方库、非结构化数据以及函数计算输出,这就需要云函数 SCF 提供丰富的存储支持类型,以支持开发者的业务需要。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠
云函数 SCF 提供的是弹性按量计算的 Faas 服务,可作为 Workload 承载众多 Serverless 应用。SCF 在运行时,开发者会由于业务需求访问各类外部数据,如导入第三方库、非结构化数据以及函数计算输出,这就需要云函数 SCF 提供丰富的存储支持类型,以支持开发者的业务需要。
云函数 SCF 目前已支持的存储类型,其中包括对接云上的其他云产品对象存储 COS、文件存储 CFS,同时还要本地临时存储,以及层。本篇文档介绍这些存储类型之间的区别,供开发者选型时参考。

选型分析

下表从不同维度比对了云函数 SCF 的这四种不同数据存储选项的特性:
条目
对象存储 COS
文件存储 CFS
临时存储 /tmp
层
最大空间
弹性
弹性
512M
层版本代码 + 层所关联的函数版本代码大小总和为 500 MB(压缩前)
持久性
持久化
持久化
临时存储
持久化
存储内容
可写
可写
可写
不可写
存储类型
对象
文件系统
文件系统
代码依赖归档
事件源集成
是
否
否
否
操作
对象存储
文件读写
文件读写
运行时不可写
计费
存储、请求、管理
存储
无额外计费
无额外计费
调用间共享
是
是
否
是
函数的访问速度
快速的
非常快
最快的
快速的
业务场景
日志、业务文件存储
日志、业务文件存储
业务产生的临时文件
减少代码包提及或函数之间复用代码库、工具等

存储类型

对象存储 COS

腾讯云 对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,具有高扩展性、低成本、可靠安全等优点。对象存储非常适合存储非结构化数据。这包括二进制数据,例如图像或媒体、日志文件和传感器数据。

开发者可以利用 SCF 提供的 SDK,使用通用的 HTTP 协议以免挂载的方式,快速实现对 COS Bucket 中的对象创建删除等,来完成业务逻辑的闭环。同时 COS 可作为事件源将事件发布给 SCF,并携带事件数据调用函数,以此实现函数事件源集成。
基于 SCF + COS 实现实时音视频转码,满足当上传图片、音视频的总量大、频率高时,对应不同的清晰度使用多个云函数对其分别处理,以满足不同场景下用户的需求,同时适应移动网络带宽较小且不稳定的特性。对象存储是数据湖的重要存储库,Serverless 架构的入湖方案是通过云函数触发器拉起数据调用后,通过云函数捕获并记录批次数据信息,在函数内闭环相关的结构转换和数据格式转换,数据压缩等能力。
另外,对象存储 COS 的智能分层存储类型为数据提供了冷热分层机制,能够根据用户数据的访问模式,自动地转换数据的冷热层级,从而降低用户数据的存储成本。用于访问模式不固定或者无法预估访问模式的数据,为用户提供了与标准存储一致的低延迟和高吞吐的产品体验,但成本上则低于标准存储。

文件存储 CFS

腾讯云 文件存储(Cloud File Storage,CFS)提供可扩展的共享文件存储服务,除却云函数外,还可与腾讯云服务器、容器服务或者批量处理等服务搭配使用。

CFS 符合标准的 NFS 文件系统访问协议,为多个计算节点提供共享的数据源,支持弹性容量和性能的扩展,现有应用无需修改即可挂载使用,是一种高可用、高可靠的分布式文件系统,适合于大数据分析、媒体处理和内容管理等场景。CFS 成本低廉,采用按量计费模式,以小时为计费周期,您只需为实际使用的存储空间付费。
云函数 SCF 支持与 CFS 无缝集成,只需进行相关配置,您的函数即可轻松访问存储在 CFS 文件系统中的文件。使用 CFS 的优势如下:
函数执行空间不受限。
多个函数可共用一个文件系统,实现文件共享。

临时存储 /tmp

云函数 SCF 执行环境在/tmp目录提供了一个文件系统供开发者使用,该空间的大小目前固定为 512 MB。该存储空间的数据是单个函数实例所独占的,一个函数的多次调用可以重用相同的执行环境以优化性能,并将会在函数实例执行的生命周期内保留。
因此,这旨在作为临时存储空间。虽然函数可以在调用之间存储数据,但它应该仅用于单个调用中代码所需的数据。它不是永久存储数据的地方,而是更好地用于支持代码所需的操作。
操作使用方面,使用 /tmp 中的文件与云硬盘相同,直接用代码读写即可,并提供快速的 I/O 吞吐量。下面是使用 Python 进行文件压缩的示例。
		
					
import os, zipfile
os.chdir('/tmp')
with zipfile.ZipFile(yourzipfile, 'r') as zip:
zip.extractall()

层

层,是云函数 SCF 来解决公共依赖库存储的方案。如果云函数 SCF 拥有较多的依赖库或公共代码文件,可以使用 SCF 中的层进行管理。层管理,可以将依赖放在层中而不是部署包中,可确保部署包保持较小的体积。
层管理是静态的。创建层的压缩文件将按照层的版本进行存储。层在与函数进行绑定时,将按照具体的层版本与函数版本进行绑定。一个函数目前最多支持绑定 5 个层的具体版本,并在绑定时有一定顺序。
相似文档
  • 简单易用,减少组件开销: 使用云函数时,用户只需编写最重要的 “核心代码”,不再需要关心负载均衡、自动伸缩、网关等周边组件,极大地降低了服务架构搭建的复杂性。
  • 腾讯云云函数(Serverless Cloud Function , SCF)目前持续迭代发展,随着产品能力、对接产品的持续增长,云函数的适配应用场景也会越来越多。以下视频将为您介绍 SCF 应用场景:
  • 腾讯云云函数(Serverless Cloud Function,SCF)在使用过程中可能关联和使用到的产品如下:
  • 免费额度: 腾讯云云函数免费额度和计费方式将于2022年6月1日0:00(北京时间)起正式调整。届时新用户前三个月将获得更多用量的免费额度,第四个月开始不再享受免费额度,同时从第四个月开始,系统每月会自动发放基础套餐额度(调用次数50万次、资源使用量10万GBs、外网出流量2GB)并扣除基础套餐费用12.8元。
  • 计费项说明: 云函数的费用由以下部分组成,每部分根据自身统计结果和计算方式进行费用计算,结果以元为单位,并保留小数点后两位:
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部