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.
Metti alla prova le tue conoscenze e condividile con la nostra community.
done
Accedi a oltre 700 lab pratici, badge delle competenze e corsi
Configura un ambiente di sviluppo di app su Google Cloud: Challenge Lab
Lab
1 ora
universal_currency_alt
1 credito
show_chart
Introduttivi
info
Questo lab potrebbe incorporare strumenti di AI a supporto del tuo apprendimento.
Metti alla prova le tue conoscenze e condividile con la nostra community.
done
Accedi a oltre 700 lab pratici, badge delle competenze e corsi
GSP315
Introduzione
In un Challenge Lab ti vengono presentati uno scenario e un insieme di attività. Anziché seguire le istruzioni passo passo, utilizzerai le competenze apprese dai lab durante il corso per capire come completare le attività autonomamente. Tramite un sistema di valutazione automatico (visibile in questa pagina), riceverai un feedback che ti consentirà di capire se hai completato le attività in modo corretto.
Quando partecipi a un Challenge Lab non ricevi alcuna formazione sui concetti di Google Cloud. Dovrai estendere le competenze che hai appreso, ad esempio modificare i valori predefiniti e leggere ed esaminare i messaggi di errore per correggere i tuoi errori.
Per ottenere un punteggio del 100% devi completare tutte le attività correttamente nel tempo stabilito.
Leggi le seguenti istruzioni. I lab sono a tempo e non possono essere messi in pausa. Il timer si avvia quando fai clic su Avvia lab e ti mostra per quanto tempo avrai a disposizione le risorse Google Cloud.
Con questo lab pratico avrai la possibilità di completare le attività in prima persona, in un ambiente cloud reale e non di simulazione o demo. Riceverai delle nuove credenziali temporanee che potrai utilizzare per accedere a Google Cloud per la durata del lab.
Per completare il lab, avrai bisogno di:
Accesso a un browser internet standard (Chrome è il browser consigliato).
Nota: utilizza una finestra del browser in incognito o privata per eseguire questo lab. Ciò evita eventuali conflitti tra il tuo account personale e l'account Studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.
È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
Nota: se hai già un account o un progetto Google Cloud personale, non utilizzarlo per questo lab per evitare addebiti aggiuntivi al tuo account.
Scenario della sfida
Hai appena iniziato a svolgere l'incarico di Junior Cloud Engineer presso Jooli Inc. Fino a questo momento hai aiutato i team a creare e gestire le risorse di Google Cloud.
Si presume che tu abbia le competenze e le conoscenze necessarie per svolgere queste attività, quindi non ti verrà fornita una guida passo passo.
La sfida
Ti viene chiesto di aiutare un team di sviluppo appena formato a eseguire alcune attività iniziali per un nuovo progetto chiamato "ricordi", relativo all'archiviazione e all'organizzazione di fotografie. Ti è stato chiesto di aiutare il team "ricordi" a eseguire la configurazione iniziale dell'ambiente di sviluppo delle applicazioni.
Per farlo, devi completare le seguenti attività:
Creare un bucket per l'archiviazione delle fotografie.
Creare un argomento Pub/Sub che verrà utilizzato da una funzione Cloud Run creata da te.
Creare una funzione Cloud Run.
Rimuovere l'accesso del Cloud Engineer precedente al progetto "ricordi".
Alcuni standard di Jooli Inc. che devi rispettare:
Crea tutte le risorse nella regione e nella zona , se non diversamente indicato.
Utilizza i VPC del progetto.
Il formato del nome solitamente è team-risorsa. Ad esempio, un'istanza potrebbe chiamarsi kraken-webserver1.
Alloca risorse di dimensioni economicamente convenienti. I progetti sono monitorati e un utilizzo eccessivo di risorse potrebbe comportare l'interruzione del progetto contenitore (incluso il tuo), quindi fai attenzione. Questa è la guida che il team di monitoraggio è disposto a condividere; se non indicato, utilizza e2-micro per piccole VM Linux e e2-medium per Windows o altre applicazioni come i nodi Kubernetes.
Ogni attività è descritta dettagliatamente di seguito. In bocca al lupo!
Attività 1: crea un bucket
Devi creare un bucket denominato per l'archiviazione delle fotografie.
Assicurati che la risorsa sia creata nella regione e nella zona .
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Crea un bucket denominato
Attività 2: crea un argomento Pub/Sub
Crea un argomento Pub/Sub denominato per consentire alla funzione Cloud Run di inviare messaggi.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Crea un argomento Pub/Sub denominato
Attività 3: crea la funzione Cloud Run thumbnail
Crea una funzione Cloud Run che creerà una miniatura da un'immagine aggiunta al bucket .
Assicurati che la funzione Cloud Run utilizzi l'ambiente della funzione Cloud Run (di seconda generazione).
Assicurati che la risorsa sia creata nella regione e nella zona .
Crea una funzione Cloud Run chiamata
Nota:
la funzione Cloud Run deve essere eseguita ogni volta che viene creato un oggetto nel bucket creato nell'Attività 1.
Durante il processo la funzione Cloud Run potrebbe richiedere l'autorizzazione per abilitare le API.
Abilita ciascuna delle API necessarie come richiesto.
Assicurati di impostare il punto di ingresso (funzione da eseguire) su e il trigger su Cloud Storage.
Aggiungi il seguente codice a 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`);
}
});
Nota: se ricevi un errore di autorizzazione negata che indica che potrebbero essere richiesti alcuni minuti prima che tutte le autorizzazioni necessarie vengano propagate all'agente di servizio, attendi alcuni minuti e riprova. Assicurati di avere assegnato i ruoli pertinenti (Agente di servizio Eventarc, Destinatario di eventi Eventarc, Creatore token service account e Pub/Sub Publisher) ai service account corretti.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Verifica la funzione Cloud Run
Attività 4: testa l'infrastruttura
Devi caricare un'immagine JPG o PNG nel bucket
Carica un'immagine PNG o JPG nel bucket .
Nota: in alternativa, scarica questa immagine https://storage.googleapis.com/cloud-training/gsp315/map.jpg sulla tua macchina.
Quindi caricala nel bucket.
Poco dopo vedrai un'immagine in miniatura (utilizza AGGIORNA nei dettagli del bucket).
Attività 5: rimuovi il Cloud Engineer precedente
Vedrai che ci sono due utenti definiti nel progetto.
Uno è il tuo account ( con il ruolo di Proprietario).
L'altro è il precedente Cloud Engineer ( con il ruolo di Visualizzatore).
Rimuovi l'accesso del Cloud Engineer precedente dal progetto.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Rimuovi il Cloud Engineer precedente
… per utilizzare al meglio le tecnologie Google Cloud. I nostri corsi ti consentono di sviluppare competenze tecniche e best practice per aiutarti a metterti subito al passo e avanzare nel tuo percorso di apprendimento. Offriamo vari livelli di formazione, dal livello base a quello avanzato, con opzioni di corsi on demand, dal vivo e virtuali, in modo da poter scegliere il più adatto in base ai tuoi impegni. Le certificazioni ti permettono di confermare e dimostrare le tue abilità e competenze relative alle tecnologie Google Cloud.
Ultimo aggiornamento del manuale: 10 settembre 2024
Ultimo test del lab: 10 settembre 2024
Copyright 2025 Google LLC Tutti i diritti riservati. Google e il logo Google sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle rispettive società a cui sono associati.
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
Questi contenuti non sono al momento disponibili
Ti invieremo una notifica via email quando sarà disponibile
Bene.
Ti contatteremo via email non appena sarà disponibile
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.
Questo Challenge Lab mette alla prova le tue competenze e conoscenze acquisite nei lab del badge delle competenze Perform Foundational Infrastructure Tasks in Google Cloud. Dovresti acquisire familiarità con il loro contenuto prima di iniziare questo lab.
Durata:
Configurazione in 0 m
·
Accesso da 60 m
·
Completamento in 60 m