google-cloud-platform - Cloud Dataflow 流式传输作业可以缩放到零吗?
问题描述
我正在使用 Cloud Dataflow 流式传输管道将从 Pub/Sub 接收到的事件插入到 BigQuery 数据集中。我需要几个来保持每项工作简单且易于维护。
我担心的是全球成本。数据量不是很高。并且在一天中的几个时段内,没有任何数据(发布/订阅上的任何消息)。
我希望该数据流规模为 0 个工作人员,直到收到新消息。但似乎最小工人是1。
因此,每天每项工作的最低价格是:24 个 vCPU 小时……所以每个工作每月至少 50 美元。(每月使用无折扣)
我计划每天通过 api 运行和耗尽我的工作几次,以避免 1 个全职工人。但这似乎不是像 DataFlow 这样的托管服务的正确形式。
有什么我错过的吗?
解决方案
Dataflow 无法扩展到 0 个工作人员,但您的替代方案是使用 Cron 或Cloud Functions在事件触发时创建 Dataflow 流式作业,并自行停止 Dataflow 作业,您可以阅读此问题的答案.
您可以在此处找到这两种情况(Cron 和 Cloud Functions)的示例,请注意 Cloud Functions 不再处于 Alpha 版本中,自 7 月以来它处于通用版本中。
推荐阅读
- laravel - 产品未删除
- angular - 如何更改图表中的时间格式?
- concurrency - 包装与 ConcurrentHashMap 同步
- python - 在 dask 数据框中,行与其前导之间的差异为 3 行
- amazon-web-services - 开发人员访问 AWS
- awk - 用于读取每行中具有不同字段数的输入文件的 awk 脚本
- google-cloud-datastore - 如何将数据插入数据存储区
- javascript - [ERR_HTTP_HEADERS_SENT]:发送到客户端后无法设置标头
- javascript - 我如何在Javascript中一次获得循环和过滤
- python - 从 Viewset 数据更新 DRF 序列化程序中的只读字段