Caricamento in corso…
Nessun risultato trovato.

Google Cloud Skills Boost

Applica le tue competenze nella console Google Cloud


Accedi a oltre 700 lab 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.
Accedi a oltre 700 lab e corsi

GSP315

Logo dei self-paced lab di Google Cloud

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.

Questo lab è consigliato per gli studenti che si sono iscritti al badge delle competenze Configura un ambiente di sviluppo di app su Google Cloud. Accetti la sfida?

Configurazione

Prima di fare clic sul pulsante Avvia lab

Leggi le seguenti istruzioni. I lab sono a tempo e non possono essere messi in pausa. Il timer si avvia quando fai clic su Inizia il 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 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: per eseguire questo lab, utilizza una finestra del browser in modalità di navigazione in incognito (consigliata) o privata. Ciò evita 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: utilizza solo l'account studente per questo lab. Se utilizzi un altro account Google Cloud, potrebbero essere addebitati costi su quell'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 miniatura da una funzione Cloud Run

Crea la funzione

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 .

  1. Crea una funzione Cloud Run (2ª generazione) denominata utilizzando Node.js 22.
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 o per concedere ruoli ai service account. Abilita ciascuna delle API richieste e concedi i ruoli come richiesto.
  1. Assicurati di impostare l'entry point (funzione da eseguire) su e il trigger su Cloud Storage.

  2. Aggiungi il seguente codice a index.js:

const functions = require('@google-cloud/functions-framework'); const { Storage } = require('@google-cloud/storage'); const { PubSub } = require('@google-cloud/pubsub'); const sharp = require('sharp'); functions.cloudEvent('{{{ project_0.startup_script.function }}}', async cloudEvent => { const event = cloudEvent.data; console.log(`Event: ${JSON.stringify(event)}`); console.log(`Hello ${event.bucket}`); const fileName = event.name; const bucketName = event.bucket; const size = "64x64"; const bucket = new Storage().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 const filename_split = fileName.split('.'); const filename_ext = filename_split[filename_split.length - 1].toLowerCase(); const filename_without_ext = fileName.substring(0, fileName.length - filename_ext.length - 1); // fix sub string to remove the dot if (filename_ext === 'png' || filename_ext === 'jpg' || filename_ext === 'jpeg') { // only support png and jpg at this point console.log(`Processing Original: gs://${bucketName}/${fileName}`); const gcsObject = bucket.file(fileName); const newFilename = `${filename_without_ext}_64x64_thumbnail.${filename_ext}`; const gcsNewObject = bucket.file(newFilename); try { const [buffer] = await gcsObject.download(); const resizedBuffer = await sharp(buffer) .resize(64, 64, { fit: 'inside', withoutEnlargement: true, }) .toFormat(filename_ext) .toBuffer(); await gcsNewObject.save(resizedBuffer, { metadata: { contentType: `image/${filename_ext}`, }, }); console.log(`Success: ${fileName} → ${newFilename}`); await pubsub .topic(topicName) .publishMessage({ data: Buffer.from(newFilename) }); console.log(`Message published to ${topicName}`); } 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`); } });
  1. Aggiungi il seguente codice a package.json:
{ "name": "thumbnails", "version": "1.0.0", "description": "Create Thumbnail of uploaded image", "scripts": { "start": "node index.js" }, "dependencies": { "@google-cloud/functions-framework": "^3.0.0", "@google-cloud/pubsub": "^2.0.0", "@google-cloud/storage": "^6.11.0", "sharp": "^0.32.1" }, "devDependencies": {}, "engines": { "node": ">=4.3.2" } } 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 appropriati (Eventarc Service Agent, Eventarc Event Receiver, Service Account Token Creator e Pub/Sub Publisher) ai service account corretti.

Testa la funzione

  • Carica un'immagine PNG o JPG a tua scelta 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 nella pagina dei dettagli del bucket).

Dopo aver caricato il file immagine, puoi fare clic qui sotto per controllare i tuoi progressi. Non devi attendere la creazione dell'immagine in miniatura.

Facoltativo: se è stato eseguito correttamente il deployment della funzione, ma non vedi l'immagine in miniatura nel bucket, puoi verificare che la scheda Trigger mostri le informazioni sul trigger fornite in precedenza per la funzione, che potrebbero non essere state salvate correttamente se si erano verificati errori. Se non vedi il trigger Cloud Storage nella scheda Trigger della funzione, puoi ricrearlo (consulta la pagina della documentazione Crea un trigger per i servizi) e caricare un nuovo file per ripetere il test (aggiorna la pagina dopo aver aggiunto il nuovo file).

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Verifica la funzione Cloud Run

Attività 4: 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).
  1. 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

Complimenti!

Configura un ambiente di sviluppo di app su Google Cloud

Prossimi passi/Scopri di più

Questo badge delle competenze fa parte dei percorsi di apprendimento Esegui le attività dell'infrastruttura di base in Google Cloud e Cloud Architect di Google. Se hai già completato gli altri badge delle competenze nel tuo percorso di apprendimento, nel catalogo di Google Cloud Skills Boost troverai altri badge delle competenze a cui iscriverti.

Formazione e certificazione Google Cloud

… 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: 8 marzo 2025

Ultimo test del lab: 8 marzo 2025

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.

Prima di iniziare

  1. I lab creano un progetto e risorse Google Cloud per un periodo di tempo prestabilito
  2. I lab hanno un limite di tempo e non possono essere messi in pausa. Se termini il lab, dovrai ricominciare dall'inizio.
  3. In alto a sinistra dello schermo, fai clic su Inizia il lab per iniziare

Utilizza la navigazione privata

  1. Copia il nome utente e la password forniti per il lab
  2. Fai clic su Apri console in modalità privata

Accedi alla console

  1. Accedi utilizzando le tue credenziali del lab. L'utilizzo di altre credenziali potrebbe causare errori oppure l'addebito di costi.
  2. Accetta i termini e salta la pagina di ripristino delle risorse
  3. Non fare clic su Termina lab a meno che tu non abbia terminato il lab o non voglia riavviarlo, perché il tuo lavoro verrà eliminato e il progetto verrà rimosso

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

Un lab alla volta

Conferma per terminare tutti i lab esistenti e iniziare questo

Utilizza la navigazione privata per eseguire il lab

Utilizza una finestra del browser in incognito o privata per eseguire questo lab. In questo modo eviterai eventuali conflitti tra il tuo account personale e l'account Studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.