在管道中,我正在阅读Pub / Sub,我正在尝试写入扳手。写入BigTable是有效的,但扳手是满足我需求的更好选择。
在下图中,我扩展了相关步骤。右上角是“Debug spanner”步骤,它通过LOG显示正确的消息。我非常有信心SpannerIO.Write
也会看到这些消息。
即使没有这个调试步骤,消息仍然无法写入扳手。
没有任何例外,但正如您可以看到的那样,CreateDataflowView
“未启动”,并且它在管道中出现两次。
从pubsub读取并用更少的步骤写入扳手 - 我使用了下面显示的管道中的类似代码进行测试。
是什么导致这种情况?
使用以下代码创建扳手步骤:
SpannerConfig spannerConfig = SpannerConfig.create()
.withProjectId("X")
.withInstanceId("X")
.withDatabaseId("X")
;
//spannerConfig.validate();//does not throw exception
//SpannerAccessor accessor = spannerConfig.connectToSpanner();//does not throw exception
PDone writtenToSpanner = encodedForSpanner.apply("write to spanner",
SpannerIO.write()
.withSpannerConfig(spannerConfig)
.withBatchSizeBytes(0)
);