我正在使用Cloud Dataflow流管道将从Pub / Sub接收的事件插入到BigQuery数据集中。我需要一些工作来保持每项工作简单易维护。
我关心的是全球成本。数据量不是很高。在一天中的几个时段,没有任何数据(pub / sub上的任何消息)。
我希望Dataflow扩展到0 worker,直到收到新消息。但似乎最低工人是1。
因此,每天工作的最低价格为:24 vCPU小时...所以每月至少50美元/工作。 (每月使用没有折扣)
我计划每天通过api运行和排出我的工作几次,以避免1名全职工作人员。但这似乎不是像DataFlow这样的托管服务的正确形式。
我错过了什么吗?
数据流无法扩展为0工作者,但您可以选择使用Cron或Cloud Functions在事件触发时创建数据流流工作,并且要自行停止数据流工作,您可以阅读答案to this question。
您可以找到两种情况(Cron和云函数)的示例here,请注意,Cloud Functions不再是Alpha版本,并且自7月以来它在General Availability版本中。
流数据流作业必须始终具有单个工作线程。如果数据量非常低,则批处理作业可能更适合用例。使用调度程序或cron,您可以定期启动批处理作业以消耗主题,这将节省成本。