'How can I forward a GCP Pubsub subscription's messages to another topic?

I would like to be able to forward a Google Cloud Platform (GCP) Pubsub subscription's messages to another GCP topic, which is possibly in another GCP Project.

  1. Is this possible via Push endpoint URL (What would the url of the destination topic be?)
  2. Some other easy configuration via API?
  3. (workaround) Alternatively, how would you provide this functionality?


Solution 1:[1]

There is a Dataflow template called Cloud_PubSub_to_Cloud_PubSub that read messages from a Pubsub subscription (inputSubscription) and publish the messages to a Pubsub topic (outputTopic).

Be sure that the service account used to launch the Dataflow job has the right permissions (roles/pubsub.subscriber in the project where inputSubscription is defined or directly on inputSubscription, and roles/pubsub.publisher in the project containing outputTopic or directly on outputTopic).

You can take a look at the code on GitHub if you are familiar with Java.

Solution 2:[2]

The only way to do this would be to publish the messages to the other topic in a subscriber you write when it receives the messages. There is no automated way to forward messages from one topic to another.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Kamal Aboul-Hosn