arrow_back

Cloud Endpoints: Qwik Start

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

Cloud Endpoints: Qwik Start

Lab 1 ora universal_currency_alt 1 credito show_chart Introduttivi
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP164

Laboratori autogestiti Google Cloud

Panoramica

In questo lab eseguirai il deployment di un'API di esempio con Google Cloud Endpoints, un set di strumenti per la generazione di API dall'interno di un'applicazione App Engine. Il codice di esempio includerà:

  • Un'API REST su cui puoi eseguire una query per trovare il nome di un aeroporto utilizzando il codice IATA di tre lettere (ad esempio, SFO, JFK, AMS).
  • Uno script che carica la configurazione dell'API in Cloud Endpoints.
  • Uno script che esegue il deployment di un backend Google App Engine flessibile per ospitare l'API di esempio.

Dopo aver inviato alcune richieste all'API di esempio, puoi visualizzare i grafici e i log delle attività di Cloud Endpoints. Si tratta strumenti che consentono di monitorare le API e visualizzare informazioni analitiche sul loro utilizzo.

Configurazione e requisiti

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.

Come avviare il lab e accedere alla console Google Cloud

  1. Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si apre una finestra popup per permetterti di selezionare il metodo di pagamento. A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:

    • Pulsante Apri console Google
    • Tempo rimanente
    • Credenziali temporanee da utilizzare per il lab
    • Altre informazioni per seguire questo lab, se necessario
  2. Fai clic su Apri console Google. Il lab avvia le risorse e apre un'altra scheda con la pagina di accesso.

    Suggerimento: disponi le schede in finestre separate posizionate fianco a fianco.

    Note: se visualizzi la finestra di dialogo Scegli un account, fai clic su Utilizza un altro account.
  3. Se necessario, copia il Nome utente dal riquadro Dettagli lab e incollalo nella finestra di dialogo di accesso. Fai clic su Avanti.

  4. Copia la Password dal riquadro Dettagli lab e incollala nella finestra di dialogo di benvenuto. Fai clic su Avanti.

    Importante: devi utilizzare le credenziali presenti nel riquadro di sinistra. Non utilizzare le tue credenziali Google Cloud Skills Boost. Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi.
  5. Fai clic nelle pagine successive:

    • Accetta i termini e le condizioni.
    • Non inserire opzioni di recupero o l'autenticazione a due fattori, perché si tratta di un account temporaneo.
    • Non registrarti per le prove gratuite.

Dopo qualche istante, la console Google Cloud si apre in questa scheda.

Nota: puoi visualizzare il menu con un elenco di prodotti e servizi Google Cloud facendo clic sul menu di navigazione in alto a sinistra. Icona menu di navigazione

Attiva Cloud Shell

Cloud Shell è una macchina virtuale in cui sono caricati strumenti per sviluppatori. Offre una home directory permanente da 5 GB e viene eseguita su Google Cloud. Cloud Shell fornisce l'accesso da riga di comando alle risorse Google Cloud.

  1. Fai clic su Attiva Cloud Shell Icona Attiva Cloud Shell nella parte superiore della console Google Cloud.

Quando la connessione è attiva, l'autenticazione è già avvenuta e il progetto è impostato sul tuo PROJECT_ID. L'output contiene una riga che dichiara il PROJECT_ID per questa sessione:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento tramite tasto Tab.

  1. (Facoltativo) Puoi visualizzare il nome dell'account attivo con questo comando:
gcloud auth list
  1. Fai clic su Autorizza.

  2. L'output dovrebbe avere ora il seguente aspetto:

Output:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facoltativo) Puoi elencare l'ID progetto con questo comando:
gcloud config list project

Output:

[core] project = <project_ID>

Output di esempio:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: per la documentazione completa di gcloud, in Google Cloud, fai riferimento alla Panoramica dell'interfaccia a riga di comando gcloud.

Attività 1: recupera il codice di esempio

  1. Inserisci il comando seguente in Cloud Shell per recuperare l'API e gli script di esempio:
gsutil cp gs://spls/gsp164/endpoints-quickstart.zip . unzip endpoints-quickstart.zip
  1. Passa alla directory che contiene il codice di esempio:
cd endpoints-quickstart

Attività 2: esegui il deployment della configurazione di Endpoints

Per pubblicare un'API REST in Endpoints, è necessario un file di configurazione OpenAPI che descriva l'API. L'API di esempio del lab utilizza un file OpenAPI preconfigurato denominato openapi.yaml.

Endpoints utilizza Google Service Management, un servizio di infrastruttura della piattaforma Google Cloud, per creare e gestire le API e i servizi. Per utilizzare Endpoints per la gestione di un'API, devi eseguire il deployment della configurazione OpenAPI dell'API in Service Management.

