Java 阿帕奇梁赢得';t将文件写入本地env或Google存储

Java 阿帕奇梁赢得';t将文件写入本地env或Google存储,java,google-cloud-storage,apache-beam,dataflow,Java,Google Cloud Storage,Apache Beam,Dataflow,出于某种原因,ApacheBeam不会将文件写入我的本地环境或Google存储。我的目标是从Google PubSub读取数据,并将其分批写入Google存储。为此,我有以下代码: pipeline.begin() .apply(PubsubIO.readStrings() .fromSubscription("projects/PROJECT/subscriptions/SUBNAME"))

出于某种原因,ApacheBeam不会将文件写入我的本地环境或Google存储。我的目标是从Google PubSub读取数据,并将其分批写入Google存储。为此,我有以下代码:

        pipeline.begin()
            .apply(PubsubIO.readStrings()
                    .fromSubscription("projects/PROJECT/subscriptions/SUBNAME"))
            .apply(ParDo.of(new UpperCaseAndPrint()))
            .apply(Window.into(FixedWindows.of(Duration.millis(1000))))
            .apply(TextIO.write().to("gs://BUCKETNAME/outputData")
                .withWindowedWrites()
                .withNumShards(1));
ParDo
功能打印输入的消息,似乎有数据输入:

19806 [direct-runner-worker] INFO  app  - message-4
19807 [direct-runner-worker] INFO  app  - message-3
19808 [direct-runner-worker] INFO  app  - message-2
19809 [direct-runner-worker] INFO  app  - message-1

有人知道为什么不会在本地或Google存储桶中创建文件吗?

因此,当使用
PubsubIO
时,DirectRunner和使用
TextIO
存在一些问题。当使用另一个运行程序(如数据流运行程序)时,问题消失


我无法真正解决本地问题,但我希望这能帮助下一个遇到此问题并找到此帖子的人。

在这里遇到类似问题。该作业在数据流中运行良好,但在DirectRunner中运行不好。