arrow_back

Configurare un ambiente di sviluppo di app su Google Cloud: Challenge Lab

Accedi Partecipa
Metti alla prova le tue conoscenze e condividile con la nostra community.
done
Accedi a oltre 700 lab pratici, badge delle competenze e corsi

Configurare 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

Laboratori autogestiti 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 Configurare 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 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 Functions creata da te.
  • Creare una funzione Cloud Functions.
  • 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 Functions 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 Functions thumbnail

Crea una funzione Cloud Functions che creerà una miniatura da un'immagine aggiunta al bucket . Assicurati che la funzione Cloud Functions utilizzi l'ambiente di seconda generazione. Assicurati che la risorsa sia creata nella regione e nella zona .

  1. Crea una funzione Cloud Functions denominata
Nota: la funzione Cloud Functions deve essere eseguita ogni volta che viene creato un oggetto nel bucket creato nell'Attività 1. Durante il processo la funzione Cloud Functions potrebbe richiedere l'autorizzazione per abilitare le API. Abilita ciascuna delle API necessarie come richiesto.
  1. Assicurati di impostare il punto di ingresso (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 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`); } });
  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": "^5.0.0", "fast-crc32c": "1.0.4", "imagemagick-stream": "4.1.1" }, "devDependencies": {}, "engines": { "node": ">=4.3.2" } }

Verifica che la miniatura sia stata creata.

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

Attività 4: testa l'infrastruttura

Devi caricare un'immagine JPG o PNG nel bucket

  1. 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.
  1. 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).
  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!

Configurare un ambiente di sviluppo di app su Google Cloud

Guadagna il tuo prossimo badge delle competenze

Questo self-paced lab fa parte del badge delle competenze Configurare un ambiente di sviluppo di app su Google Cloud. Il completamento di questo badge delle competenze ti permette di ottenere il badge indicato in precedenza come riconoscimento per l'obiettivo raggiunto. Condividi il badge sul tuo CV e sulle piattaforme social e annuncia il risultato che hai raggiunto utilizzando #GoogleCloudBadge.

Questo badge delle competenze fa parte dei percorsi di apprendimento Perform Foundational Infrastructure Tasks 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: 21 marzo 2024

Ultimo test del lab: 19 settembre 2023

Copyright 2024 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.

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