GSP095

Opis
Pub/Sub to usługa do przesyłania wiadomości, która pozwala na wymianę danych dotyczących zdarzeń między aplikacjami i usługami. Rozdzielenie nadawców i odbiorców umożliwia bezpieczną komunikację o wysokiej dostępności między niezależnie napisanymi aplikacjami. Pub/Sub gwarantuje przesyłanie wiadomości charakteryzujące się krótkim czasem oczekiwania oraz trwałością. Programiści powszechnie wykorzystują tę usługę do wdrażania asynchronicznych przepływów pracy, dystrybucji powiadomień o zdarzeniach i strumieniowego przesyłania danych z różnych procesów lub urządzeń.
Czego się nauczysz
Ten moduł obejmuje:
- tworzenie i usuwanie tematów i subskrypcji Pub/Sub oraz wyświetlanie ich list,
- publikowanie wiadomości w temacie,
- używanie aplikacji subskrybującej korzystającej z metody pull.
Wymagania wstępne
To jest moduł dla użytkowników początkujących. Zakładamy, że nie masz żadnego lub prawie żadnego doświadczenia w korzystaniu z Pub/Sub, dlatego w tym module nauczymy Cię podstaw konfigurowania tej usługi Google Cloud i korzystania z niej.
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 (zalecane) lub przeglądania prywatnego. Dzięki temu unikniesz konfliktu między swoim kontem osobistym a kontem do nauki, co mogłoby spowodować naliczanie dodatkowych opłat na koncie osobistym.
- Odpowiednia ilość czasu na ukończenie modułu – pamiętaj, że gdy rozpoczniesz, nie możesz go wstrzymać.
Uwaga: w tym module używaj tylko konta do nauki. Jeśli użyjesz innego konta Google Cloud, mogą na nim zostać naliczone opłaty.
Rozpoczynanie modułu i logowanie się w konsoli Google Cloud
-
Kliknij przycisk Rozpocznij moduł. Jeśli moduł jest odpłatny, otworzy się okno, 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.
-
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.
-
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.
-
Kliknij Dalej.
-
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.
-
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.
-
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 uzyskać dostęp do produktów i usług Google Cloud, kliknij Menu nawigacyjne lub wpisz nazwę usługi albo produktu w polu Szukaj.
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.
-
Kliknij Aktywuj Cloud Shell
na górze konsoli Google Cloud.
-
Kliknij te okna:
- Przejdź przez okno z informacjami o Cloud Shell.
- Zezwól Cloud Shell na używanie Twoich danych logowania w celu wywoływania interfejsu Google Cloud API.
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 {{{project_0.project_id | "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.
- (Opcjonalnie) Aby wyświetlić listę aktywnych kont, użyj tego polecenia:
gcloud auth list
- Kliknij Autoryzuj.
Dane wyjściowe:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Opcjonalnie) Aby wyświetlić identyfikator projektu, użyj tego polecenia:
gcloud config list project
Dane wyjściowe:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Uwaga: pełną dokumentację gcloud
w Google Cloud znajdziesz w opisie gcloud CLI.
Podstawy Pub/Sub
Jak już wspomnieliśmy, 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
, publikowanie
i subskrybowanie
.
-
Topic
(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ą – publish
– wiadomość w temacie Cloud Pub/Sub.
-
Aplikacje subskrybujące tworzą subskrypcję – subscription
– tematu. Umożliwia ona pobieranie wiadomości z danej subskrypcji lub konfigurowanie webhooków na potrzeby subskrypcji typu push. Aplikacja subskrybująca musi potwierdzić każdą wiadomość w określonym czasie.
Podsumowując: twórca publikuje wiadomości w danym temacie, a konsument tworzy do tego tematu subskrypcję, która umożliwia mu otrzymywanie utworzonych w temacie wiadomości.
Zadanie 1. Tematy Pub/Sub
Usługa Pub/Sub jest już zainstalowana w Cloud Shell, dlatego rozpoczęcie pracy nie wymaga żadnej instalacji ani konfiguracji.
- Aby utworzyć temat o nazwie
myTopic
, uruchom następujące polecenie:
gcloud pubsub topics create myTopic
Testowanie ukończonego zadania
Kliknij Sprawdź postępy, aby zobaczyć stan realizacji zadania. Jeśli udało Ci się ukończyć zadanie, wyświetli się wynik.
Utworzenie tematu Pub/Sub
- Utwórz jeszcze 2 tematy, pierwszy o nazwie
Test1
, a drugi – Test2
:
gcloud pubsub topics create Test1
gcloud pubsub topics create Test2
- Aby wyświetlić 3 właśnie utworzone tematy, uruchom następujące polecenie:
gcloud pubsub topics list
Wynik powinien wyglądać mniej więcej tak:
---
messageStoragePolicy:
allowedPersistenceRegions:
- us-central1
name: projects/qwiklabs-gcp-01-af5b4aaa2d32/topics/myTopic
---
messageStoragePolicy:
allowedPersistenceRegions:
- us-central1
name: projects/qwiklabs-gcp-01-af5b4aaa2d32/topics/Test1
---
messageStoragePolicy:
allowedPersistenceRegions:
- us-central1
name: projects/qwiklabs-gcp-01-af5b4aaa2d32/topics/Test2
- Czas zrobić porządki. Usuń
Test1
i Test2
, korzystając z następujących poleceń:
gcloud pubsub topics delete Test1
gcloud pubsub topics delete Test2
- Aby sprawdzić, czy tematy zostały usunięte, ponownie uruchom polecenie
gcloud pubsub topics list
:
gcloud pubsub topics list
Powinien pojawić się następujący wynik:
---
name: projects/qwiklabs-gcp-3450558d2b043890/topics/myTopic
Zadanie 2. Subskrypcje Pub/Sub
Wiesz już, jak tworzyć, wyświetlać i usuwać tematy. Teraz pokażemy Ci, jak działają subskrypcje.
- Aby utworzyć subskrypcję o nazwie
mySubscription
do tematu myTopic
, uruchom następujące polecenie:
gcloud pubsub subscriptions create --topic myTopic mySubscription
Testowanie ukończonego zadania
Kliknij Sprawdź postępy, aby zobaczyć stan realizacji zadania. Jeśli udało Ci się ukończyć zadanie, wyświetli się wynik.
Utworzenie subskrypcji Pub/Sub
- Dodaj kolejne 2 subskrypcje do tematu
myTopic
. Aby utworzyć subskrypcje do tematów Test1
i Test2
, uruchom następujące polecenia:
gcloud pubsub subscriptions create --topic myTopic Test1
gcloud pubsub subscriptions create --topic myTopic Test2
- Aby wyświetlić listę subskrypcji do tematu myTopic, uruchom następujące polecenie:
gcloud pubsub topics list-subscriptions myTopic
Wynik powinien wyglądać mniej więcej tak:
---
projects/qwiklabs-gcp-3450558d2b043890/subscriptions/Test2
---
projects/qwiklabs-gcp-3450558d2b043890/subscriptions/Test1
---
projects/qwiklabs-gcp-3450558d2b043890/subscriptions/mySubscription
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.
- Następnie usuń subskrypcje tematów
Test1
i Test2
. Uruchom te polecenia:
gcloud pubsub subscriptions delete Test1
gcloud pubsub subscriptions delete Test2
- Sprawdź, czy subskrypcje tematów
Test1
i Test2
zostały usunięte. Ponownie uruchom polecenie list-subscriptions
:
gcloud pubsub topics list-subscriptions myTopic
Powinien pojawić się następujący wynik:
---
projects/qwiklabs-gcp-3450558d2b043890/subscriptions/mySubscription
Zadanie 3. Publikowanie i pobieranie pojedynczej wiadomości w Pub/Sub
Teraz dowiesz się, jak opublikować wiadomość w temacie Pub/Sub.
- Aby opublikować wiadomość o treści
"Cześć"
w poprzednio utworzonym temacie myTopic
, uruchom następujące polecenie:
gcloud pubsub topics publish myTopic --message "Cześć"
- Opublikuj jeszcze kilka wiadomości w temacie
myTopic
. Uruchom następujące polecenia – zastępując fragment <TWOJE_IMIĘ>
swoim imieniem, a <JEDZENIE>
nazwą potrawy, którą lubisz:
gcloud pubsub topics publish myTopic --message "Jestem <TWOJE_IMIĘ> i publikuję tu wiadomość"
gcloud pubsub topics publish myTopic --message "Moja ulubiona potrawa to <JEDZENIE>"
gcloud pubsub topics publish myTopic --message "Uważam, że Pub/Sub jest super"
Następnie za pomocą polecenia pull
pobierz wiadomości z tematu. Polecenie pull oparte jest na subskrypcji, co oznacza, że powinno zadziałać, ponieważ wcześniej utworzyliśmy subskrypcję mySubscription
do tematu myTopic
.
- Za pomocą następującego polecenia pobierz z tematu Pub/Sub opublikowane przed chwilą wiadomości:
gcloud pubsub subscriptions pull mySubscription --auto-ack
Wynik powinien wyglądać mniej więcej tak:

Co się stało? W temacie opublikowane były 4 wiadomości. Czemu więc w wynikach wyświetla się tylko jedna?
Należy tu omówić pewne właściwości polecenia pull
, które często zbijają programistów z tropu:
- Jeśli użyje się polecenia pull bez żadnej flagi, w wynikach wyświetli się tylko jedna wiadomość, nawet jeśli w subskrybowanym temacie jest ich więcej.
- Jeśli za pomocą polecenia pull wydanego wobec określonej subskrypcji dana wiadomość pojawi się w wynikach, nie można ponownie uzyskać do niej dostępu za pomocą tego polecenia.
-
Aby przekonać się, o co chodzi w 2. punkcie, uruchom ostatnie polecenie jeszcze 3 razy. W wynikach pojawią się pozostałe opublikowane wiadomości.
-
Teraz uruchom polecenie po raz 4. Otrzymasz następujący wynik (ponieważ nie było więcej wiadomości do wyświetlenia):
gcpstaging20394_student@cloudshell:~ (qwiklabs-gcp-3450558d2b043890)$ gcloud pubsub subscriptions pull mySubscription --auto-ack
Listed 0 items.
W ostatniej części dowiesz się, jak pobierać wiele wiadomości z tematu za pomocą flagi – flag
.
Zadanie 4. Pobieranie wszystkich wiadomości z subskrypcji za pomocą Pub/Sub
W ostatnim przykładzie wszystkie wiadomości z tematu myTopic
zostały pobrane, dlatego musisz opublikować kilka nowych.
- Uruchom te polecenia:
gcloud pubsub topics publish myTopic --message "Publikuję i zaczynam rozumieć, jak działa Pub/Sub"
gcloud pubsub topics publish myTopic --message "Publikuję i zastanawiam się, czy wszystkie wiadomości zostaną pobrane"
gcloud pubsub topics publish myTopic --message "Aby się tego dowiedzieć, muszę to sprawdzić"
- Aby pobrać wszystkie 3 wiadomości naraz, dodaj do polecenia flagę –
flag
.
Może nie zwróciło to Twojej uwagi, ale flaga była używana od samego początku – fragment --auto-ack
polecenia pull
to flaga formatująca wiadomości w uporządkowane tabele, w których wyświetlają się pobrane wiadomości.
Kolejna flaga to limit
. Za jej pomocą określany jest górny limit liczby pobieranych wiadomości.
- Poczekaj, aż utworzą się tematy. Uruchom polecenie pull z flagą
limit
:
gcloud pubsub subscriptions pull mySubscription --limit=3
Wynik powinien być zgodny z tym:

Wiesz już, jak dodawać flagi do poleceń Pub/Sub, aby wyświetlać większą pulę wiadomości. Jesteś na najlepszej drodze, by opanować Pub/Sub do perfekcji.
Gratulacje!
Ten moduł pozwolił Ci poznać podstawowe informacje dotyczące tematów Pub/Sub, subskrypcji, polecenia pull i flag.
Przejdź do kolejnego modułu
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 modułów 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: 10 marca 2025 r.
Ostatni test modułu: 10 marca 2025 r.
Copyright 2025 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.