更新时间:2025-05-14 GMT+08:00
分享

函数存储选型

本文介绍函数工作流支持的存储类型的适用场景及差异,供您进行函数存储选型。

函数存储选型分析

为了满足业务存储和访问文件的诉求,函数工作流提供丰富的存储类型,包括弹性云服务器ECS、高性能弹性文件服务SFS Turbo、对象存储服务OBS、临时存储和函数依赖包。具体的存储选型对比分析请参考表1

表1 函数存储选型分析

对比项

弹性云服务器 ECS

高性能弹性文件服务 SFS Turbo

对象存储服务 OBS

临时存储

函数依赖包

适用场景

日志、业务文件存储

日志、业务文件存储

日志、业务文件存储

业务产生的临时文件

公共依赖库、运行时环境及函数扩展等发布与部署

最大空间

可扩展

弹性

弹性

默认情况下为512MB,可以自行调整为最大10GB。

300 MB

持久性

持久

持久

持久

临时存储

持久

调用间共享

存储内容

可写

可写

可写

可写

不可写

存储类型

文件系统

文件系统

对象

文件系统

代码依赖归档

事件源集成

函数访问速度

较快

较快

最快

计费

ECS计费概述

SFS Turbo计费概述

OBS计费概述

硬盘规格≤512 MB时免费,具体见计费项

不计费

存储类型介绍

函数工作流支持的存储类型具体介绍如下。

弹性云服务器(Elastic Cloud Server,ECS)可以通过启动NFS文件服务对外提供安全、高性能、高可靠、简单易用的文件存储服务。

华为云函数工作流支持与弹性云服务器ECS无缝集成,支持为函数配置挂载ECS的共享路径。配置成功后,函数可以像访问本地文件系统一样访问指定的ECS共享路径。

使用ECS作为函数挂载的优势如下:

  • 可以将临时文件存储到ECS共享路径中,临时文件大小不受实例本地磁盘空间限制。
  • 多个函数可以共用一个ECS共享路径,实现文件共享。

具体挂载操作,请参见扩展函数的存储空间

高性能弹性文件服务(Scalable File Service Turbo,SFS Turbo)提供按需扩展的高性能文件存储(NAS),可为云上多个弹性云服务器(ECS)、容器(CCE&CCI)、裸金属服务器(BMS)提供共享访问。

华为云函数工作流支持与高性能弹性文件服务SFS Turbo无缝集成,支持为函数挂载SFS Turbo文件系统。配置成功后,函数可以像访问本地文件系统一样访问指定的文件系统。

使用SFS Turbo作为函数挂载的优势如下:

  • 可以将临时文件存储到SFS Turbo文件系统中,临时文件大小不受实例本地磁盘空间限制。
  • 多个函数可以共用一个SFS Turbo文件系统,实现文件共享。

具体挂载操作,请参见扩展函数的存储空间

对象存储服务(Object Storage Service,OBS)提供海量、安全、高可靠且低成本的数据存储能力,支持存储任意类型和大小的数据。适用于企业备份、归档、视频点播、视频监控等多种数据存储场景。

函数工作流与OBS能够通过基于EventGrid(EG)的OBS事件源触发器实现无缝集成,可以编写函数对OBS事件进行自定义处理,例如能够调用多种函数处理图像或音频数据,并将处理结果写入不同类型存储服务中。您只需专注于编写函数逻辑,系统将以实时、可靠的大规模并行方式处理海量数据。

具体使用操作,请参见使用EventGrid触发器(OBS应用事件源)。也支持在函数代码中,使用OBS对应语言的SDK工具实现对OBS的读写处理。

函数工作流提供两种临时存储规格,分别为512MB和10GB。

临时存储空间的生命周期与底层执行函数的实例相同。若持续有请求,实例将保持存在,因此先前存储于磁盘的数据仍将保留。若函数在长时间内未收到请求,系统将回收该实例,此时磁盘上的数据将随之消失。

函数依赖包包含支持函数业务代码运行的公共库,可以将代码所需的公共库封装成依赖包进行单独管理,便于多函数共享,同时也能有效缩减函数代码在部署与更新过程中的体积。

关于函数依赖包的操作和使用限制,请参见函数依赖包概述

相关文档