
# 函数存储选型
本文介绍函数工作流支持的存储类型的适用场景及差异，供您进行函数存储选型。
#### 函数存储选型分析
为了满足业务存储和访问文件的诉求，函数工作流提供丰富的存储类型，包括弹性云服务器ECS、高性能弹性文件服务SFS Turbo、对象存储服务OBS、临时存储和函数依赖包。具体的存储选型对比分析请参考[表1]。
 表1函数存储选型分析 
| **对比项** | **弹性云服务器 ECS**                                                             | **高性能弹性文件服务** **SFS** **Turbo**                                                            | **对象存储服务** **OBS**                                                    | **临时存储**                                                                                                | **函数依赖包**              |
|:---|:---|:---|:---|:---|:---|
| 适用场景    | 日志、业务文件存储                                                                  | 日志、业务文件存储                                                                                  | 日志、业务文件存储                                                             | 业务产生的临时文件                                                                                               | 公共依赖库、运行时环境及函数扩展等发布与部署 |
| 最大空间    | 可扩展                                                                        | 弹性                                                                                         | 弹性                                                                    | 默认情况下为512MB，可以自行调整为最大10GB。                                                                              | 300 MB                 |
| 持久性     | 持久                                                                         | 持久                                                                                         | 持久                                                                    | 临时存储                                                                                                    | 持久                     |
| 调用间共享   | 是                                                                          | 是                                                                                          | 是                                                                     | 否                                                                                                       | 是                      |
| 存储内容    | 可写                                                                         | 可写                                                                                         | 可写                                                                    | 可写                                                                                                      | 不可写                    |
| 存储类型    | 文件系统                                                                       | 文件系统                                                                                       | 对象                                                                    | 文件系统                                                                                                    | 代码依赖归档                 |
| 事件源集成   | 否                                                                          | 否                                                                                          | 是                                                                     | 否                                                                                                       | 否                      |
| 函数访问速度  | 较快                                                                         | 较快                                                                                         | 快                                                                     | 最快                                                                                                      | 快                      |
| 计费      | [ECS计费概述](https://support.huaweicloud.com/price-ecs/ecs_billing_0000.html) | [SFS Turbo计费概述](https://support.huaweicloud.com/price-sfsturbo/sfsturbo_billing_0000.html) | [OBS计费概述](https://support.huaweicloud.com/price-obs/obs_42_0001.html) | 硬盘规格≤512 MB时免费，具体见[计费项](https://support.huaweicloud.com/price-functiongraph/functiongraph_00_0010.html) | 不计费                    |
   
#### 存储类型介绍
函数工作流支持的存储类型具体介绍如下。
表2函数支持的存储类型介绍 
| 存储类型                | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|
| 弹性云服务器 ECS          | 弹性云服务器（Elastic Cloud Server，ECS）能够通过启动NFS（网络文件系统）服务，对外提供安全、高性能、高可靠且易于使用的文件存储服务。华为云函数工作流与ECS无缝集成，支持为函数配置挂载ECS的共享路径。配置成功后，函数可以像访问本地文件系统一样访问指定的ECS共享路径。 ECS共享目录通过NFS将ECS上的特定目录设置为共享目录，函数可以挂载该目录进行读写等操作，实现计算资源的动态扩展。通过配置特定用户权限，能够有效管理共享数据资源。适用于希望利用现有ECS资源实现轻量级数据处理和文件共享的场景，尤其是业务需求不频繁的情况。 具体挂载操作，请参见[扩展函数的存储空间](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0402.html)。                                                                                                                                                                                                                                                                                      |
| 高性能弹性文件服务 SFS Turbo | 高性能弹性文件服务（Scalable File Service Turbo，SFS Turbo）提供按需扩展的高性能文件存储（NAS），可为云上多个弹性云服务器（ECS）、容器（CCE\&CCI）、裸金属服务器（BMS）提供共享访问。 华为云函数工作流支持与高性能弹性文件服务SFS Turbo无缝集成，支持为函数挂载SFS Turbo文件系统。配置成功后，函数可以像访问本地文件系统一样访问指定的文件系统。 使用SFS Turbo作为函数挂载的优势如下： - 可以将临时文件存储到SFS Turbo文件系统中，临时文件大小不受实例本地磁盘空间限制。  - 多个函数可以共用一个SFS Turbo文件系统，实现文件共享。   具体挂载操作，请参见[扩展函数的存储空间](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0402.html)。 |
| 对象存储服务 OBS          | 对象存储服务（Object Storage Service，OBS）提供海量、安全、高可靠且低成本的数据存储能力，支持存储任意类型和大小的数据。适用于企业备份、归档、视频点播、视频监控等多种数据存储场景。 函数工作流与OBS能够通过基于EventGrid（EG）的OBS事件源触发器实现无缝集成，可以编写函数对OBS事件进行自定义处理，例如能够调用多种函数处理图像或音频数据，并将处理结果写入不同类型存储服务中。您只需专注于编写函数逻辑，系统将以实时、可靠的大规模并行方式处理海量数据。 具体使用操作，请参见[使用EventGrid触发器（OBS应用事件源）](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0228.html)。也支持在函数代码中，使用OBS对应语言的SDK工具实现对OBS的读写处理。                                                                                                                                                                                                                                                                   |
| 临时存储                | 函数工作流提供两种临时存储规格，分别为512MB和10GB。 临时存储空间的生命周期与底层执行函数的实例相同。若持续有请求，实例将保持存在，因此先前存储于磁盘的数据仍将保留。若函数在长时间内未收到请求，系统将回收该实例，此时磁盘上的数据将随之消失。 如需配置临时存储，请在[工单系统](https://console.huaweicloud.com/ticket/?agencyId=e4ebeeb18baa4ae58946b5342fa6159d#/ticketindex/createIndex)提交工单联系技术支持工程师授权。                                                                                                                                                                                                                                                                                                                                                                                                                |
| 函数依赖包               | 函数依赖包包含支持函数业务代码运行的公共库，可以将代码所需的公共库封装成依赖包进行单独管理，便于多函数共享，同时也能有效缩减函数代码在部署与更新过程中的体积。 关于函数依赖包的操作和使用限制，请参见[函数依赖包概述](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0502.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   
