首页 > 解决方案 > 有没有办法将 PubSubIO 读取转换为 UnboundedSource 源

问题描述

我想将其用作有界源,以最大限度地降低流管道一直运行的成本。在使用无界源的批处理管道PubSub subscription之前提出了类似的问题,但没有解决方案。我遇到了这个答案What PipelineRunners说我们可以把它变成一个用于测试的 .Is it possible to use PubSubIO as input here or Is there a way to convert read to ?UnboundedSourceBoundedSourcewithMaxNumRecordsPubSubIOunboundedSource

UnboundedSource<String> unboundedSource  = .; // How to Use PubSub here?
PCollection<String> boundedPubsubCollection =
    p.apply(Read.from(unboundedSource).withMaxNumRecords(10));

标签: google-cloud-dataflowapache-beamgoogle-cloud-pubsub

解决方案


PubSubIO 目前还没有很好地支持这一点,而且对于“Beam 模型”来说有点奇怪。一些选项:

  1. 您是否尝试过启动管道并定期排空它?
  2. 如果这不起作用,您应该在 Beam 邮件列表或问题跟踪器中发布功能请求。

推荐阅读