arrow_back

Cloud Functions: Qwik Start – wiersz poleceń

Zyskaj dostęp do ponad 700 modułów i kursów

Cloud Functions: Qwik Start – wiersz poleceń

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ę.
Zyskaj dostęp do ponad 700 modułów i kursów

GSP080

Logo modułów do samodzielnego ukończenia poświęconych Google Cloud

Opis

Funkcja Cloud Run to fragment kodu uruchamiany w odpowiedzi na zdarzenie, takie jak żądanie HTTP, wiadomość z usługi do przesyłania wiadomości czy przesłanie pliku. Zdarzenia w chmurze to rzeczy, które mają miejsce w środowisku chmury. Może to być na przykład zmiana danych w bazie danych, dodanie plików do systemu pamięci masowej lub utworzenie nowej instancji maszyny wirtualnej.

Ponieważ funkcje Cloud Run są oparte na zdarzeniach, uruchamiają się tylko wtedy, gdy coś się dzieje. Przydają się zatem w przypadku zadań, które trzeba szybko wykonać, czy takich, które nie muszą działać przez cały czas.

Funkcji Cloud Run możesz na przykład używać do:

  • automatycznego generowania miniatur obrazów przesyłanych do Cloud Storage;
  • wysyłania powiadomień na telefon użytkownika, gdy Pub/Sub otrzymuje nową wiadomość;
  • przetwarzania danych z baz danych Cloud Firestore i generowania raportów.

Kod możesz napisać w dowolnym języku współpracującym z Node.js i wdrożyć w chmurze kilkoma kliknięciami. Po wdrożeniu funkcja Cloud Run zacznie automatycznie się uruchamiać w odpowiedzi na zdarzenia.

Z tego modułu praktycznego dowiesz się, jak utworzyć funkcję Cloud Run, wdrożyć ją i przetestować, używając konsoli Google Cloud.

W tym praktycznym module zaprezentujemy, jak za pomocą wiersza poleceń Google Cloud Shell utworzyć, wdrożyć i przetestować funkcję Cloud Run.

Jakie zadania wykonasz

  • utworzysz funkcję Cloud Run,
  • wdrożysz i przetestujesz funkcję Cloud Run,
  • wyświetlisz logi.

Konfiguracja

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

  1. 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.
  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 uzyskać dostęp do produktów i usług Google Cloud, kliknij Menu nawigacyjne lub wpisz nazwę usługi albo produktu w polu Szukaj. Ikona menu nawigacyjnego i pole wyszukiwania

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.

  2. 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.

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

Dane wyjściowe:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} 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_0.project_id | "PROJECT_ID"}}} Uwaga: pełną dokumentację gcloud w Google Cloud znajdziesz w opisie gcloud CLI.

Zadanie 1. Tworzenie funkcji

Najpierw utworzysz prostą funkcję o nazwie helloWorld. Ta funkcja zapisuje komunikat w logach funkcji Cloud Run. Jest ona wyzwalana przez zdarzenia funkcji Cloud Run i akceptuje wywołanie zwrotne w celu zasygnalizowania zakończenia funkcji.

Na potrzeby tego modułu zdarzenie funkcji Cloud Run jest zdarzeniem tematu Pub/Sub. Pub/Sub to usługa do przesyłania wiadomości, w której nadawcy wiadomości są oddzieleni od ich odbiorców. Aby odbiorca został powiadomiony o wysłanej lub opublikowanej wiadomości i mógł ją otrzymać, musi mieć subskrypcję. Więcej informacji o usłudze Pub/Sub znajdziesz w artykule opisującym jej architekturę.

Aby dowiedzieć się więcej o parametrach zdarzenia i wywołania zwrotnego, zajrzyj do sekcji Background functions (funkcje działające w tle) w dokumentacji funkcji Cloud Run.

Aby utworzyć funkcję Cloud Run:

  1. Uruchom to polecenie w Cloud Shell, aby ustawić region domyślny:

    gcloud config set run/region {{{project_0.default_region |REGION}}}
  2. Utwórz katalog dla kodu funkcji:

    mkdir gcf_hello_world && cd $_
  3. Utwórz plik index.js i otwórz go do edycji:

    nano index.js
  4. Skopiuj kod podany poniżej do pliku index.js:

    const functions = require('@google-cloud/functions-framework'); // Register a CloudEvent callback with the Functions Framework that will // be executed when the Pub/Sub trigger topic receives a message. functions.cloudEvent('helloPubSub', cloudEvent => { // The Pub/Sub message is passed as the CloudEvent's data payload. const base64name = cloudEvent.data.message.data; const name = base64name ? Buffer.from(base64name, 'base64').toString() : 'World'; console.log(`Hello, ${name}!`); });
  5. Wyjdź z nano (Ctrl+x) i zapisz plik (Y).

  6. Utwórz plik package.json i otwórz go do edycji:

  7. Skopiuj podany poniżej kod do pliku package.json:

    { "name": "gcf_hello_world", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node index.js", "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { "@google-cloud/functions-framework": "^3.0.0" } }
  8. Wyjdź z nano (Ctrl+x) i zapisz plik (Y).

  9. Zainstaluj zależności pakietu

    npm install

    Oczekiwane dane wyjściowe:

    added 140 packages, and audited 141 packages in 9s 27 packages are looking for funding run `npm fund` for details found 0 vulnerabilities

Zadanie 2. Wdrażanie funkcji

Na potrzeby tego modułu ustawisz parametr --trigger-topic na wartość cf_demo.

