【问题标题】:Cloud Functions: create and start GCE VM, then copy startup scripts from GCSCloud Functions:创建并启动 GCE VM,然后从 GCS 复制启动脚本
【发布时间】:2021-05-14 09:43:56
【问题描述】:

我们有一些程序要写入 Cloud Functions,但由于这是 SFTP-to-GCS 计划程序(Cloud Functions 仅允许 HTTP),因此目前不可能。因此,替代方案是让预定的 Cloud Function 启动 GCE VM 并执行 SFTP-to-GCS 事情,然后在完成后停止它,如图所示here。我也已经知道如何使用 NodeJS @google-cloud/compute 库(根据 this article)实例化和启动(和停止)这些 VM。

如果我在 GCS 中有我的启动脚本和程序,我如何让 Cloud Function 将它们复制到实例化的 VM 中,然后刺激运行这些程序的 VM?

【问题讨论】:

  • 等等,为什么你的 sftp 到 gcs 不能在 Cloud Functions 上运行? HTTP和HTTPS是什么关系?
  • Neil 的文章是关于 SFTP 服务器(它使用 GCS 作为后端 - 来存储文件),这篇文章不是关于 SFTP 客户端的。如果您需要客户 - stackoverflow.com/questions/66050709/…

标签: google-cloud-platform google-cloud-functions google-cloud-storage google-compute-engine google-api-nodejs-client


【解决方案1】:

使用 Compute Engine,您可以设置 start-up script hosted on GCS(当然,VM 的服务帐户需要有权访问此存储桶)。

然后,在您的启动脚本中,运行您想要的。例如,从 GCS 或 Github 下载应用程序,然后运行。

您还可以在启动脚本中定义一个计划以在 X 分钟后结束 VM,或者创建一个 Cloud Scheduler 以定期停止它。或者事件创建一个云函数,您的客户端在传输结束时调用它来停止/删除 VM。

【讨论】:

    猜你喜欢
    • 2016-05-26
    • 1970-01-01
    • 2017-04-07
    • 2014-09-14
    • 2019-07-17
    • 2020-10-18
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    相关资源
    最近更新 更多