要从Google云功能调用gsutil还是gcloud?

时间:2019-11-15 22:09:07

标签: google-cloud-functions google-cloud-storage google-cloud-filestore

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

我希望该函数执行的操作是将该文件复制到Google的可安装NFS的新文件服务器Google Cloud Filestore(即带有L的文件)。他们说通常的做法是从命令行使用gsutil rsyncgcloud compute scp

我的问题是:这些命令中的一个或两个在GCF节点上可用吗?还是有另一种方法? (如果我能在GCF实例上挂载Filestore共享,那将是非常棒的,但我想那是不平凡的。)

2 个答案:

答案 0 :(得分:0)

根据官方文档Cloud Filestore documentation

  

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

您无法在GCF上挂载文件存储。

此外,您无法通过Google云功能Writing Cloud Functions执行gsutil或gcloud命令。

  

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

答案 1 :(得分:0)

在这种环境下,使用基于NFS的存储不是一个好主意。 NFS通过提供可安装的文件系统来工作,该文件系统在read only之外的Cloud Functions环境中不起作用,但/ tmp文件夹除外。

您应该考虑使用已经设置了“应用程序默认凭据”的云原生存储系统(例如GCS)。请参阅支持的服务列表here