文档首页/ 函数工作流 FunctionGraph/ 常见问题/ 配置函数/ FunctionGraph的函数如何读写上传的文件?
更新时间:2025-01-07 GMT+08:00
分享

FunctionGraph的函数如何读写上传的文件?

函数工作目录权限说明

函数可以读取代码目录下的文件,函数工作目录在入口文件的上一级,例如用户上传了文件夹backend,需要读取与入口文件同级目录的文件test.conf,可以用相对路径“code/backend/test.conf”,或者使用全路径(相关目录为RUNTIME_CODE_ROOT环境变量对应的值)。如果需要写文件(如创建新文件或者下载文件等),可以在/tmp目录下进行或者使用函数提供的挂载文件系统功能。

  • 若容器回收,文件的读写就会失效。
  • 函数目前不支持持久化。

典型场景

  • 需要对OBS上的文件进行处理,可以先把文件下载到/tmp目录。
  • 函数运行过程中产生了一些数据想保存到OBS,可以先在/tmp目录下创建新文件,然后把这些数据写到里面,接下来上传该文件到OBS。

获取上传的文件

以Python语言为例,如果用户用os.getcwd()查看当前目录的话,会发现当前目录是/opt/function,但实际代码是传到/opt/function/code里的。

有2种方法可以获取到上传的文件:

  1. 函数里使用cd命令切换路径到/opt/function/code
  2. 使用全路径(相关目录为RUNTIME_CODE_ROOT环境变量对应的值)

    其他语言同理,可参考如上方法获取上传的文件。

相关文档