Skip to main content

Python Client for Google Cloud Pub/Sub

Project description

Python idiomatic client for Google Cloud Pub / Sub

pypi versions

Quick Start

$ pip install --upgrade google-cloud-pubsub

For more information on setting up your Python development environment, such as installing pip and virtualenv on your system, please refer to Python Development Environment Setup Guide for Google Cloud Platform.

Authentication

With google-cloud-python we try to make authentication as painless as possible. Check out the Authentication section in our documentation to learn more. You may also find the authentication document shared by all the google-cloud-* libraries to be helpful.

Using the API

Google Cloud Pub/Sub (Pub/Sub API docs) is designed to provide reliable, many-to-many, asynchronous messaging between applications. Publisher applications can send messages to a topic and other applications can subscribe to that topic to receive the messages. By decoupling senders and receivers, Google Cloud Pub/Sub allows developers to communicate between independently written applications.

See the google-cloud-python API Pub/Sub documentation to learn how to connect to Cloud Pub/Sub using this Client Library.

Publishing

To publish data to Cloud Pub/Sub you must create a topic, and then publish messages to it

import os
from google.cloud import pubsub

publisher = pubsub.PublisherClient()
topic_name = 'projects/{project_id}/topics/{topic}'.format(
    project_id=os.getenv('GOOGLE_CLOUD_PROJECT'),
    topic='MY_TOPIC_NAME',  # Set this to something appropriate.
)
publisher.create_topic(topic_name)
publisher.publish(topic_name, b'My first message!', spam='eggs')

To learn more, consult the publishing documentation.

Subscribing

To subscribe to data in Cloud Pub/Sub, you create a subscription based on the topic, and subscribe to that.

import os
from google.cloud import pubsub

subscriber = pubsub.SubscriberClient()
topic_name = 'projects/{project_id}/topics/{topic}'.format(
    project_id=os.getenv('GOOGLE_CLOUD_PROJECT'),
    topic='MY_TOPIC_NAME',  # Set this to something appropriate.
)
subscription_name = 'projects/{project_id}/subscriptions/{sub}'.format(
    project_id=os.getenv('GOOGLE_CLOUD_PROJECT'),
    sub='MY_SUBSCRIPTION_NAME',  # Set this to something appropriate.
)
subscriber.create_subscription(
    name=subscription_name, topic=topic_name)
subscription = subscriber.subscribe(subscription_name)

The subscription is opened asychronously, and messages are processed by use of a callback.

def callback(message):
    print(message.data)
    message.ack()
subscription.open(callback)

To learn more, consult the subscriber documentation.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

google-cloud-pubsub-0.29.3.tar.gz (83.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

google_cloud_pubsub-0.29.3-py2.py3-none-any.whl (87.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file google-cloud-pubsub-0.29.3.tar.gz.

File metadata

File hashes

Hashes for google-cloud-pubsub-0.29.3.tar.gz
Algorithm Hash digest
SHA256 94af8dda59c8e6425c161d7c79935100a60b3d86bfd7a6e5a77d5c3bd1888e26
MD5 16ab5baafc3c35c9c93f7777cb531d94
BLAKE2b-256 ac5bcf9b95d0c0b4437313ca38f2562256e414e31095e35c0a446b435ade6082

See more details on using hashes here.

File details

Details for the file google_cloud_pubsub-0.29.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for google_cloud_pubsub-0.29.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7307e58e9ed2f34cbb7da0754997cb538b4f17148f50ad18a41a73cd2a217cf0
MD5 99d8a724e054ce2daf2359313624daf8
BLAKE2b-256 c7a2fcaabf19597db9fa25e0b499329d12ba33efa8f0998d618420132f4ec4e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page