我可以在无服务器服务器中保存文件吗?

Can I save files in a serverless server?

例如,如果我做类似的事情

f = open("demofile.txt", "w")
f.write("test content")
f.close()

在像 Google Cloud 运行 或 Anthos(假设这是网络应用程序的一部分)这样的无服务器环境中,demofile.txt 是否会永久存在,并且我将始终能够通过 f.read()?

访问它

你的问题很奇怪,我会尽量回答的。

您可以在无服务器产品中编写文件,例如 Cloud 运行、Cloud Functions 和 App Engine。 /tmp 目录是可写的。 但是 它是一个内存文件系统。这意味着您可以从您的实例(而不是其他实例)写入和访问您的数据,并且该文件一直保留到实例结束。另外,文件在分配的内存中占用space。因此,存储限制是您的实例的内存大小。

使用 Cloud 运行,有一个新功能(仅在几天前公开发布)允许您使用第二代运行时并use network file system(Google Cloud使用 GCSFuse 或 Filestore 存储)。它是“外部存储”,但在您的应用中被视为本地目录。


关于 Anthos 的最后一点(因为您在问题中提到了它):Anthos 是一套产品,允许从 Google 云控制台、资源(主要是 Kubernetes 集群)运行 进行管理来自 Google 云。有一个适用于 Anthos 的 Cloud 运行 版本,但 Anthos 本身并不是无服务器产品。