Существует два метода 'withCoderAndParseFn' при чтении из pubsub и 'withFormatFn' при записи в pubsub. Эти функции полезны для разбора сообщений во время чтения или записи. Возможно, вы можете использовать их, применяя свою собственную логику, например, вход в стекдрайвер или отправку данных об ошибках в pubsub.
Подробнее вы можете найти здесь https://www.codota.com/web/assistant/code/rs/5c6563f8138b620001f3aa7c#L470
PubsubIO.<t>read().withCoderAndParseFn(coder, new ParsePayloadUsingCoder<>(coder));
private static class ParsePayloadUsingCoder<t> extends SimpleFunction<pubsubmessage, t=""> {
private Coder<t> coder;
public ParsePayloadUsingCoder(Coder<t> coder) {
this.coder = coder;
}
@Override
public T apply(PubsubMessage input) {
try {
return CoderUtils.decodeFromByteArray(coder, input.getPayload());
} catch (CoderException e) {
throw new RuntimeException("Could not decode Pubsub message", e);
}
}
}