arrow_back

Pub/Sub: Qwik Start – Python

Sprawdź swoją wiedzę i podziel się nią ze społecznością.
done
Zyskaj dostęp do ponad 700 praktycznych modułów oraz odznak umiejętności i szkoleń

Pub/Sub: Qwik Start – Python

Moduł 30 godz. universal_currency_alt 1 punkt show_chart Wprowadzające
info Ten moduł może zawierać narzędzia AI, które ułatwią Ci naukę.
Sprawdź swoją wiedzę i podziel się nią ze społecznością.
done
Zyskaj dostęp do ponad 700 praktycznych modułów oraz odznak umiejętności i szkoleń

GSP094

Moduły Google Cloud do samodzielnego ukończenia

Opis

Usługa Pub/Sub umożliwia aplikacjom niezawodną, szybką i asynchroniczną wymianę wiadomości. W tym celu producent danych publikuje wiadomości w temacie Cloud Pub/Sub. Subskrybent tworzy subskrypcję tego tematu i pobiera z niej wiadomości. Wiadomości, których nie udało się dostarczyć, Cloud Pub/Sub przechowuje przez maksymalnie 7 dni.

W tym module nauczysz się podstaw publikowania wiadomości w Pub/Sub przy użyciu biblioteki klienta w języku Python.

Jakie zadania wykonasz

W tym module:

  • opanujesz podstawy Pub/Sub;
  • utworzysz i usuniesz tematy i subskrypcje Pub/Sub oraz wyświetlisz ich listy;
  • opublikujesz wiadomości w temacie,
  • użyjesz subskrybenta stosującego metodę pull do wyświetlania wiadomości z poszczególnych tematów.

Konfiguracja i wymagania

Zanim klikniesz przycisk Rozpocznij moduł

Zapoznaj się z tymi instrukcjami. Moduły mają limit czasowy i nie można ich zatrzymać. Gdy klikniesz Rozpocznij moduł, na liczniku wyświetli się informacja o tym, na jak długo udostępniamy Ci zasoby Google Cloud.

W tym praktycznym module możesz spróbować swoich sił w wykonywaniu opisywanych działań w prawdziwym środowisku chmury, a nie w jego symulacji lub wersji demonstracyjnej. Otrzymasz nowe, tymczasowe dane logowania, dzięki którym zalogujesz się i uzyskasz dostęp do Google Cloud na czas trwania modułu.

Do ukończenia modułu potrzebne będą:

  • dostęp do standardowej przeglądarki internetowej (zalecamy korzystanie z przeglądarki Chrome).
Uwaga: uruchom ten moduł w oknie incognito lub przeglądania prywatnego. Dzięki temu unikniesz konfliktu między swoim kontem osobistym a kontem do nauki, co mogłoby spowodować naliczanie oddatkowych opłat na koncie osobistym.
  • Odpowiednia ilość czasu na ukończenie modułu – pamiętaj, że gdy rozpoczniesz, nie możesz go wstrzymać.
Uwaga: jeśli masz już osobiste konto lub projekt w Google Cloud, nie używaj go w tym module, aby uniknąć naliczania opłat na koncie.

