Logan HAUSPIE created BEAM-5676:
-----------------------------------
Summary: Allow to change the PubsubClientFactory when using
PubsubIO
Key: BEAM-5676
URL: https://issues.apache.org/jira/browse/BEAM-5676
Project: Beam
Issue Type: Improvement
Components: io-java-gcp
Affects Versions: 2.7.0
Reporter: Logan HAUSPIE
Assignee: Chamikara Jayalath
When we use PubSub to push or pull messages, we currently have no choice of
serialization implementation because PubsubIO use internaly the
*_PubsubJsonClient.FACTORY_* _of type_ *__* *_PubsubJsonClientFactory_* _to
serialize deserialize messages_.
It should be nice to be able to set a different factory (e.g.
*_PubsubGrpcClientFactory_*) to decrease the size of messages (and then
decrease the price of using Pubsub).
I guess It could be possible to write something like:
{{PubsubIO.Write<PubsubMessage> write =}}
{{ PubsubIO.writeMessages()}}
{{ .to("projects/project/topics/topic")}}
{{ *.withFactory(PubsubGrpcClient.FACTORY)*}}
{{ .withTimestampAttribute("timestamp")}}{{;}}
or
{{PubsubIO.Read<PubsubMessage> read = }}
{{ PubsubIO.readMessages()}}
{{ .fromSubscription("projects/project/subscriptions/name")}}
{{ *.withFactory(PubsubGrpcClient.FACTORY)*}}
{{ .withTimestampAttribute("timestamp");}}
I feel confident to do it if needed.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)