3

我有一个带有 Cloud Functions 后端的 Google Firebase 应用。我使用的是 Ubuntu 18.04 的 node.js 10 运行时。用户可以将文件上传到 Google Cloud Storage,这会触发 GCF 功能。

我希望该功能执行的是将该文件复制到 Google Cloud Filestore(即带有 L 的文件),即 Google 的新 NFS 可挂载文件服务器。他们说通常的方法是从命令行使用gsutil rsyncor gcloud compute scp

我的问题是:这些命令中的一个或两个在 GCF 节点上可用吗?还是有其他方法?(如果我可以在 GCF 实例上挂载 Filestore 共享,那就太棒了,但我猜这很重要。)

4

2 回答 2

2

在这种环境中使用基于 NFS 的存储并不是一个好主意。NFS 通过提供可挂载的文件系统来工作,这在 Cloud Functions 环境中不起作用,因为文件系统是只读的,除了 /tmp 文件夹。

您应该考虑使用已设置应用程序默认凭据的云原生存储系统,例如 GCS。在此处查看支持的服务列表。

于 2019-11-16T03:25:54.317 回答
1

根据官方文档Cloud Filestore 文档

使用 Cloud Filestore 在 Google Cloud Platform (GCP) 上创建完全托管的 NFS 文件服务器,以用于在 Compute Engine 虚拟机 (VM) 实例或 Google Kubernetes Engine 集群上运行的应用程序。

您不能在 GCF 上挂载 Filestore。

此外,您不能从 Google 云函数Writing Cloud Functions执行 gsutil 或 gcloud 命令。

Google Cloud Functions 可以用 Node.js、Python 和 Go 编写,并在特定语言的运行时中执行

于 2019-11-16T03:21:57.560 回答