我正在尝试将数据从 Cloud Pub/Sub 传递到 Google Cloud Storage。当我使用 runnerDataflowRunner
时,管道会发布到 Google Cloud Dataflow 并按预期工作。但是,对于某些测试,我希望管道在本地运行(但仍从 Cloud Pub/Sub 读取并写入 Cloud Storage)。当我使用运行程序 DirectRunner 时,该进程会写出INFO:apache_beam.runners.direct.direct_runner:Running pipeline with DirectRunner.
,但是当新消息发布到 Pub/Sub 时什么也不做。
我正在使用以下命令执行管道:
python dev_radim_dataflow_gcs_direct.py ^
--project=<GCP_PROJECT> ^
--region="europe-west3" ^
--input_subscription="projects/data-uat-280814/subscriptions/dev-radim-dataflow" ^
--output_path=gs://dev_radim/dataflow_dest_local/ ^
--runner=DirectRunner ^
--window_size=1 ^
--temp_location=gs://dev_radim/dataflow_temp_local/
完整的 dev_radim_dataflow_gcs_direct.py 文件在这里:https ://pastebin.com/W7VphH5A
任何想法为什么消息不能从 Pub/Sub 到 GCS?