首页 > 解决方案 > 从数据流管道将任务排入 Google TaskQueue / Cloud Tasks 队列

问题描述

我需要读取 750K 记录的 GCS 文件。

对于每条记录,我需要将其与 Google Datastore 中的相应记录进行比较。如果文件中的记录与 Datastore 中的记录不匹配,我需要更新 Datastore 记录并将 Taskqueue 任务排入队列。

我坚持的部分是启动这个任务队列任务。

唯一的方法似乎是通过 Google Cloud Task 的 HTTP api ( https://cloud.google.com/tasks/docs/creating-http-target-tasks ) 但从 DoFn 内发出 HTTP 调用感觉效率低下。

我考虑使用 pubsub 来完成任务,因为 dataflow 有一个适配器,但你只能在流管道上使用 pubsub。

标签: google-cloud-dataflowtask-queue

解决方案


是的,Beam 似乎没有用于 Cloud Task 的特殊 IO 连接器。所以我猜你只能从 Beam DoFn 内部发出 HTTP 请求。


推荐阅读