0

我正在构建一个使用 Firestore 和 BigQuery 的 ETL 流程。我还编写了 2 个 Python 脚本:第一个从外部服务获取数据并将其写入 BigQuery,第二个将数据从 BigQuery 写入 Firestore。由于超时限制(9 分钟和 60 分钟),我无法将此脚本部署为 Cloud Function(或 Cloud Run)。我的目标是单独部署两个脚本(保留 Cloud Function 逻辑),每天安排第一个脚本,并在第一个脚本运行并将数据写入 BigQuery 后启动第二个脚本。

https://towardsdatascience.com/the-easyest-way-to-run-python-in-google-cloud-illustrated-d307c9e1651c之后,我将一个容器化的 python 脚本部署到 Compute Engine,但并不容易安排和同步这两个脚本. 我可以安排一个 VM 实例来启动和停止(https://cloud.google.com/compute/docs/instances/schedule-instance-start-stop),但我不知道第一个脚本何时完成。我可以编写一些云函数来根据发布/订阅消息启动和停止实例(https://cloud.google.com/scheduler/docs/start-and-stop-compute-engine-instances-on-a-schedule)但这似乎不是最干净的方式。

除了 App Engine 或 Kubernetes Engine 之外,Cloud Scheduler 应该是完成这项工作的最佳方式,但我必须从头开始使用 GAE 或 GKE,它们似乎适合比我更复杂的应用程序。

您是否有结合开发速度、流程清洁和降低成本的解决方案?

4

0 回答 0