From charlesreid1

Installing

Gcloud

PubSub Client Library

There is a long list of client libraries for Google Cloud provided here: https://cloud.google.com/apis/docs/cloud-client-libraries

The Python API bundles each component separately, and not everything comes with the client library by default. For example, if you want to use BigQuery, you have to install the BigQuery API components. If you want to use PubSub, you have to install the PubSub API components. Installing one does not necessarily install the other.

Python API

The standard Google Cloud SDK does not install any Python bindings. If you want Python bindings, you'll need to install those things using pip:

$ pip3 install --upgrade google-cloud
$ pip3 install --upgrade google-cloud-pubsub

Link/reference: https://cloud.google.com/pubsub/docs/reference/libraries#client-libraries-install-python

Also see: https://github.com/GoogleCloudPlatform/google-cloud-python

Specifically: https://github.com/GoogleCloudPlatform/google-cloud-python/tree/master/pubsub

Using

Using from gcloud

The prefix beta is required to come before pubsub.

Here is how to create a topic:

$ gcloud beta pubsub topics create sandiego

Here is how to publish a message (a glob of bytes) to said topic:

$ gcloud beta pubsub topics publish sandiego "hello world"

Using from Python

Example of creating a topic and publishing a message from Python code:

from google.cloud import pubsub
client = pubsub.Client()

topic = client.topic("sandiego")
topic.create()
topic.publish(b'hello world')

Resources

Flags