Per eseguire il deployment della configurazione di Endpoints:

  1. Inserisci quanto segue nella directory endpoints-qwikstart:
cd scripts
  1. Esegui lo script seguente, che è incluso nell'esempio:
./deploy_api.sh

Cloud Endpoints utilizza il campo host del file di configurazione OpenAPI per identificare il servizio. Lo script deploy_api.sh imposta l'ID del progetto Cloud come parte del nome configurato nel campo host Quando preparerai un file di configurazione OpenAPI per un tuo servizio, dovrai eseguire questa operazione manualmente.

Lo script quindi esegue il deployment della configurazione OpenAPI in Service Management utilizzando il comando: gcloud endpoints services deploy openapi.yaml

Durante la creazione e la configurazione del servizio, Service Management visualizza alcune informazioni nella console. Puoi ignorare tranquillamente gli avvisi sui percorsi presenti in openapi.yaml che non richiedono una chiave API. Al termine, viene visualizzata una riga simile alla seguente, in cui sono visualizzati l'ID configurazione del servizio e il nome del servizio:

Service Configuration [2017-02-13-r2] uploaded for service [airports-api.endpoints.example-project.cloud.goog]

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Esegui il deployment della configurazione di Endpoints.

Attività 3: esegui il deployment del backend dell'API

Fino a questo punto, hai eseguito il deployment della configurazione OpenAPI in Service Management, ma non hai ancora eseguito il deployment del codice soggiacente al backend dell'API. Lo script deploy_app.sh incluso nell'esempio del lab crea un ambiente App Engine flessibile per ospitare il backend dell'API, quindi lo script esegue il deployment dell'API in App Engine.

  • Per eseguire il deployment del backend dell'API, assicurati di essere nella directory endpoints-quickstart/scripts. Quindi, esegui lo script seguente:
./deploy_app.sh

Lo script esegue il comando seguente per creare un ambiente App Engine flessibile nella regione : gcloud app create --region="$REGION"

La creazione del backend App Engine flessibile richiede pochi minuti.

Nota: se ricevi un messaggio ERROR: NOT_FOUND: Unable to retrieve P4SA: from GAIA, esegui nuovamente lo script deploy_app.sh.

Dopo la creazione dell'App Engine, in Cloud Shell viene visualizzato quanto segue:

Success! The app is now created. Please use `gcloud app deploy` to deploy your first app.

Lo script procede con l'esecuzione del comando gcloud app deploy per eseguire il deployment dell'API di esempio in App Engine.

In Cloud Shell verrà visualizzata una riga simile alla seguente:

Deploying ../app/app_template.yaml...You are about to deploy the following services:

Il deployment dell'API in App Engine richiede alcuni minuti. Una volta che il deployment dell'API in App Engine è stato eseguito correttamente, verrà visualizzata una riga simile alla seguente:

