一、操作场景
SCF 是服务级别的计算资源,它的快速迭代、极速部署的特性天然需要存储与计算分离,而文件存储(Cloud File Storage,CFS)提供的高性能共享存储服务为 SCF 最佳的存储方案。只需几步简单配置,你的函数即可轻松访问存储在 CFS 文件系统中的文件。
云函数 SCF 使用文件存储 CFS 的优势如下:
·函数执行空间不受限。
·多个函数可共用一个文件系统,实现文件共享。
二、关联授权策略
注意:如需使用 CFS 功能,云函数需要能够操作你的 CFS 资源的权限。如你使用的账号未赋予云函数权限,可能出现函数无法保存,CFS 相关功能无法使用等问题。
请参考以下步骤为账号进行授权操作:
·如你的账号为主账号,请参见 修改角色 为 SCF_QcsRole 角色关联 QcloudCFSReadOnlyAccess 策略。关联成功则如下:
·如你使用账号为子账号,则请联系主账号并参见 子用户权限设置 为你的子账号关联 QcloudCFSReadOnlyAccess 策略。关联成功则如下:
三、创建 CFS 文件系统
具体操作请参考 创建 CFS 文件系统 。
注意:目前云函数仅支持添加网络类型为 VPC 的 CFS 文件系统作为挂载点。请在创建的 CFS 文件系统时,选择与函数相同的 VPC,以确保网络能够互通。
四、挂载并使用 CFS 文件系统
1. 登录 云函数控制台,选择左侧导航栏中的 函数服务。
2. 在函数服务页面,单击需要使用 CFS 存储的函数名,进入函数管理页面。
3. 选择函数配置页签,单击右上角的编辑。
4. 在网络配置中,勾选启用并选择 CFS 文件系统所在的 VPC。
5. 在文件系统中单击添加文件系统,并按照以下信息进行挂载。如下:
·文件系统类型:目前仅支持挂载使用 CFS 通用系列,CFS Turbo 系列正在灰度中。
·文件系统 ID:在下拉列表中选择需挂载的文件系统。如果你未提前创建,可以新建文件系统。
·挂载点 ID:在下拉列表中选择对应文件系统的挂载点 ID。
·远程目录:云函数需要访问 CFS 文件系统的远端目录,由文件系统和远端子目录两部分组成,远端子目录路径必须存在。
·本地目录:为本地文件系统的挂载路径,推荐挂载到 /home/ 、/mnt/ 或 /data/ 目录的子目录挂载。
6. 单击页面下方的保存即可完成配置。你在 SCF 中对本地目录执行的读写操作,等同于在远端目录进行读写操作。
7. 为了验证是否挂载成功,你可以在函数管理 > 函数代码中部署并测试以下程序,观察远程目录的目录结构是否被成功返回。
import osdef main_handler(event, context): a=os.listdir("/mnt") return(a)
五、SCF 使用 CFS 文件系统性能测试
你可以使用此 脚本 测试云函数 SCF 使用 CFS 时的读写性能。