Skip to content

Commit

Permalink
Generate readmes for most service samples [(#599)](GoogleCloudPlatfor…
Browse files Browse the repository at this point in the history
  • Loading branch information
Jon Wayne Parrott authored and plamut committed Jul 10, 2020
1 parent a7b0cb5 commit b0e307c
Show file tree
Hide file tree
Showing 3 changed files with 231 additions and 17 deletions.
17 changes: 0 additions & 17 deletions samples/snippets/README.md

This file was deleted.

203 changes: 203 additions & 0 deletions samples/snippets/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
.. This file is automatically generated. Do not edit this file directly.
Google Cloud Pub/Sub Python Samples
===============================================================================

This directory contains samples for Google Cloud Pub/Sub. `Google Cloud Pub/Sub`_ is a fully-managed real-time messaging service that allows you to send and receive messages between independent applications.




.. _Google Cloud Pub/Sub: https://cloud.google.com/pubsub/docs

Setup
-------------------------------------------------------------------------------


Authentication
++++++++++++++

Authentication is typically done through `Application Default Credentials`_,
which means you do not have to change the code to authenticate as long as
your environment has credentials. You have a few options for setting up
authentication:

#. When running locally, use the `Google Cloud SDK`_

.. code-block:: bash
gcloud beta auth application-default login
#. When running on App Engine or Compute Engine, credentials are already
set-up. However, you may need to configure your Compute Engine instance
with `additional scopes`_.

#. You can create a `Service Account key file`_. This file can be used to
authenticate to Google Cloud Platform services from any environment. To use
the file, set the ``GOOGLE_APPLICATION_CREDENTIALS`` environment variable to
the path to the key file, for example:

.. code-block:: bash
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account.json
.. _Application Default Credentials: https://cloud.google.com/docs/authentication#getting_credentials_for_server-centric_flow
.. _additional scopes: https://cloud.google.com/compute/docs/authentication#using
.. _Service Account key file: https://developers.google.com/identity/protocols/OAuth2ServiceAccount#creatinganaccount

Install Dependencies
++++++++++++++++++++

#. Install `pip`_ and `virtualenv`_ if you do not already have them.

#. Create a virtualenv. Samples are compatible with Python 2.7 and 3.4+.

.. code-block:: bash
$ virtualenv env
$ source env/bin/activate
#. Install the dependencies needed to run the samples.

.. code-block:: bash
$ pip install -r requirements.txt
.. _pip: https://pip.pypa.io/
.. _virtualenv: https://virtualenv.pypa.io/

Samples
-------------------------------------------------------------------------------

Quickstart
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



To run this sample:

.. code-block:: bash
$ python quickstart.py
Publisher
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



To run this sample:

.. code-block:: bash
$ python publisher.py
usage: publisher.py [-h] {list,create,delete,publish} ...
This application demonstrates how to perform basic operations on topics
with the Cloud Pub/Sub API.
For more information, see the README.md under /pubsub and the documentation
at https://cloud.google.com/pubsub/docs.
positional arguments:
{list,create,delete,publish}
list Lists all Pub/Sub topics in the current project.
create Create a new Pub/Sub topic.
delete Deletes an existing Pub/Sub topic.
publish Publishes a message to a Pub/Sub topic with the given
data.
optional arguments:
-h, --help show this help message and exit
Subscribers
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



To run this sample:

.. code-block:: bash
$ python subscriber.py
usage: subscriber.py [-h] {list,create,delete,receive} ...
This application demonstrates how to perform basic operations on
subscriptions with the Cloud Pub/Sub API.
For more information, see the README.md under /pubsub and the documentation
at https://cloud.google.com/pubsub/docs.
positional arguments:
{list,create,delete,receive}
list Lists all subscriptions for a given topic.
create Create a new pull subscription on the given topic.
delete Deletes an existing Pub/Sub topic.
receive Receives a message from a pull subscription.
optional arguments:
-h, --help show this help message and exit
Identity and Access Management
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



To run this sample:

.. code-block:: bash
$ python iam.py
usage: iam.py [-h]
{get-topic-policy,get-subscription-policy,set-topic-policy,set-subscription-policy,check-topic-permissions,check-subscription-permissions}
...
This application demonstrates how to perform basic operations on IAM
policies with the Cloud Pub/Sub API.
For more information, see the README.md under /pubsub and the documentation
at https://cloud.google.com/pubsub/docs.
positional arguments:
{get-topic-policy,get-subscription-policy,set-topic-policy,set-subscription-policy,check-topic-permissions,check-subscription-permissions}
get-topic-policy Prints the IAM policy for the given topic.
get-subscription-policy
Prints the IAM policy for the given subscription.
set-topic-policy Sets the IAM policy for a topic.
set-subscription-policy
Sets the IAM policy for a topic.
check-topic-permissions
Checks to which permissions are available on the given
topic.
check-subscription-permissions
Checks to which permissions are available on the given
subscription.
optional arguments:
-h, --help show this help message and exit
The client library
-------------------------------------------------------------------------------

This sample uses the `Google Cloud Client Library for Python`_.
You can read the documentation for more details on API usage and use GitHub
to `browse the source`_ and `report issues`_.

.. Google Cloud Client Library for Python:
https://googlecloudplatform.github.io/google-cloud-python/
.. browse the source:
https://github.com/GoogleCloudPlatform/google-cloud-python
.. report issues:
https://github.com/GoogleCloudPlatform/google-cloud-python/issues
.. _Google Cloud SDK: https://cloud.google.com/sdk/
28 changes: 28 additions & 0 deletions samples/snippets/README.rst.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# This file is used to generate README.rst

product:
name: Google Cloud Pub/Sub
short_name: Cloud Pub/Sub
url: https://cloud.google.com/pubsub/docs
description: >
`Google Cloud Pub/Sub`_ is a fully-managed real-time messaging service that
allows you to send and receive messages between independent applications.

setup:
- auth
- install_deps

samples:
- name: Quickstart
file: quickstart.py
- name: Publisher
file: publisher.py
show_help: true
- name: Subscribers
file: subscriber.py
show_help: true
- name: Identity and Access Management
file: iam.py
show_help: true

cloud_client_library: true

0 comments on commit b0e307c

Please sign in to comment.