我可以从Google Cloud Function写入容器的本地文件系统吗?AWS Lambda允许写入/ tmp:
问:如果我的AWS Lambda函数需要磁盘空间,该怎么办?
每个Lambda函数在其自己的/ tmp目录中接收500MB的非持久磁盘空间.
GCF中有相应的东西吗?
我需要将文件保存到 Google Cloud Functions 中的 tmp 文件夹。我正在从 Google Cloud Storage 访问该文件,然后将其发送到 Cloud Functions 来处理该文件。它是 MP4 文件,因此我无法使用纯文本文件可用的任何功能。
我相信我唯一的两个选择是检索文件的二进制文件(我在任何地方都找不到该文件的记录),或者将文件保存到 tmp 文件夹,但此 tmp 文件夹在内存中运行。然而我找不到太多这方面的文档。
我发现的最好的是:Google cloud Functions for Python 中的 tmp 文件,但是由于我没有使用文本文件,所以我无法让它工作。
我不断收到文件或目录不存在的错误。
我的代码如下所示(与Google Cloud Functions for Python 中的 tmp 文件几乎相同)
def function(file):
name = uploadedFile['name']
path_name = get_file_path(name)
def get_file_path(file_name):
return os.path.join(tempfile.gettempdir(), file_name)
Run Code Online (Sandbox Code Playgroud)
我删除了一些特定于文本文件的行。
我不确定是否必须手动启用 tmp/ 文件夹,或者是否有其他方法可以解决此问题,但每当我运行该函数并提供文件时,我都会得到FileNotFoundError: [Errno 2] No such file or directory: '/tmp/filename.mp4'
我假设发生了两件事中的一件,1)在文件完成运行复制(异步运行)之前正在执行下一行代码,或者2我必须做一些事情才能启用并能够写入tmp 文件夹。
谢谢。