arrow_back

Cloud Endpoints: Qwik Start

Partecipa Accedi

Cloud Endpoints: Qwik Start

1 ora 1 credito

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 Qwiklabs 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 di navigazione in incognito o privata per eseguire questo lab. Ciò previene qualsiasi conflitto tra il tuo account personale e l'account Studente, che potrebbe causare costi aggiuntivi sostenuti per il tuo account personale.

  • Tempo a disposizione per completare il lab.
  • Nota: se disponi già del tuo account o progetto Google Cloud personale, non utilizzarlo per questo lab per evitare costi aggiuntivi sul 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 Attiva l'icona di Cloud Shell nella parte superiore della console di Google Cloud.

  2. Fai clic su Continua.

  3. Occorrono alcuni istanti per eseguire il provisioning e connettersi all'ambiente. Quando sei connesso, sei già autenticato 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.

  4. (Opzionale) Puoi visualizzare il nome dell'account attivo con questo comando:

  5. gcloud auth list

    Output

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

gcloud config list project

Output

[core] project =

output di esempio

[core] project = qwiklabs-gcp-44776a13dea667a6

Recupera il codice di esempio

Inserisci il comando seguente in Cloud Shell per recuperare l'API e gli script di esempio:

git clone https://github.com/GoogleCloudPlatform/endpoints-quickstart

Passa alla directory che contiene il codice di esempio:

cd endpoints-quickstart

Eseguire 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 di GCP, 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:

Inserisci quanto segue nella directory endpoints-qwikstart:

cd scripts

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]

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 nell'area geografica us-central: gcloud app create --region="$REGION"

La creazione del backend App Engine flessibile richiede pochi minuti. 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]

Invia richieste all'API

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.

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.

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 di Google Cloud Platform e raccogliere informazioni dettagliate sugli utenti e sull'utilizzo con Stackdriver Logging.

Esegui questo script per la generazione di traffico in Cloud Shell per completare i grafici e i log.

./generate_traffic.sh

Nella Console, fai clic su Endpoints nella sezione Strumenti per vedere i grafici delle attività associate alla tua API. 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 +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 98° percentile). Questi dati forniscono una stima rapida dei tempi di risposta.

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

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

Aggiungi una quota all'API

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
    
  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 a forma di rettangolo doppio per copiare la chiave 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
    
  8. 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
    
  9. L'API ora ha un limite di cinque 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
    
  10. Dopo aver eseguito lo script per 5-10 secondi, premi Ctrl + C in Cloud Shell per interrompere lo script.

  11. 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.

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.

Passaggi successivi/Ulteriori informazioni

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: 4 settembre 2018

Ultimo test del lab: 28 giugno 2018

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