替换 Google Cloud Function 的替代方法

Alternative to replace Google Cloud Function

我正在使用 Google 云函数来 运行 ETL 作业:

  1. 从 JSON API
  2. 获取数据
  3. 用另一个 API
  4. 丰富该数据的每一行
  5. 写入云存储

云调度程序 cron 作业每晚 运行s 触发云功能。我还可以 运行 管道手动查询特定日期。云函数写在Python.

这项工作 运行 总是接近 9 分钟,但它在几个月内都运行良好。不幸的是,现在我达到了 Google Cloud Functions 的 9 分钟硬限制,我想知道我最好的选择是什么:

  1. 设置计算引擎
  2. 设置应用引擎
  3. 使用云函数对其进行并行化并节省时间。

有没有更好的选择?哪种 GCP 服务最适合这项任务?你有什么最佳实践吗?我真的很喜欢云函数的简单性,但这当然需要权衡...

我推荐你使用Cloud Run

  • 今天暂停 15 分钟,很快还有 4 次!这足以满足您的处理需求。
  • 如果您的代码可以利用多个 CPU,您可以有 2 个 CPU 和 Cloud 运行。
  • 但是,如果可以同时进行多个处理,Cloud 运行 可以在同一实例上处理最多 80 个并发请求,而 Cloud Function 只能处理一个。如果您在您的实例上执行高性能计算,最好避免并发。将 --concurrency 参数设置为 1 以获得与 Cloud Function 完全相同的行为。

wrote an article where I wrap a simple function into a Cloud Run service. Few lines of code, an addition import (flask) and that's all! Put a standard Dockerfile for python并部署!

使用新的 Buildpack feature,您甚至可以避免创建 Dockerfile! Buildpack 安装在 Cloud Shell 上,如果您使用 Cloud Build,我有一个可用的示例(请告诉我!)