arrow_back

Cloud Functions: Qwik Start – wiersz poleceń

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cloud Functions: Qwik Start – wiersz poleceń

Lab 30 godz. universal_currency_alt 1 punkt show_chart Wprowadzające
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP080

Moduły Google Cloud do samodzielnego ukończenia

Opis

Funkcja w Cloud Functions 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 w Cloud Functions 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 w Cloud Functions 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 Cloud 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 w Cloud Functions zacznie automatycznie się uruchamiać w odpowiedzi na zdarzenia.

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

Z tego modułu praktycznego dowiesz się, jak utworzyć, wdrożyć i przetestować funkcję w Cloud Functions za pomocą wiersza poleceń Google Cloud Shell.

Jakie zadania wykonasz:

  • Utworzenie prostej funkcji w Cloud Functions
  • Wdrożenie i przetestowanie funkcji
  • Wyświetlanie logów

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 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;
    • 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. 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 z panelu Szczegóły modułu i wklej ją w oknie logowania. Kliknij Dalej.

  4. Skopiuj hasło z panelu Szczegóły modułu i wklej je w oknie powitania. Kliknij Dalej.

    Ważne: musisz użyć danych logowania z panelu po lewej stronie, a nie danych logowania Google Cloud Skills Boost. Uwaga: korzystanie z własnego konta Google Cloud w tym module może wiązać się z dodatkowymi opłatami.
  5. 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 Console, 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 funkcji

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

Na potrzeby tego modułu zdarzenie funkcji w Cloud Functions jest zdarzeniem tematu Cloud Pub/Sub. Pub/Sub to usługa 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ę.

Więcej informacji o parametrach zdarzenia i wywołania zwrotnego znajdziesz w dokumentacji Cloud Functions w sekcji Background functions (funkcje działające w tle).

Aby utworzyć funkcję w Cloud Functions:

  1. Uruchom to polecenie w Cloud Shell, aby ustawić region:
gcloud config set compute/region {{{project_0.default_region |REGION}}}
  1. Utwórz katalog dla kodu funkcji:
mkdir gcf_hello_world
  1. Przejdź do katalogu gcf_hello_world:
cd gcf_hello_world
  1. Utwórz plik index.js i otwórz go do edycji:
nano index.js
  1. Skopiuj kod podany poniżej do pliku index.js:
/** * Background Cloud Function to be triggered by Pub/Sub. * This function is exported by index.js, and executed when * the trigger topic receives a message. * * @param {object} data Ładunek zdarzenia. * @param {object} context Metadane zdarzenia. */ exports.helloWorld = (data, context) => { const pubSubMessage = data; const name = pubSubMessage.data ? Buffer.from(pubSubMessage.data, 'base64').toString() : "Hello World"; console.log(`My Cloud Function: ${name}`); };
  1. Wyjdź z nano (Ctrl+x) i zapisz plik (Y).

Zadanie 2. Tworzenie zasobnika w Cloud Storage

  • Za pomocą tego polecenia utwórz dla funkcji nowy zasobnik Cloud Storage:
gsutil mb -p [PROJECT_ID] gs://[BUCKET_NAME]
  • PROJECT_ID to identyfikator projektu, który znajdziesz po lewej stronie tego modułu w panelu z jego szczegółami:

  • BUCKET_NAME to nazwa nadana zasobnikowi. Możesz użyć identyfikatora projektu jako nazwy zasobnika, aby zapewnić jej globalną unikalność:

Aby dowiedzieć się więcej o nadawaniu nazw zasobnikom, przeczytaj wytyczne dotyczące nazw zasobników w dokumentacji Cloud Storage.

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 zasobnika w Cloud Storage

Zadanie 3. Wdrażanie funkcji

Podczas wdrażania nowej funkcji musisz podać parametr --trigger-topic, --trigger-bucket lub --trigger-http. W przypadku wdrażania aktualizacji istniejącej funkcji zachowuje ona istniejący aktywator, chyba że określono inaczej.

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

  1. Wdróż funkcję do tematu Pub/Sub o nazwie hello_world, zastępując [BUCKET_NAME] nazwą zasobnika:
gcloud functions deploy helloWorld \ --stage-bucket [BUCKET_NAME] \ --trigger-topic hello_world \ --runtime nodejs20 Uwaga: jeśli wyświetli się komunikat o błędzie OperationError, zignoruj ostrzeżenie i uruchom polecenie jeszcze raz.

Jeśli pojawi się zapytanie, wpisz Y, aby zezwolić na nieuwierzytelnione wywołania nowej funkcji.

  1. Sprawdź stan funkcji:
gcloud functions describe helloWorld

Stan ACTIVE (aktywna) oznacza, że funkcja została wdrożona.

entryPoint: helloWorld eventTrigger: eventType: providers/cloud.pubsub/eventTypes/topic.publish failurePolicy: {} resource: ... status: ACTIVE ...

Każda wiadomość opublikowana w temacie wyzwala 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 4. Testowanie funkcji

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

  • Wpisz to polecenie, aby utworzyć test przetwarzania wiadomości przez funkcję:
DATA=$(printf 'Hello World!'|base64) && gcloud functions call helloWorld --data '{"data":"'$DATA'"}'

Narzędzie w chmurze zwraca identyfikator wykonania funkcji, co oznacza, że wiadomość została zapisana w logu.

Przykładowe dane wyjściowe:

executionId: 3zmhpf7l6j5b

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

Zadanie 5. Wyświetlanie logów

  • Sprawdź, czy w historii logów widać wysłane wiadomości:
gcloud functions logs read helloWorld

Jeśli udało się wykonać funkcję, w dzienniku będą widoczne komunikaty podobne do tych:

LEVEL: D NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:31.545 LOG: Function execution took 912 ms, finished with status: 'ok' LEVEL: I NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:31.533 LOG: My Cloud Function: Hello World! LEVEL: D NAME: helloWorld EXECUTION_ID: 4bgl3jw2a9i3 TIME_UTC: 2023-03-23 13:45:30.633 LOG: Function execution started Uwaga: wygenerowanie logu zajmuje około 10 minut. Możesz też wyświetlić logi, otwierając Logowanie > Eksplorator logów.

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

Zadanie 6. 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!

Ukończ kurs

Ten moduł do samodzielnego ukończenia wchodzi w skład kursów Baseline: Deploy & Develop, Baseline: Infrastructure oraz Optimizing your Google Cloud Costs. Każdy kurs składa się z zestawu powiązanych ze sobą modułów, które razem tworzą ścieżkę szkoleniową. Za ukończenie kursu otrzymujesz odznakę – stanowi ona potwierdzenie Twojego osiągnięcia. Swoje odznaki możesz ustawiać jako widoczne publicznie, a także podać do nich linki w swoim CV lub w mediach społecznościowych. Zarejestruj się na dowolny kurs zawierający ten moduł, a zostanie on automatycznie zaliczony. Wszystkie dostępne kursy znajdziesz w katalogu Google Cloud Skills Boost.

Przejdź do kolejnego modułu

Ten moduł należy do serii modułów Qwik Start. Opracowano je tak, 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: 10 sierpnia 2023 r.

Ostatni test modułu: 10 sierpnia 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.