Deployed service [default] to [https://example-project.appspot.com]

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Esegui il deployment del backend dell'API.

Attività 4: invia richieste all'API

  1. Una volta eseguito il deployment, puoi inviare all'API di esempio richieste eseguendo lo script seguente:
./query_api.sh

Lo script visualizza sullo schermo l'output del comando curl che utilizza per inviare una richiesta all'API, quindi mostra il risultato. Il risultato visualizzato in Cloud Shell sarà simile al seguente:

curl "https://example-project.appspot.com/airportName?iataCode=SFO" San Francisco International Airport

L'API prevede un parametro di ricerca, iataCode, impostato su un codice aeroporto IATA valido, ad esempio SEA o JFK.

  1. Per il test, esegui questo esempio in Cloud Shell:
./query_api.sh JFK

Hai eseguito il deployment e il test di un'API in Cloud Endpoints.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Invia richieste all'API.

Attività 5: monitora l'attività dell'API

Per le API di cui esegui il deployment con Cloud Endpoints, puoi monitorare le metriche delle operazioni critiche nella console Cloud e raccogliere informazioni dettagliate sugli utenti e sull'utilizzo con Cloud Logging.

  1. Esegui questo script per la generazione di traffico in Cloud Shell per completare i grafici e i log:
./generate_traffic.sh Nota: questo script genera le richieste in un loop e il timeout si verifica automaticamente dopo 5 minuti. Per terminare lo script in anticipo, premi Ctrl + C in Cloud Shell.
  1. Nella console, vai su Menu di navigazione > Endpoints > Servizi e fai clic sul servizio Airport Codes per guardare i grafici di attività del tuo servizio. La visualizzazione dei dati relativi alle richieste nei grafici può richiedere alcuni minuti. Mentre attendi che i dati vengano visualizzati, puoi eseguire queste operazioni:
  • Se il riquadro laterale Autorizzazioni non è aperto, fai clic su Mostra riquadro delle autorizzazioni. Il riquadro Autorizzazioni consente di stabilire chi può accedere all'API e il livello di accesso.

  • Fai clic sulla scheda Cronologia deployment. La scheda visualizza una cronologia dei deployment dell'API e include dati come l'ora del deployment e chi ha eseguito il deployment della modifica.

  • Fai clic sulla scheda Panoramica. Qui puoi vedere il traffico in entrata. Trascorso un minuto dall'inizio dell'esecuzione dello script di generazione del traffico, scorri verso il basso per visualizzare le tre linee sul grafico della latenza totale (50°, 95° e 99° percentile). Questi dati forniscono una stima rapida dei tempi di risposta.

  1. Nella parte inferiore dei grafici di Endpoints, in Metodo, fai clic sul link Visualizza i log per GET/airportName. Nella pagina del visualizzatore log sono visualizzati i log delle richieste per l'API.

  2. Premi Ctrl + C in Cloud Shell per interrompere lo script.

Attività 6: aggiungi una quota all'API

Nota: questa è una versione beta delle quote. Questa funzionalità potrebbe essere modificata in modi incompatibili con le versioni precedenti e non è soggetta a SLA (accordo sul livello del servizio) né a norme sul ritiro.

Cloud Endpoints permette di impostare le quote in modo da consentire il controllo della frequenza con cui le applicazioni possono chiamare l'API. Puoi usare le quote per proteggere l'API dall'utilizzo eccessivo da parte di un solo client.

  1. Esegui il deployment della configurazione di Endpoints che prevede una quota:

    ./deploy_api.sh ../openapi_with_ratelimit.yaml
  2. Esegui di nuovo il deployment dell'app in modo da utilizzare la nuova configurazione di Endpoints (questa operazione può richiedere alcuni minuti):

    ./deploy_app.sh

    Fai clic su Controlla i miei progressi per verificare l'obiettivo. Aggiungi una quota all'API.

  3. Nella console, vai a Menu di navigazione > API e servizi > Credenziali.

  4. Fai clic su Crea credenziali e scegli Chiave API. Sullo schermo viene visualizzata una nuova chiave API.

  5. Fai clic sull'icona Copia negli appunti per copiarla negli appunti.

  6. In Cloud Shell, digita quanto segue. Sostituisci YOUR-API-KEY con la chiave API che hai appena creato:

    export API_KEY=YOUR-API-KEY
  7. Invia una richiesta all'API utilizzando la variabile chiave API che hai appena creato:

    ./query_api_with_key.sh $API_KEY

    Nella console verrà visualizzato un risultato simile al seguente:

    curl -H 'x-api-key: AIzeSyDbdQdaSdhPMdiAuddd_FALbY7JevoMzAB' "https://example-project.appspot.com/airportName?iataCode=SFO" San Francisco International Airport
  8. L'API ora ha un limite di 5 richieste al secondo. Esegui il comando seguente per inviare il traffico all'API e attivare il limite stabilito dalla quota:

    ./generate_traffic_with_key.sh $API_KEY
  9. Dopo aver eseguito lo script per 5-10 secondi, premi Ctrl + C in Cloud Shell per interrompere lo script.

  10. Invia un'altra richiesta autenticata all'API:

    ./query_api_with_key.sh $API_KEY

    Nella console verrà visualizzato un risultato simile al seguente:

{ "code": 8, "message": "Insufficient tokens for quota 'airport_requests' and limit 'limit-on-airport-requests' of service 'example-project.appspot.com' for consumer 'api_key:AIzeSyDbdQdaSdhPMdiAuddd_FALbY7JevoMzAB'.", "details": [ { "@type": "type.googleapis.com/google.rpc.DebugInfo", "stackEntries": [], "detail": "internal" } ] }

Se viene visualizzata una risposta diversa, prova a eseguire di nuovo lo script generate_traffic_with_key.sh e prova di nuovo.

Fai clic su Controlla i miei progressi per verificare l'obiettivo. Crea la chiave API e verifica il limite di quota inviando le richieste.

Complimenti!

Complimenti! Hai impostato correttamente la limitazione di frequenza dell'API. Puoi anche impostare limiti variabili su metodi diversi dell'API, creare più tipi di quote e tenere traccia di quali consumer utilizzano quali API.

Segui il prossimo lab

Questo lab fa parte di una serie chiamata Qwik Starts. Si tratta di lab pensati per offrirti un piccolo assaggio delle diverse funzionalità disponibili in Google Cloud. Cerca "Qwik Starts" nel catalogo dei lab per trovare il prossimo lab da seguire.

Prossimi passi/Scopri di più

Per ulteriori informazioni sulle quote, consulta queste pagine:

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: 22 novembre 2023

Ultimo test del lab: 22 novembre 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.