[ https://issues.apache.org/jira/browse/BEAM-5806?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Logan HAUSPIE updated BEAM-5806: -------------------------------- Description: By using the PubsubIO to read from or write to Pub/Sub we are obliged to use the PubsubJsonClient to interact with the Pub/Sub API. This PubsubJsonClient encode the message in base 64 and increase the size of this one by 30% and there is no way to change the PubsubClient used by PubsubIO. What I suggest is to allow developper to change the PubsubClientFactory by specifying it at the definition-time like the following: {{^PubsubIO.Read<String> read =^ ^PubsubIO.readStrings()^}} {{ ^.fromTopic(StaticValueProvider.of(topic))^}} {{ ^.withTimestampAttribute("myTimestamp")^}} {{ ^.withIdAttribute("myId")^}} {{ ^*.withClientFactory(PubsubGrpcClient.FACTORY)*;^}} was: By using the PubsubIO to read from or write to Pub/Sub we are obliged to use the PubsubJsonClient to interact with the Pub/Sub API. This PubsubJsonClient encode the message in base 64 and increase the size of this one by 30% and there is no way to change the PubsubClient used by PubsubIO. What I suggest is to allow developper to change the PubsubClientFactory by specifying it at the definition-time like the following: {{^PubsubIO.Read<String> read =^}} {{ ^PubsubIO.readStrings()^}} {{ ^.fromTopic(StaticValueProvider.of(topic))^}} {{ ^.withTimestampAttribute("myTimestamp")^}} {{ ^.withIdAttribute("myId")^}} {{ ^{{*.withClientFactory(PubsubGrpcClient.FACTORY)*}};^}} > Allow to change the PubsubClientFactory when using PubsubIO > ----------------------------------------------------------- > > Key: BEAM-5806 > URL: https://issues.apache.org/jira/browse/BEAM-5806 > Project: Beam > Issue Type: New Feature > Components: io-java-gcp > Reporter: Logan HAUSPIE > Assignee: Chamikara Jayalath > Priority: Minor > Original Estimate: 24h > Remaining Estimate: 24h > > By using the PubsubIO to read from or write to Pub/Sub we are obliged to use > the PubsubJsonClient to interact with the Pub/Sub API. > This PubsubJsonClient encode the message in base 64 and increase the size of > this one by 30% and there is no way to change the PubsubClient used by > PubsubIO. > > What I suggest is to allow developper to change the PubsubClientFactory by > specifying it at the definition-time like the following: > {{^PubsubIO.Read<String> read =^ ^PubsubIO.readStrings()^}} > {{ ^.fromTopic(StaticValueProvider.of(topic))^}} > {{ ^.withTimestampAttribute("myTimestamp")^}} > {{ ^.withIdAttribute("myId")^}} > {{ ^*.withClientFactory(PubsubGrpcClient.FACTORY)*;^}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)