使用 Beam IO ReadFromPubSub 模块时,是否可以拉取 Python 中属性的消息?不清楚是否支持
When using Beam IO ReadFromPubSub module, can you pull messages with attributes in Python? It's unclear if its supported
正在尝试将具有存储在 PubSub 中的属性的消息提取到 Beam 管道中。我想知道是否为 Python 添加了支持,这就是我无法阅读它们的原因。我看到它存在于 Java.
pipeline_options = PipelineOptions()
pipeline_options.view_as(StandardOptions).streaming = True
pipeline = beam.Pipeline(options=pipeline_options)
messages = (pipeline | beam.io.ReadFromPubSub(subscription=subscription_name).with_output_types(bytes))
def printattr(element):
print(element.attributes)
lines = messages | 'printattr' >> beam.Map(printattr)
result = pipeline.run()
result.wait_until_finish()
预计能够列出属性-数据:
b'Message number 1109'
- attributes: {
- "_comments": "nan",
- "_direction": "SE",
- "_fromst": "Harlem",
- "_last_updt": "2019-03-20 21:11:02.0",
- "_length": "0.56",
- "_lif_lat": "41.9809967484",
- "_lit_lat": "41.9787314076",
- "_lit_lon": "-87.7964600566",
- "_strheading": "W",
- "_tost": "Oak Park",
,但我似乎只能访问存储在数据字段中的信息,而不是属性。
查看文档后:https://beam.apache.org/releases/pydoc/2.11.0/apache_beam.io.gcp.pubsub.html,我能够看到要传递给 ReadFromPubSub 的附加参数。
需要设置'with_attributes=True',否则只能得到数据字段。
希望这对可能遇到困难或感到疲倦的其他人有所帮助:)
正在尝试将具有存储在 PubSub 中的属性的消息提取到 Beam 管道中。我想知道是否为 Python 添加了支持,这就是我无法阅读它们的原因。我看到它存在于 Java.
pipeline_options = PipelineOptions()
pipeline_options.view_as(StandardOptions).streaming = True
pipeline = beam.Pipeline(options=pipeline_options)
messages = (pipeline | beam.io.ReadFromPubSub(subscription=subscription_name).with_output_types(bytes))
def printattr(element):
print(element.attributes)
lines = messages | 'printattr' >> beam.Map(printattr)
result = pipeline.run()
result.wait_until_finish()
预计能够列出属性-数据:
b'Message number 1109'
- attributes: {
- "_comments": "nan",
- "_direction": "SE",
- "_fromst": "Harlem",
- "_last_updt": "2019-03-20 21:11:02.0",
- "_length": "0.56",
- "_lif_lat": "41.9809967484",
- "_lit_lat": "41.9787314076",
- "_lit_lon": "-87.7964600566",
- "_strheading": "W",
- "_tost": "Oak Park",
,但我似乎只能访问存储在数据字段中的信息,而不是属性。
查看文档后:https://beam.apache.org/releases/pydoc/2.11.0/apache_beam.io.gcp.pubsub.html,我能够看到要传递给 ReadFromPubSub 的附加参数。
需要设置'with_attributes=True',否则只能得到数据字段。
希望这对可能遇到困难或感到疲倦的其他人有所帮助:)