Quick tip: Review the prerequisites before you run the lab
Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the student account, which may cause extra charges incurred to your personal account.
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ń
Konfigurowanie środowiska programistycznego w Google Cloud: Challenge Lab
Moduł
1 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ń
GSP315
Wstęp
W Challenge Lab (module-wyzwaniu) otrzymasz scenariusz i zestaw zadań. Zamiast instrukcji krok po kroku użyjesz umiejętności zdobytych w poszczególnych modułach szkolenia, rozwiązując zadania samodzielnie. Automatyczny system oceniania (widoczny na tej stronie) poinformuje Cię, czy zadanie zostało wykonane poprawnie.
W Challenge Lab nie będziemy uczyć Cię nowych pojęć związanych z Google Cloud. Musisz za to poszerzyć nabyte umiejętności, takie jak zmiana domyślnych wartości oraz czytanie i analizowanie komunikatów o błędach, po to, by naprawiać popełnione przez siebie błędy.
Aby zdobyć 100% punktów, musisz ukończyć wszystkie zadania w określonym czasie.
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.
Scenariusz
Zaczynasz pracę jako młodszy inżynier ds. chmury w Jooli Inc. Do tej pory Twoje zadania polegały na pomaganiu zespołom w tworzeniu zasobów Google Cloud i zarządzaniu nimi.
Zakładamy, że po szkoleniu dysponujesz umiejętnościami oraz wiedzą potrzebnymi do wykonania tych zadań, dlatego nie będziesz mieć do dyspozycji przewodników krok po kroku.
Twoje wyzwanie
Do Twoich zadań należy pomoc nowemu zespołowi programistów w wykonaniu wstępnej pracy w projekcie dotyczącym przechowywania i porządkowania zdjęć, inaczej nazywanych wspomnieniami. Poproszono Cię o pomoc przy wstępnej konfiguracji środowiska programistycznego aplikacji zespołu zajmującego się wspomnieniami.
Otrzymujesz listę zadań do wykonania:
Utwórz zasobnik do przechowywania zdjęć.
Utwórz temat Pub/Sub, który będzie wykorzystywany przez przygotowaną przez Ciebie funkcję Cloud Run.
Utwórz funkcję Cloud Run.
Usuń poprzednim inżynierom dostęp do projektu ze wspomnieniami.
W Jooli Inc. obowiązują standardy, które musisz uwzględnić:
Twórz wszystkie zasoby dla regionu oraz strefy, chyba że instrukcje będą inne.
Używaj środowisk VPC projektu.
Stosuj normalne nazewnictwo typu zespół-zasób, np. możesz nazwać instancję kraken-webserver1.
Przydzielaj zasoby o ekonomicznych rozmiarach. Projekty są monitorowane, a nadmierne wykorzystanie zasobów spowoduje zakończenie projektu, który z nich korzysta (możliwe, że także Twojego), więc miej się na baczności. Dodatkowa wskazówka, którą postanowił podzielić się zespół monitorujący: korzystaj z e2-micro dla prostych maszyn wirtualnych z systemem Linux, chyba że instrukcja jest inna, i e2-medium dla Windowsa lub innych aplikacji, takich jak węzły Kubernetes.
Każde zadanie zostało szczegółowo opisane poniżej. Powodzenia!
Zadanie 1. Utworzenie zasobnika
Musisz utworzyć zasobnik o nazwie do przechowywania zdjęć.
Sprawdź, czy zasób został utworzony w regionie oraz strefie .
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Tworzenie zasobnika o nazwie
Zadanie 2. Utworzenie tematu Pub/Sub
Utwórz temat Pub/Sub o nazwie , który sprawi, że funkcja Cloud Run będzie wysyłać wiadomości.
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Utworzenie tematu Pub/Sub o nazwie
Zadanie 3. Przygotowanie funkcji Cloud Run do tworzenia miniatury
Utwórz funkcję Cloud Run o nazwie , która utworzy miniaturę z obrazu dodanego do zasobnika .
Sprawdź, czy funkcja Cloud Run używa środowiska funkcji Cloud Run (2 generacji).
Sprawdź też, czy zasób został utworzony w regionie oraz strefie .
Utwórz funkcję Cloud Run o nazwie
Uwaga:
ta funkcja Cloud Run musi być wykonywana za każdym razem, gdy w zasobniku utworzonym w ramach zadania 1 zostaje utworzony obiekt.
W trakcie procesu funkcja może poprosić o włączenie interfejsów API.
W takim przypadku należy włączyć wszystkie żądane interfejsy API.
Pamiętaj, aby ustawić Punkt wejścia (funkcję do wykonania) na , a Aktywator na Cloud Storage.
Dodaj ten kod do index.js:
const functions = require('@google-cloud/functions-framework');
const crc32 = require("fast-crc32c");
const { Storage } = require('@google-cloud/storage');
const gcs = new Storage();
const { PubSub } = require('@google-cloud/pubsub');
const imagemagick = require("imagemagick-stream");
functions.cloudEvent('{{{ project_0.startup_script.function }}}', cloudEvent => {
const event = cloudEvent.data;
console.log(`Event: ${event}`);
console.log(`Hello ${event.bucket}`);
const fileName = event.name;
const bucketName = event.bucket;
const size = "64x64"
const bucket = gcs.bucket(bucketName);
const topicName = "{{{ project_0.startup_script.topic }}}";
const pubsub = new PubSub();
if ( fileName.search("64x64_thumbnail") == -1 ){
// doesn't have a thumbnail, get the filename extension
var filename_split = fileName.split('.');
var filename_ext = filename_split[filename_split.length - 1];
var filename_without_ext = fileName.substring(0, fileName.length - filename_ext.length );
if (filename_ext.toLowerCase() == 'png' || filename_ext.toLowerCase() == 'jpg'){
// only support png and jpg at this point
console.log(`Processing Original: gs://${bucketName}/${fileName}`);
const gcsObject = bucket.file(fileName);
let newFilename = filename_without_ext + size + '_thumbnail.' + filename_ext;
let gcsNewObject = bucket.file(newFilename);
let srcStream = gcsObject.createReadStream();
let dstStream = gcsNewObject.createWriteStream();
let resize = imagemagick().resize(size).quality(90);
srcStream.pipe(resize).pipe(dstStream);
return new Promise((resolve, reject) => {
dstStream
.on("error", (err) => {
console.log(`Error: ${err}`);
reject(err);
})
.on("finish", () => {
console.log(`Success: ${fileName} → ${newFilename}`);
// set the content-type
gcsNewObject.setMetadata(
{
contentType: 'image/'+ filename_ext.toLowerCase()
}, function(err, apiResponse) {});
pubsub
.topic(topicName)
.publisher()
.publish(Buffer.from(newFilename))
.then(messageId => {
console.log(`Message ${messageId} published.`);
})
.catch(err => {
console.error('ERROR:', err);
});
});
});
}
else {
console.log(`gs://${bucketName}/${fileName} is not an image I can handle`);
}
}
else {
console.log(`gs://${bucketName}/${fileName} already has a thumbnail`);
}
});
Uwaga: jeśli pojawi się błąd „Odmowa dostępu” z informacją, że rozpowszechnienie uprawnień w agencie usługi może zająć kilka minut, poczekaj parę chwil i spróbuj ponownie, Sprawdź, czy odpowiednie role (Agent usługi Eventarc, Odbiorca zdarzeń Eventarc, Twórca tokenów konta usługi i Publikujący w Pub/Sub) są przypisane do prawidłowych kont usługi.
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Sprawdzenie funkcji Cloud Run
Zadanie 4. Test infrastruktury
Do zasobnika musisz przesłać jeden plik graficzny w formacie JPG albo PNG.
Prześlij plik graficzny w formacie PNG lub JPG do zasobnika .
Uwaga: możesz też pobrać obraz https://storage.googleapis.com/cloud-training/gsp315/map.jpg na swoją maszynę i przesłać go do zasobnika.
Po chwili powinien wyświetlić się obraz miniatury (kliknij ODŚWIEŻ w szczegółach zasobnika).
Zadanie 5. Usunięcie poprzedniego inżyniera ds. chmury
W projekcie zobaczysz 2 zdefiniowanych użytkowników:
siebie ( z przypisaną rolą właściciela) oraz
poprzedniego inżyniera ds. chmury ( z przypisaną rolą wyświetlającego).
Odbierz poprzedniemu inżynierowi ds. chmury dostęp do projektu.
Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.
Usunięcie poprzedniego inżyniera ds. chmury
…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 września 2024 r.
Ostatni test modułu: 10 września 2024 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.
Labs create a Google Cloud project and resources for a fixed time
Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
On the top left of your screen, click Start lab to begin
Use private browsing
Copy the provided Username and Password for the lab
Click Open console in private mode
Sign in to the Console
Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
Accept the terms, and skip the recovery resource page
Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project
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
One lab at a time
Confirm to end all existing labs and start this one
Use private browsing to run the lab
Use an Incognito or private browser window to run this lab. This
prevents any conflicts between your personal account and the Student
account, which may cause extra charges incurred to your personal account.
Ten Challenge Lab (moduł-wyzwanie) sprawdza Twoją wiedzę i umiejętności zdobyte w poszczególnych modułach kursu o podstawowych zadaniach dotyczących infrastruktury w Google Cloud, który pozwala zdobyć odznakę umiejętności. Zanim go rozpoczniesz, musisz zapoznać się z pozostałymi modułami dostępnymi w kursie.
Czas trwania:
Konfiguracja: 0 min
·
Dostęp na 60 min
·
Ukończono w 60 min