You need to enable JavaScript to run this app.
文档中心
函数服务

函数服务

复制全文
下载 pdf
数据处理
使用函数服务读写 TOS 挂载目录
复制全文
下载 pdf
使用函数服务读写 TOS 挂载目录
通过在函数上挂载 TOS Bucket,可以实现数据的持久化存储和多函数间共享。本文为您介绍如何使用函数服务对挂载的 TOS Bucket 进行读写。​
场景介绍​
通过在函数上挂载 TOS Bucket,一方面可以实现数据的持久化存储和多函数间共享;另一方面,函数可以像访问本地文件系统一样访问 TOS,简化资源访问和数据处理流程。​
前提条件​
  • 对象存储 TOS​
  • 已开通火山引擎对象存储 TOS。​
  • 已在函数待部署地域,创建 TOS Bucket,详细操作可参见 创建存储桶。​
注意​
为了更好地进行权限管控,推荐使用最小化授权的 IAM 用户密钥,不建议直接使用火山引擎账号密钥或使用权限过大的 IAM 用户密钥。​
  • 函数服务​
  • 已开通火山引擎函数服务。​
操作步骤​
步骤一:创建函数并挂载 TOS​
  1. 在顶部导航栏,选择目标地域。​
  1. 在 函数列表 页面,单击 创建函数,选择 创建「事件函数」。​
  • 基础配置​
  • 自定义函数名称和备注信息。​
  • 函数代码​
  • 运行时:选择 Python。​
  • 代码模板:选择 vefaas-python38-default。​
  • 高级配置​
  • 启用存储配置的 TOS 挂载功能,其他参数保持默认。​
  • ​​​
  • ​
    配置项​
    说明​
    AKSK​
    输入访问密钥 Access Key ID 和 Secret Access Key,用于授权函数服务使用 TOS。该访问密钥必须具有 TOS 的读写权限。​
    TOS 挂载​
    添加 TOS 挂载点,本示例添加 1 个 TOS 挂载点。​
    • Bucket:选择待挂载的 TOS Bucket。​
    • 访问地址:选择 Bucket 后将自动获取。​
    • Bucket 子目录:选择函数要访问的 Bucket 子目录。必须以/开头。本示例为/docdemo。​
    • 本地目录:配置函数运行环境中的本地目录。本示例为/mnt/tos。​
    • 权限:本示例选择读写权限,允许函数对 Bucket 挂载的本地目录进行读写操作。​
    ​
  1. 单击 确定,完成函数创建。​
步骤二:在线编辑代码​
本文使用以下代码示例为您演示如何读写挂载的 TOS Bucket。​
说明​
本代码逻辑仅供参考,实际使用时请根据您的业务场景按需修改。​
  1. 在当前函数的代码页签,单击 index.py 文件,使用以下代码覆盖原有内容,并单击 保存。​
​
import json​
import os​
​
def handler(event, context):​
print(f"received new request, event content: {event}")​
​
# 挂载点本地目录。请与实际保持一致。​
mount_path = '/mnt/tos'# 读取挂载目录中的某个文件。实际使用时,请将 tos.txt 替换为挂载目录中存在的文件。​
file_path = os.path.join(mount_path, 'tos.txt')​
if os.path.exists(file_path):​
with open(file_path, 'r') as file:​
content = file.read()​
print("Content of tos.txt:", content)​
else:​
print("tos.txt does not exist.")​
​
# 向挂载目录中写入文件。​
write_path = os.path.join(mount_path, 'output.txt')​
with open(write_path, 'w') as file:​
file.write("Hello, TOS mount!")​
print("Wrote to output.txt in TOS mount.")​
​
result = {​
'statusCode': 200,​
'headers': {​
'Content-Type': 'application/json'​
},​
'body': json.dumps({​
'message': 'Hello veFaaS TOS mount!'​
})​
}​
return result​
​
步骤三:发布函数​
将函数的当前代码和配置发布至线上。​
  1. 在函数详情页面,单击右上角的 发布。​
  1. 函数版本使用 Latest。其他参数保持默认。​
  1. 单击 确定。等待函数发布完成。​
结果验证​
  1. 测试函数,验证函数的返回结果是否符合预期。​
  1. 在函数详情页面,单击右上角的 测试。​
  1. 在弹出的函数测试页面,配置触发器类型和测试请求。​
  • 触发器类型:选择 API 网关触发器。​
  • 测试请求:保持默认。​
  1. 单击 测试。等待测试结果。​
  • 如图所示:函数返回了预期的内容,符合预期。​
  • ​​​
  1. 查看函数的实例日志,确认是否完成了预期的文件读写。​
  1. 切换至资源管理页签。​
  1. 在实例列表中,选择运行中的实例,单击 日志,进入实例日志页面。​
  • 说明​
  • 函数存在多个实例时,建议逐一查看实例日志,锁定实际处理请求的实例。​
  • 如图所示:函数返回了 TOS 挂载目录下 tos.txt 的内容,并在 TOS 挂载目录下写入了 output.txt 文件。​​​
  1. 登录 TOS 控制台,查看对应的挂载目录下是否写入了 output.txt 文件。​
  • 如图所示:目标 Bucket 的 /docdemo 目录下写入了 output.txt 文件。​​​
​
​
最近更新时间:2025.06.12 14:59:19
这个页面对您有帮助吗?
有用
有用
无用
无用