[ https://issues.apache.org/jira/browse/BEAM-5676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Beam JIRA Bot updated BEAM-5676: -------------------------------- Labels: stale-P2 (was: ) > 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 > Priority: P2 > Labels: stale-P2 > Original Estimate: 24h > Remaining Estimate: 24h > > 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 > or 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");}} > -- This message was sent by Atlassian Jira (v8.3.4#803005)