Rozpoczynanie modułu i logowanie się w konsoli Google Cloud

  1. Kliknij przycisk Rozpocznij moduł. Jeśli moduł jest odpłatny, otworzy się wyskakujące okienko, w którym możesz wybrać formę płatności. Po lewej stronie znajduje się panel Szczegóły modułu z następującymi elementami:

    • przyciskiem Otwórz konsolę Google Cloud;
    • czasem, który Ci pozostał;
    • tymczasowymi danymi logowania, których musisz użyć w tym module;
    • innymi informacjami potrzebnymi do ukończenia modułu.
  2. Kliknij Otwórz konsolę Google Cloud (lub kliknij prawym przyciskiem myszy i wybierz Otwórz link w oknie incognito, jeśli korzystasz z przeglądarki Chrome).

    Moduł uruchomi zasoby, po czym otworzy nową kartę ze stroną logowania.

    Wskazówka: otwórz karty obok siebie w osobnych oknach.

    Uwaga: jeśli pojawi się okno Wybierz konto, kliknij Użyj innego konta.
  3. W razie potrzeby skopiuj nazwę użytkownika znajdującą się poniżej i wklej ją w oknie logowania.

    {{{user_0.username | "Username"}}}

    Nazwę użytkownika znajdziesz też w panelu Szczegóły modułu.

  4. Kliknij Dalej.

  5. Skopiuj podane niżej hasło i wklej je w oknie powitania.

    {{{user_0.password | "Password"}}}

    Hasło znajdziesz też w panelu Szczegóły modułu.

  6. Kliknij Dalej.

    Ważne: musisz użyć danych logowania podanych w module. Nie używaj danych logowania na swoje konto Google Cloud. Uwaga: korzystanie z własnego konta Google Cloud w tym module może wiązać się z dodatkowymi opłatami.
  7. Na kolejnych stronach wykonaj następujące czynności:

    • Zaakceptuj Warunki korzystania z usługi.
    • Nie dodawaj opcji odzyskiwania ani uwierzytelniania dwuskładnikowego (ponieważ konto ma charakter tymczasowy).
    • Nie rejestruj się w bezpłatnych wersjach próbnych.

Poczekaj, aż na karcie otworzy się konsola Google Cloud.

Uwaga: aby wyświetlić menu z listą produktów i usług Google Cloud, w lewym górnym rogu kliknij Menu nawigacyjne. Ikona menu nawigacyjnego

Aktywowanie Cloud Shell

Cloud Shell to maszyna wirtualna oferująca wiele narzędzi dla programistów. Zawiera stały katalog domowy o pojemności 5 GB i działa w Google Cloud. Dzięki wierszowi poleceń Cloud Shell zyskujesz dostęp do swoich zasobów Google Cloud.

  1. Kliknij Aktywuj Cloud Shell Ikona aktywowania Cloud Shell na górze konsoli Google Cloud.

Po połączeniu użytkownik od razu jest uwierzytelniony. Uruchomi się Twój projekt o identyfikatorze PROJECT_ID. Dane wyjściowe zawierają wiersz z zadeklarowanym identyfikatorem PROJECT_ID dla tej sesji:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud to narzędzie wiersza poleceń Google Cloud. Jest ono już zainstalowane w Cloud Shell i obsługuje funkcję autouzupełniania po naciśnięciu tabulatora.

  1. (Opcjonalnie) Aby wyświetlić listę aktywnych kont, użyj tego polecenia:
gcloud auth list
  1. Kliknij Autoryzuj.

  2. Dane wyjściowe powinny wyglądać tak:

Dane wyjściowe:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Opcjonalnie) Aby wyświetlić identyfikator projektu, użyj tego polecenia:
gcloud config list project

Dane wyjściowe:

[core] project = <project_ID>

Przykładowe dane wyjściowe:

[core] project = qwiklabs-gcp-44776a13dea667a6 Uwaga: pełną dokumentację gcloud w Google Cloud znajdziesz w opisie narzędzia wiersza poleceń gcloud.

Zadanie 1. Tworzenie środowiska wirtualnego

Do oddzielenia instalacji pakietów od systemu są używane wirtualne środowiska języka Python.

  1. Zainstaluj środowisko virtualenv:
sudo apt-get install -y virtualenv
  1. Skompiluj środowisko wirtualne:
python3 -m venv venv
  1. Aktywuj środowisko wirtualne.
source venv/bin/activate

Zadanie 2. Instalowanie biblioteki klienta

  1. Uruchom to polecenie, aby zainstalować bibliotekę klienta:
pip install --upgrade google-cloud-pubsub
  1. Sklonuj repozytorium GitHub, aby pobrać przykładowy kod:
