arrow_back

Cloud Endpoints: Qwik Start

Unirse Acceder
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 hora universal_currency_alt 1 crédito show_chart Introductorio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP164

Labs de autoaprendizaje de Google Cloud

Descripción general

En este lab, implementarás una API de muestra con Google Cloud Endpoints, que es un conjunto de herramientas para generar APIs desde dentro de una aplicación de App Engine. El código de muestra incluirá lo siguiente:

  • Una API de REST a la que puedes consultar para encontrar el nombre de un aeropuerto a partir de su código IATA de tres letras (por ejemplo, SFO, JFK, AMS)
  • Una secuencia de comandos que sube la configuración de la API a Cloud Endpoints
  • Una secuencia de comandos que implementa un backend flexible de Google App Engine donde se alojará la API de muestra

Una vez que hayas enviado varias solicitudes a la API de muestra, podrás ver los registros y gráficos de actividad de Cloud Endpoints. Estas son herramientas que te permiten supervisar las APIs y obtener información valiosa sobre su uso.

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
Nota: Usa una ventana de navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar su lab y acceder a la consola de Google Cloud

  1. Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab que tiene estos elementos:

    • El botón Abrir la consola de Google
    • Tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haga clic en Abrir la consola de Google. El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ve el diálogo Elegir una cuenta, haga clic en Usar otra cuenta.
  3. Si es necesario, copie el nombre de usuario del panel Detalles del lab y péguelo en el cuadro de diálogo Acceder. Haga clic en Siguiente.

  4. Copie la contraseña del panel Detalles del lab y péguela en el cuadro de diálogo de bienvenida. Haga clic en Siguiente.

    Importante: Debe usar las credenciales del panel de la izquierda. No use sus credenciales de Google Cloud Skills Boost. Nota: Usar su propia Cuenta de Google podría generar cargos adicionales.
  5. Haga clic para avanzar por las páginas siguientes:

    • Acepte los términos y condiciones.
    • No agregue opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No se registre para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Cloud en esta pestaña.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haga clic en el Menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Ícono del menú de navegación

Activa Cloud Shell

Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.

  1. Haz clic en Activar Cloud Shell Ícono de Activar Cloud Shell en la parte superior de la consola de Google Cloud.

Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. El resultado contiene una línea que declara el PROJECT_ID para esta sesión:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.

  1. Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
  1. Haz clic en Autorizar.

  2. Ahora, el resultado debería verse de la siguiente manera:

Resultado:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project

Resultado:

[core] project = <project_ID>

Resultado de ejemplo:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: Para obtener toda la documentación de gcloud, consulta la guía con la descripción general de gcloud CLI en Google Cloud.

Tarea 1. Obtén el código de muestra

  1. Ingresa el comando que se detalla a continuación en Cloud Shell para obtener las secuencias de comandos y la API de muestra:
gsutil cp gs://spls/gsp164/endpoints-quickstart.zip . unzip endpoints-quickstart.zip
  1. Dirígete al directorio que contiene el código de muestra:
cd endpoints-quickstart

Tarea 2. Implementa la configuración de Endpoints

Para publicar una API de REST en Endpoints, se requiere un archivo de configuración de OpenAPI que la describa. La API de muestra de este lab cuenta con un archivo de OpenAPI preconfigurado con el nombre openapi.yaml.

Para crear y administrar APIs y servicios, Endpoints utiliza Service Management, un servicio de infraestructura de Google Cloud. Si quieres usar Endpoints para administrar una API, debes implementar la configuración de OpenAPI correspondiente en Service Management.

A continuación, implementarás la configuración de Endpoints…

  1. En el directorio endpoints-qwikstart, ingresa el siguiente comando:
cd scripts
  1. Ejecuta la siguiente secuencia de comandos que se incluye en la muestra:
./deploy_api.sh

Cloud Endpoints usa el campo host en el archivo de configuración de OpenAPI para identificar el servicio. La secuencia de comandos deploy_api.sh configura el ID de tu proyecto de Cloud como parte del nombre configurado en el campo host. Cuando prepares un archivo de configuración de OpenAPI para tu propio servicio, deberás hacer este proceso manualmente.

