Copy the sample apps to your local machine, and cd to the pubsub directory:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/flexible/pubsub
Make sure gcloud
is installed and authenticated.
Create a topic
gcloud beta pubsub topics create <your-topic-name>
Create a push subscription, to send messages to a Google Cloud Project URL such as https://.appspot.com/push.
gcloud beta pubsub subscriptions create <your-subscription-name> \
--topic <your-topic-name> \
--push-endpoint \
https://<your-project-id>.appspot.com/pubsub/push?token=<your-verification-token> \
--ack-deadline 30
Set the following environment variables and run using shown Maven command. You can then
direct your browser to http://localhost:8080/
export PUBSUB_TOPIC=<your-topic-name>
export PUBSUB_VERIFICATION_TOKEN=<your-verification-token>
mvn jetty:run
curl -H "Content-Type: application/json" -i --data @sample_message.json
"localhost:8080/pubsub/push?token=<your-token>"
Update the environment variables PUBSUB_TOPIC
and PUBSUB_VERIFICATION_TOKEN
in app.yaml
,
then:
mvn appengine:deploy
The home page of this application provides a form to publish messages and also provides a view of the most recent messages received over the push endpoint and persisted in storage.