git clone https://github.com/googleapis/python-pubsub.git
  1. Przejdź do katalogu:
cd python-pubsub/samples/snippets

Zadanie 3. Pub/Sub – podstawy

Pub/Sub to globalna usługa do asynchronicznego przesyłania wiadomości. W kontekście usługi Pub/Sub często pojawiają się 3 terminy: tematy, publikowaniesubskrybowanie.

Temat to udostępniony ciąg znaków, który umożliwia aplikacjom łączenie się ze sobą przez wspólny wątek.

Aplikacje publikujące umieszczają (lub publikują) wiadomość w temacie Pub/Sub. Z kolei aplikacje subskrybujące tworzą subskrypcje danego wątku, które umożliwiają pobieranie wiadomości z tematu lub konfigurowanie webhooków na potrzeby subskrypcji typu push. Każdy subskrybent musi potwierdzić każdą wiadomość w określonym przedziale czasu.

Podsumowując, publikujący tworzy i wysyła wiadomości, które trafiają do tematu, a subskrybent tworzy subskrypcję tematu, która umożliwia otrzymywanie z niego wiadomości.

Pub/Sub w Google Cloud

Usługa Pub/Sub jest już zainstalowana w Cloud Shell, dlatego rozpoczęcie pracy nie wymaga żadnej instalacji ani konfiguracji. W tym module za pomocą języka Python utworzysz temat i subskrypcję, a następnie wyświetlisz wiadomość. Wiadomość opublikujesz w tym temacie za pomocą polecenia gcloud.

Zadanie 4. Tworzenie tematu

Aby opublikować dane w Pub/Sub, musisz utworzyć temat, a następnie skonfigurować aplikację publikującą dla tego tematu.

  1. W Cloud Shell Twój identyfikator projektu powinien zostać automatycznie zapisany w zmiennej środowiskowej GOOGLE_CLOUD_PROJECT:
echo $GOOGLE_CLOUD_PROJECT
  1. Sprawdź, czy dane wyjściowe są takie same jak identyfikator projektu podany w SZCZEGÓŁACH POŁĄCZENIA.

publisher.py to skrypt, który pokazuje, jak wykonywać podstawowe operacje na tematach za pomocą interfejsu Cloud Pub/Sub API. Wyświetl zawartość skryptu publisher:

cat publisher.py Uwaga: skrypt python-pubsub/samples/snippets/publisher.py możesz też wyświetlić za pomocą edytorów powłoki, które są zainstalowane w Cloud Shell, takich jak nano lub vim. Możesz również użyć edytora kodu Cloud Shell.
  1. Informacje o skrypcie publisher uzyskasz po uruchomieniu tego polecenia:
python publisher.py -h

Przykładowe dane wyjściowe:

usage: publisher.py [-h] project {list,create,delete,publish,publish-with-custom-attributes,publish-with-futures,publish-with-error-handler,publish-with-batch-settings} ... 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: project Your Google Cloud project ID {list,create,delete,publish,publish-with-custom-attributes,publish-with-futures,publish-with-error-handler,publish-with-batch-settings} list Lists all Pub/Sub topics in the given project. create Create a new Pub/Sub topic. delete Deletes an existing Pub/Sub topic. publish Publishes multiple messages to a Pub/Sub topic. publish-with-custom-attributes Publishes multiple messages with custom attributes to a Pub/Sub topic. publish-with-futures Publishes multiple messages to a Pub/Sub topic and prints their message IDs. publish-with-error-handler Publishes multiple messages to a Pub/Sub topic with an error handler. publish-with-batch-settings Publishes multiple messages to a Pub/Sub topic with batch settings. optional arguments: -h, --help show this help message and exit
  1. Uruchom skrypt publisher, aby utworzyć temat Pub/Sub:
python publisher.py $GOOGLE_CLOUD_PROJECT create MyTopic

Przykładowe dane wyjściowe:

