使用API调用填充TextIO写入



我的问题围绕着启动API调用来获取TextIO输出的文件前缀。

以下是我现在拥有的(和工作的(:

results.get(validRecords).setCoder(StringUtf8Coder.of()).apply(Window.<String>into(Sessions.withGapDuration(Duration.standardMinutes(1)))).apply("WriteValidRecords",TextIO.write().to(cloudStorageValidfile).withSuffix(".csv").withWindowedWrites().withNumShards(1));

这也是我改变的:

results.get(validRecords).setCoder(StringUtf8Coder.of()).apply(Window.<String>into(Sessions.withGapDuration(Duration.standardSeconds(60)))).apply("WriteRecords", TextIO.write().to(API-CALL).withWindowedWrites().withSuffix("csv").withNumShards(1));

API调用似乎只在实例化时调用一次,然后继续使用相同的前缀。有没有办法每次都强行打电话?

我已经明白了这一点,如果您想进行API调用,那么实例化后就可以了。在那之后,你就不能了,因为它是在编译和启动的状态下部署的。因此,如果API调用在那里很好,但它将只获取一次值,并将调用交换为检索到的值,然后启动。在其他领域中,您可以对每个调用执行API调用(Serializable Function应该有效(,但在这里它不起作用。

最新更新