无法使用 apache beam python 将 json 写入 Pubsub 主题

unable to Write json to Pubsub topic using apache beam python

我正在尝试从 pubsub 读取一个主题并做一些 cleanup/transfermation 并将最终结果写入另一个 pubsub 主题。但是我最终遇到以下错误。请指导我。

代码:

Ingest = ( p
        | 'Read from Topic' >> beam.io.ReadFromPubSub(topic=known_args.topic).with_output_types(bytes)
        | 'Parse'   >> beam.Map(parse_json)
        | 'Cleanup' >> beam.Map(cleanup)
        | 'write to pubsub' | beam.io.WriteToPubSub("projects/test/topics/cdp_aa_food" , with_attributes=False)
       )

我得到的错误如下:

raise TypeError("Expected a PTransform object, got %s" % transform)
TypeError: Expected a PTransform object, got write to pubsub

不确定我做错了什么..

Ingest = ( p
        | 'Read from Topic' >> beam.io.ReadFromPubSub(topic=known_args.topic).with_output_types(bytes)
        | 'Parse'   >> beam.Map(parse_json)
        | 'Cleanup' >> beam.Map(cleanup)
        | 'write to pubsub' >> beam.io.WriteToPubSub("projects/test/topics/cdp_aa_food" , with_attributes=False)
       )

您的管道中有错字,您需要 >> 而不是 | 用于 write to pubsub 步骤。