Topic created: name: "projects/qwiklabs-gcp-fe27729bc161fb22/topics/MyTopic"

Testowanie ukończonego zadania

Kliknij Sprawdź postępy, aby zobaczyć stan realizacji zadania. Jeśli udało Ci się utworzyć temat Cloud Pub/Sub, wyświetli się wynik.

Utworzenie tematu
  1. To polecenie zwraca listę wszystkich tematów Pub/Sub w danym projekcie:
python publisher.py $GOOGLE_CLOUD_PROJECT list

Przykładowe dane wyjściowe:

name: "projects/qwiklabs-gcp-fe27729bc161fb22/topics/MyTopic"

Utworzony przed chwilą temat możesz też wyświetlić w konsoli Google Cloud.

  1. Otwórz Menu nawigacyjne > Pub/Sub > Tematy.

Zobaczysz temat MyTopic.

Zadanie 5. Tworzenie subskrypcji

  1. Utwórz subskrypcję Pub/Sub tematu za pomocą skryptu subscriber.py:
python subscriber.py $GOOGLE_CLOUD_PROJECT create MyTopic MySub

Testowanie ukończonego zadania

Kliknij Sprawdź postępy, aby zobaczyć stan realizacji zadania. Jeśli udało Ci się utworzyć subskrypcję Cloud Pub/Sub, wyświetli się wynik.

Utworzenie subskrypcji
  1. To polecenie zwraca listę subskrybentów w danym projekcie:
python subscriber.py $GOOGLE_CLOUD_PROJECT list-in-project

Zobaczysz tylko jedną subskrypcję, ponieważ tylko jedna subskrypcja została utworzona.

Przykładowe dane wyjściowe:

projects/qwiklabs-gcp-7877af129f04d8b3/subscriptions/MySub
  1. Sprawdź subskrypcję, którą udało Ci się przed chwilą utworzyć w konsoli. W panelu po lewej stronie kliknij Subskrypcje. Powinna się wyświetlić nazwa subskrypcji i inne szczegóły.

  2. Informacje o skrypcie subscriber uzyskasz po uruchomieniu tego polecenia:

python subscriber.py -h

Dane wyjściowe:

usage: subscriber.py [-h] project {list_in_topic,list_in_project,create,create-push,delete,update,receive,receive-custom-attributes,receive-flow-control,receive-synchronously,listen_for_errors} ... 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: project Your Google Cloud project ID {list_in_topic,list_in_project,create,create-push,delete,update,receive,receive-custom-attributes,receive-flow-control,receive-synchronously,listen_for_errors} list_in_topic Lists all subscriptions for a given topic. list_in_project Lists all subscriptions in the current project. create Create a new pull subscription on the given topic. create-push Create a new push subscription on the given topic. delete Deletes an existing Pub/Sub topic. update Aktualizuje istniejący adres URL punktu końcowego „push” subskrypcji Pub/Sub. Note that certain properties of a subscription, such as its topic, are not modifiable. receive Receives messages from a pull subscription. receive-custom-attributes Receives messages from a pull subscription. receive-flow-control Receives messages from a pull subscription with flow control. receive-synchronously Pulling messages synchronously. listen_for_errors Receives messages and catches errors from a pull subscription. optional arguments: -h, --help show this help message and exit

Zadanie 6. Publikowanie wiadomości

Po skonfigurowaniu tematu MyTopic i subskrypcji MySub tematu MyTopic opublikuj wiadomość w temacie MyTopic za pomocą poleceń gcloud.

  1. Opublikuj wiadomość „Cześć” w temacie MyTopic:
gcloud pubsub topics publish MyTopic --message "Cześć"
  1. Opublikuj jeszcze kilka wiadomości w temacie MyTopic – uruchom w tym celu te polecenia (zastępując ciąg znaków <TWOJE_IMIĘ> swoim imieniem, a ciąg znaków <JEDZENIE> swoją ulubioną potrawą):