Uwaga:
Funkcje Cloud Run działają na podstawie zdarzeń, co oznacza, że musisz określić typ aktywatora. Podczas wdrażania nowej funkcji często używane są zdarzenia aktywujące `--trigger-topic`, `--trigger-bucket` oraz `--trigger-http`. W przypadku wdrażania aktualizacji istniejącej funkcji zachowuje ona istniejący aktywator, chyba że określono inaczej.
  1. Wdróż funkcję nodejs-pubsub-function w temacie Pub/Sub o nazwie cf-demo.

    gcloud functions deploy nodejs-pubsub-function \ --gen2 \ --runtime=nodejs20 \ --region={{{ project_0.default_region | REGION }}} \ --source=. \ --entry-point=helloPubSub \ --trigger-topic cf-demo \ --stage-bucket {{{ project_0.project_id | PROJECT_ID }}}-bucket \ --service-account cloudfunctionsa@{{{ project_0.project_id | PROJECT_ID }}}.iam.gserviceaccount.com \ --allow-unauthenticated Uwaga:
    Jeśli otrzymasz powiadomienie serviceAccountTokenCreator dotyczące konta usługi, wybierz „n”.
  2. Sprawdź stan funkcji:

    gcloud functions describe nodejs-pubsub-function \ --region={{{ project_0.default_region | REGION }}}

    Stan AKTYWNA oznacza, że funkcja została wdrożona.

    Oczekiwane dane wyjściowe:

    BuildConfig: automaticUpdatePolicy: {} build: projects/630521560493/locations/{{{ project_0.default_region | REGION }}}/builds/7ff9d415-50d9-4557-9bcd-5afad42a6390 dockerRegistry: ARTIFACT_REGISTRY dockerRepository: projects/{{{ project_0.project_id | PROJECT_ID }}}/locations/{{{ project_0.default_region | REGION }}}/repositories/gcf-artifacts entryPoint: helloPubSub ... State: ACTIVE ... UpdateTime: '2024-08-05T13:51:05.317298824Z' Url: https://{{{ project_0.default_region | REGION }}}-{{{ project_0.project_id | PROJECT_ID }}}.cloudfunctions.net/nodejs-pubsub-function

Każda wiadomość opublikowana w temacie aktywuje wykonanie funkcji. Treść wiadomości jest przekazywana jako dane wejściowe.

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.

Wdrożenie funkcji

Zadanie 3. Testowanie funkcji

Gdy już wdrożysz i aktywujesz funkcję, sprawdź, czy po wykryciu zdarzenia zapisuje ona wiadomość do logu chmury.

  1. Wywołaj PubSub z niektórymi danymi.

    gcloud pubsub topics publish cf-demo --message="Cloud Function Gen2"

    Przykładowe dane wyjściowe:

    messageIds: - '11927162971409664'

Przejrzyj logi, aby potwierdzić, że istnieją w nich wiadomości z takim identyfikatorem wykonania.

Zadanie 4. Wyświetlanie logów

  1. Sprawdź, czy w historii logów widać wysłane wiadomości:

    gcloud functions logs read nodejs-pubsub-function \ --region={{{ project_0.default_region | REGION }}} Uwaga:
    Zanim logi się pojawią, może minąć około 10 minut. Możesz też je wyświetlić, otwierając Logowanie > Eksplorator logów.

    Funkcja Cloud Run zwróci informacje podobne do tych:

    LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4v6akxf4sxt TIME_UTC: 2024-08-05 15:15:25.723 LOG: Hello, Cloud Function Gen2! LEVEL: I NAME: nodejs-pubsub-function EXECUTION_ID: TIME_UTC: 2024-08-05 15:15:25.711 LOG: LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4oxfjn7zlyu TIME_UTC: 2024-08-05 15:10:34.303 LOG: Hello, Friend! LEVEL: I NAME: nodejs-pubsub-function EXECUTION_ID: TIME_UTC: 2024-08-05 15:10:34.291 LOG: LEVEL: NAME: nodejs-pubsub-function EXECUTION_ID: h4fjhyfxua3k TIME_UTC: 2024-08-05 15:03:16.342 LOG: Hello, "SGVsbG8gZnJvbSB0aGUgY29tbWFuZCBsaW5l"!

Twoja aplikacja jest wdrożona i przetestowana. Możesz też wyświetlać logi.

Zadanie 5. Sprawdź swoją wiedzę

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

Gratulacje!

Teraz już wiesz, jak używać konsoli Google Cloud, aby tworzyć, wdrażać i testować funkcje Cloud Run przy użyciu wiersza poleceń.

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ł.

Kolejne kroki / Więcej informacji

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: 20 stycznia 2025 r.

Ostatni test modułu: 20 stycznia 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.

Zanim zaczniesz

  1. Moduły tworzą projekt Google Cloud i zasoby na określony czas.
  2. Moduły mają ograniczenie czasowe i nie mają funkcji wstrzymywania. Jeśli zakończysz moduł, musisz go zacząć od początku.
  3. Aby rozpocząć, w lewym górnym rogu ekranu kliknij Rozpocznij moduł.

Użyj przeglądania prywatnego

  1. Skopiuj podaną nazwę użytkownika i hasło do modułu.
  2. Kliknij Otwórz konsolę w trybie prywatnym.

Zaloguj się w konsoli

  1. Zaloguj się z użyciem danych logowania do modułu. Użycie innych danych logowania może spowodować błędy lub naliczanie opłat.
  2. Zaakceptuj warunki i pomiń stronę zasobów przywracania.
  3. Nie klikaj Zakończ moduł, chyba że właśnie został przez Ciebie zakończony lub chcesz go uruchomić ponownie, ponieważ spowoduje to usunięcie wyników i projektu.

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

Jeden moduł, a potem drugi

Potwierdź, aby zakończyć wszystkie istniejące moduły i rozpocząć ten

Aby uruchomić moduł, użyj przeglądania prywatnego

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 dodatkowych opłat na koncie osobistym.