Sunday, December 5, 2021

Google Cloud Pub/Sub: Qwik Start

 Using python:

1  gcloud auth list
    2  gcloud config list project
    3  sudo apt-get install update
    4  sudo apt-get update
    5  sudo apt-get install -y virtualenv
    6  virtualenv -p python3 venv
    7  source venv/bin/activate
    8  pip install --upgrade google-cloud-pubsub
    9  git clone https://github.com/googleapis/python-pubsub.git
   10  cd python-pubsub/
   11  ls -ltr
   12  cd samples/
   13  ls -ltr
   14  cd snippets/
   15  ls -ltr
   16  echo $GOOGLE_CLOUD_PROJECT
   17  cat publisher.py
   18  vi publisher.py
   19  ls -ltr
   20  python publisher.py $GOOGLE_CLOUD_PROJECT create MyTopic
   21  pwd
   22  python publisher.py $GOOGLE_CLOUD_PROJECT list
   23  python subscriber.py $GOOGLE_CLOUD_PROJECT create MyTopic MySub
   24  python subscriber.py $GOOGLE_CLOUD_PROJECT list-in-project
   25  gcloud pubsub tpics publish MyTopic --message "Hello"
   26  gcloud pubsub topics publish MyTopic --message "Hello"
   27  gcloud pubsub topics publish MyTopic --message "Publisher's name is Ashok"
   28  gcloud pubsub topics publish MyTopic --message "Publisher likes to eat mo:mo"
   29  gcloud pubsub topics publish MyTopic --message "Publisher thinks Pub/Sub is awesome"
   30  python subscriber.py $GOOGLE_CLOUD_PROJECT receive MySub
   31  history



Overview

Google Cloud Pub/Sub is a messaging service for exchanging event data among applications and services. A producer of data publishes messages to a Cloud Pub/Sub topic. A consumer creates a subscription to that topic. Subscribers either pull messages from a subscription or are configured as webhooks for push subscriptions. Every subscriber must acknowledge each message within a configurable window of time.

What you'll do

  • Set up a topic to hold data.
  • Subscribe to a topic to access the data.
  • Publish and then consume messages with a pull subscriber.

Setup and Requirements

Qwiklabs setup

Before you click the Start Lab button

Read these instructions. Labs are timed and you cannot pause them. The timer, which starts when you click Start Lab, shows how long Google Cloud resources will be made available to you.

This hands-on lab lets you do the lab activities yourself in a real cloud environment, not in a simulation or demo environment. It does so by giving you new, temporary credentials that you use to sign in and access Google Cloud for the duration of the lab.

What you need

To complete this lab, you need:

  • Access to a standard internet browser (Chrome browser recommended).
  • Time to complete the lab.

Note: If you already have your own personal Google Cloud account or project, do not use it for this lab.

Note: If you are using a Chrome OS device, open an Incognito window to run this lab.

Now that you've started your lab, you'll log in to the Google Cloud Shell console, then launch the command line tool.

How to start your lab and sign in to the Google Cloud Console

  1. Click the Start Lab button. If you need to pay for the lab, a pop-up opens for you to select your payment method. On the left is a panel populated with the temporary credentials that you must use for this lab.

    Open Google Console

  2. Copy the username, and then click Open Google Console. The lab spins up resources, and then opens another tab that shows the Sign in page.

    Sign in

    Tip: Open the tabs in separate windows, side-by-side.

  3. In the Sign in page, paste the username that you copied from the left panel. Then copy and paste the password.

    Important: You must use the credentials from the left panel. Do not use your Google Cloud Training credentials. If you have your own Google Cloud account, do not use it for this lab (avoids incurring charges).

  4. Click through the subsequent pages:

    • Accept the terms and conditions.
    • Do not add recovery options or two-factor authentication (because this is a temporary account).
    • Do not sign up for free trials.

After a few moments, the Cloud Console opens in this tab.

Activate Cloud Shell

Cloud Shell is a virtual machine that is loaded with development tools. It offers a persistent 5GB home directory and runs on the Google Cloud. Cloud Shell provides command-line access to your Google Cloud resources.

In the Cloud Console, in the top right toolbar, click the Activate Cloud Shell button.

Cloud Shell icon

Click Continue.

cloudshell_continue.png

It takes a few moments to provision and connect to the environment. When you are connected, you are already authenticated, and the project is set to your PROJECT_ID. For example:

Cloud Shell Terminal

gcloud is the command-line tool for Google Cloud. It comes pre-installed on Cloud Shell and supports tab-completion.

You can list the active account name with this command:

gcloud auth list
Copied!

(Output)

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)

(Example output)

Credentialed accounts:
 - google1623327_student@qwiklabs.net

You can list the project ID with this command:

gcloud config list project
Copied!

(Output)

[core]
project = <project_ID>

(Example output)

[core]
project = qwiklabs-gcp-44776a13dea667a6

Setting up Pub/Sub

You can use the Google Cloud Shell console to perform operations in Google Cloud Pub/Sub.

To use a Pub/Sub, you create a topic to hold data and a subscription to access data .published to the topic.

  1. Click Navigation menu > Pub/Sub > Topics.

5366c9bf03c0680d.png

  1. Click Create topic.

541bcc9fa0935574.png

  1. The topic must have a unique name. For this lab, name your topic MyTopic. In the Create a topic dialog:
  • For Topic ID, type MyTopic.
  • Leave Encryption at the default value.
  • Click CREATE TOPIC.

a19c7c36f4a6a840.png

You've created a topic.

348c3f65791bb33a.png

Test Completed Task

Click Check my progress to verify your performed task. If you have successfully created Cloud Pub/Sub topic, you will see an assessment score.

Create a Pub/Sub topic.

Add a subscription

Now you'll make a subscription to access the topic.

  1. Click Topics in the left panel to return to the Topics page. For the topic you just made click the three dot icon > Create subscription.

1539b00b3d29d94b.png

  1. In the Add subscription to topic dialog:
  • Type a name for the subscription, such as MySub
  • Set the Delivery Type to Pull.
  • Leave all other options at the default values.

GSP096-Console.png

  • Click Create.

Your subscription is listed in the Subscription list.

create-subscription.png

Test Completed Task

Click Check my progress to verify your performed task. If you have successfully created subscription for Cloud Pub/Sub topic, you will see an assessment score.

Add a subscription.

Test your Understanding

Below are multiple choice questions to reinforce your understanding of this lab's concepts. Answer them to the best of your abilities.

A publisher application creates and sends messages to a ____. Subscriber applications create a ____ to a topic to receive messages from it.

Cloud Pub/Sub is an asynchronous messaging service designed to be highly reliable and scalable.

Publish a message to the topic

  1. At the bottom of the Topics details page, click MESSAGES tab and then click PUBLISH MESSAGE.

  2. Enter Hello World in the Message field and click Publish.



View the message

To view the message you'll use the subscription (MySub) to pull the message (Hello World) from the topic (MyTopic).

Enter the following command in command line.

gcloud pubsub subscriptions pull --auto-ack MySub
Copied!

The message appears in the DATA field of the command output.

6f1565505c570a0d.png

You created a Pub/Sub topic, published to the topic, created a subscription, then used the subscription to pull data from the topic.

No comments:

Post a Comment