gcloud pubsub topics publish MyTopic --message "Osobą publikującą wiadomość jest <TWOJE_IMIĘ>" gcloud pubsub topics publish MyTopic --message "Ulubione jedzenie osoby publikującej wiadomość to <JEDZENIE>" gcloud pubsub topics publish MyTopic --message "Osoba publikująca wiadomość uważa, że Pub/Sub jest super"

Zadanie 7. Wyświetlanie wiadomości

Po opublikowaniu wiadomości w temacie MyTopic pobierz je i wyświetl, korzystając z subskrypcji MySub.

  1. Pobierz wiadomość z tematu MyTopic za pomocą subskrypcji MySub:
python subscriber.py $GOOGLE_CLOUD_PROJECT receive MySub

Przykładowe dane wyjściowe:

Listening for messages on projects/qwiklabs-gcp-7877af129f04d8b3/subscriptions/MySub Received message: Message { data: 'Osoba publikująca wiadomość uważa, że Pub/Sub jest super' attributes: {} } Received message: Message { data: 'Cześć' attributes: {} } Received message: Message { data: "Osobą publikującą wiadomość jest Jan" attributes: {} } Received message: Message { data: 'Ulubione jedzenie osoby publikującej wiadomość to ser' attributes: {} }
  1. Kliknij Ctrl + C, aby przestać nasłuchiwać.

Zadanie 8. Sprawdź swoją wiedzę

Poniżej znajdziesz pytania jednokrotnego wyboru, które pomogą Ci utrwalić wiedzę zdobytą w tym module. Odpowiedz na nie najlepiej, jak potrafisz.

Gratulacje!

Udało Ci się wykorzystać Pythona, aby utworzyć temat Pub/Sub, opublikować wiadomość w temacie, utworzyć subskrypcję, a następnie użyć jej do pobrania danych z tematu.

Kolejne kroki / Więcej informacji

Pub/Sub Lite to usługa strefowa dla systemów komunikacji, w których wzorce ruchu są przewidywalne. Uzupełnia Pub/Sub. Jeśli publikujesz od 1 MiB do 1 GiB wiadomości na sekundę, Pub/Sub Lite będzie niedrogą opcją do pozyskiwania dużej liczby zdarzeń. Wypróbuj Pub/Sub Lite w tym module:

Ten moduł należy do serii modułów Qwik Start. Opracowaliśmy je, aby dać Ci przedsmak bogactwa funkcji dostępnych w Google Cloud. Wyszukaj „Qwik Start” w katalogu Google Cloud Skills Boost i znajdź kolejny interesujący Cię moduł.

Szkolenia i certyfikaty Google Cloud

…pomogą Ci wykorzystać wszystkie możliwości technologii Google Cloud. Nasze zajęcia obejmują umiejętności techniczne oraz sprawdzone metody, które ułatwią Ci szybką naukę i umożliwią jej kontynuację. Oferujemy szkolenia na poziomach od podstawowego po zaawansowany prowadzone w trybach wirtualnym, na żądanie i na żywo, dzięki czemu możesz dopasować program szkoleń do swojego napiętego harmonogramu. Certyfikaty umożliwią udokumentowanie i potwierdzenie Twoich umiejętności oraz doświadczenia w zakresie technologii Google Cloud.

Ostatnia aktualizacja instrukcji: 13 lutego 2024 r.

Ostatni test modułu: 22 września 2023 r.

Copyright 2024 Google LLC. Wszelkie prawa zastrzeżone. Google i logo Google są znakami towarowymi Google LLC. Wszelkie inne nazwy firm i produktów mogą być znakami towarowymi odpowiednich podmiotów, z którymi są powiązane.

Ta treść jest obecnie niedostępna

Kiedy dostępność się zmieni, wyślemy Ci e-maila z powiadomieniem

Świetnie

Kiedy dostępność się zmieni, skontaktujemy się z Tobą e-mailem