Заполните TextIO писать с помощью вызова API - PullRequest
0 голосов
/ 23 ноября 2018

Мой вопрос вращается вокруг запуска вызова 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 он вызывается только один раз при создании экземпляра, а затем постоянно использует один и тот же префикс.Есть ли способ каждый раз вызывать звонок?

1 Ответ

0 голосов
/ 02 января 2019

Я понял это, если вы хотите сделать вызов API, это нормально при создании экземпляра.После этого вы не сможете, так как он будет развернут в том состоянии, в котором он скомпилирован и запущен.Таким образом, если вызов API в порядке, но он получит значение только один раз и поменяет вызов на полученное значение, а затем запустит его.Есть и другие области, где вы можете выполнять вызов API с каждым вызовом (Serializable Function должна работать), но здесь это не будет.

...