A continuación, la secuencia de comandos implementará la configuración de OpenAPI en Service Management con el siguiente comando: gcloud endpoints services deploy openapi.yaml.

Mientras se crea y configura el servicio, Service Management exporta cierta información a la consola. Puedes ignorar sin riesgo las advertencias que avisan que las rutas de openapi.yaml no requieren una clave de API. Cuando el proceso finalice con éxito, verás una línea como la siguiente, que indica el ID de configuración de servicio y el nombre del servicio:

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

Haz clic en Revisar mi progreso (Check my progress) para verificar el objetivo. Implementa la configuración de Endpoints.

Tarea 3. Implementa el backend de la API

Hasta ahora, implementaste la configuración de OpenAPI en Service Management, pero aún no implementaste el código que entregará el backend de la API. La secuencia de comandos deploy_app.sh, incluida en la muestra del lab, crea un entorno flexible de App Engine en el que se alojará el backend de la API y, luego, implementa la API en App Engine.

  • Para implementar el backend de la API, asegúrate de estar en el directorio endpoints-quickstart/scripts. Luego, ejecuta la siguiente secuencia de comandos:
./deploy_app.sh

La secuencia de comandos ejecuta el siguiente comando para crear un entorno flexible en App Engine en la región : gcloud app create --region="$REGION".

La creación del backend flexible de App Engine tarda algunos minutos.

Nota: Si obtienes un mensaje de ERROR: NOT_FOUND: Unable to retrieve P4SA: from GAIA, vuelve a ejecutar la secuencia de comandos deploy_app.sh.

Una vez creado App Engine, verás el siguiente mensaje en Cloud Shell:

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

A continuación, la secuencia de comandos ejecutará el comando gcloud app deploy para implementar la API de muestra en App Engine.

Entonces, verás una línea como la siguiente en Cloud Shell:

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

La implementación de la API en App Engine tarda varios minutos. Una vez que la API se haya implementado en forma correcta en App Engine, verás una línea como la que se muestra a continuación:

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

Haz clic en Revisar mi progreso (Check my progress) para verificar el objetivo. Implementa el backend de la API.

Tarea 4. Envía solicitudes a la API

  1. Después de implementar la API de muestra, puedes enviarle solicitudes. Para hacerlo, ejecuta la siguiente secuencia de comandos:
./query_api.sh

La secuencia de comandos replica el comando curl que usa para enviar la solicitud a la API y, a continuación, muestra el resultado. Verás una línea como la que se muestra a continuación en Cloud Shell:

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

La API espera un parámetro de consulta, iataCode, que corresponda a un código de aeropuerto de IATA válido, como SEA o JFK.

  1. Para hacer la prueba, ejecuta este comando en Cloud Shell:
./query_api.sh JFK

Acabas de implementar y probar una API en Cloud Endpoints.

Haz clic en Revisar mi progreso (Check my progress) para verificar el objetivo. Envía solicitudes a la API.

Tarea 5. Realiza un seguimiento de la actividad de la API

Con las APIs implementadas con Cloud Endpoints, puedes supervisar las métricas de operaciones críticas en la consola de Cloud y obtener información sobre tus usuarios y el uso con Cloud Logging.

  1. Ejecuta la siguiente secuencia de comandos de generación de tráfico en Cloud Shell para propagar información a los grafos y registros:
./generate_traffic.sh Nota: Con esta secuencia de comandos, se generan solicitudes que se repiten indefinidamente y se agota el tiempo de espera de manera automática en 5 minutos. Para finalizar la secuencia de comandos de forma anticipada, presiona CTRL+C en Cloud Shell.
  1. En la consola, ve a Menú de navegación > Extremos > Servicios y haz clic en el servicio Airport Codes para ver los gráficos de actividad de tu servicio. Las solicitudes pueden tardar unos minutos en reflejarse en los gráficos. Mientras esperas que se muestren los datos, puedes hacer lo siguiente:
  • Si el panel lateral Permisos no está abierto, haz clic en Mostrar panel de permisos. Este panel te permite controlar quiénes tienen acceso a tu API y el nivel de acceso que se les otorga.

  • Haz clic en la pestaña Historial de implementaciones. En esta pestaña, se muestra el historial de implementaciones de tu API, que incluye la hora de implementación y la información de quién implementó el cambio.

  • Haz clic en la pestaña Descripción general. Allí, verás el tráfico entrante. Cuando la secuencia de comandos de generación de tráfico se haya ejecutado durante un minuto, desplázate hacia abajo para ver las tres líneas en el gráfico Latencia total (percentiles 50, 95 y 99). Estos datos ofrecen una estimación rápida de los tiempos de respuesta.

  1. En la parte inferior de los gráficos de Extremos, en Método, haz clic en el vínculo Ver registros para GET/airportName. La página Visor de registros muestra los registros de solicitud de la API.

  2. Presiona CTRL+C en Cloud Shell para detener la secuencia de comandos.

