[
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 zise 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))
.withFactory(PubsubGrpcClient.FACTORY)
.withTimestampAttribute("myTimestamp")
.withIdAttribute("myId");
```
> 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 zise 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))
> .withFactory(PubsubGrpcClient.FACTORY)
> .withTimestampAttribute("myTimestamp")
> .withIdAttribute("myId");
> ```
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)