Tarea 6. Agrega una cuota a la API

Nota: Esta es una versión beta de Cuotas. Es posible que, en el futuro, se la modifique de tal manera que genere incompatibilidad con las versiones anteriores. Además, no está sujeta a ningún ANS ni a una política de baja.

Cloud Endpoints te permite configurar cuotas para controlar la frecuencia con la que las aplicaciones llaman a tu API. Las cuotas se pueden usar para proteger tu API del uso excesivo por parte de un solo cliente.

  1. Implementa la configuración de Endpoints que tiene una cuota:

    ./deploy_api.sh ../openapi_with_ratelimit.yaml
  2. Vuelve a implementar la aplicación para usar la nueva configuración de Endpoints (esto puede tardar unos minutos):

    ./deploy_app.sh

    Haz clic en Revisar mi progreso (Check my progress) para verificar el objetivo. Agrega una cuota a la API.

  3. En la consola, ingresa a Menú de navegación > APIs y servicios > Credenciales.

  4. Haz clic en Crear credenciales y selecciona Clave de API. Se mostrará una nueva clave de API en la pantalla.

  5. Haz clic en el ícono de Copiar en el portapapeles para copiarla en el portapapeles.

  6. En Cloud Shell, ingresa lo siguiente. Reemplaza YOUR-API-KEY por la clave de API que acabas de crear:

    export API_KEY=YOUR-API-KEY
  7. Envía una solicitud a tu API con la variable de clave de API que acabas de crear:

    ./query_api_with_key.sh $API_KEY

    Verás una línea como la que se muestra a continuación en la consola:

    curl -H 'x-api-key: AIzeSyDbdQdaSdhPMdiAuddd_FALbY7JevoMzAB' "https://example-project.appspot.com/airportName?iataCode=SFO" San Francisco International Airport
  8. Ahora, la API tiene un límite de 5 solicitudes por segundo. Ejecuta el siguiente comando para enviar tráfico a la API y activar el límite de la cuota:

    ./generate_traffic_with_key.sh $API_KEY
  9. Una vez que la secuencia de comandos se haya ejecutado durante 5 a 10 segundos, presiona CTRL+C en Cloud Shell para detenerla.

  10. Envía otra solicitud autenticada a la API:

    ./query_api_with_key.sh $API_KEY

    Verás una línea como la que se muestra a continuación en la consola:

{ "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" } ] }

Si obtienes una respuesta distinta, prueba ejecutar la secuencia de comandos generate_traffic_with_key.sh de nuevo y vuelve a intentarlo.

Haz clic en Revisar mi progreso (Check my progress) para verificar el objetivo. Crea una clave de API y prueba el límite de cuota mediante el envío de solicitudes.

¡Felicitaciones!

¡Felicitaciones! Estableciste un límite de frecuencia en tu API correctamente. Ahora también puedes configurar otros tipos de límites con distintos métodos de API, crear varios tipos de cuotas y realizar un seguimiento de qué consumidores usan las distintas APIs.

Realiza el próximo lab

Este lab forma parte de una serie llamada Qwik Starts. Estos labs están diseñados para ofrecerte una visión general de las numerosas funciones disponibles en Google Cloud. Busca "Qwik Starts" en el catálogo de labs para elegir el siguiente lab en el que desees participar.

Próximos pasos/Más información

Para obtener más información sobre las cuotas, consulta el siguiente material:

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Actualización más reciente del manual: 22 de noviembre de 2023

Prueba más reciente del lab: 22 de noviembre de 2023

Copyright 2024 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.