Guía de inicio rápido con App Engine

En esta guía de inicio rápido, se presenta Error Reporting y se te muestra cómo hacer lo siguiente:

  • Implementar una aplicación de Python para App Engine con Cloud Shell
  • Ver un error en tu aplicación con Error Reporting
  • Configurar Error Reporting para enviar notificaciones

Prueba el instructivo interactivo de tres minutos en Google Cloud Console.
(haz clic en Iniciar en la columna Introducción de Error Reporting).

Antes de comenzar

  1. Accede a tu Cuenta de Google.

    Si todavía no tienes una cuenta, regístrate para obtener una nueva.

  2. En la página Selector de proyectos de Cloud Console, selecciona o crea un proyecto de Cloud.

    Ir a la página Selector de proyectos

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud. Obtén información sobre cómo confirmar que tienes habilitada la facturación para tu proyecto.

  4. Abre Cloud Shell para tu proyecto. Mientras se inicia, se muestra el mensaje Conectando.

    Abre Cloud Shell

Comenzar

En esta sección descargarás y, luego, implementarás una aplicación de App Engine:

  1. Descarga y configura la aplicación desde el proyecto de GitHub python-docs-samples:

    1. Clona el proyecto en Cloud Shell:

          git clone https://github.com/GoogleCloudPlatform/python-docs-samples
          

      Git muestra un mensaje similar al siguiente:

          git clone https://github.com/GoogleCloudPlatform/python-docs-samples
          Cloning into 'python-docs-samples'...
          
    2. Crea un entorno aislado de Python y actívalo:

          cd python-docs-samples/appengine/standard_python37/hello_world
          virtualenv env -p python3
          source env/bin/activate
          
    3. Instala las dependencias:

          pip install -r requirements.txt
          
  2. Verifica que la aplicación se instale y configure correctamente:

    1. Ejecute la aplicación:

          python main.py
          
    2. Para ver la aplicación en una página web local, haz clic en el vínculo que se muestra en Cloud Shell. En la página web, se muestra Hello World!.

    3. Para detener la aplicación en ejecución, ingresa Ctrl-C en Cloud Shell.

  3. Sube tu aplicación a App Engine:

        gcloud app deploy
        

    Si se requiere una región de implementación, selecciona una cercana. Cuando se indique, ingresa Y si deseas continuar. Después de unos instantes, se completa la carga.

  4. Ejecuta el siguiente comando en Cloud Shell para ver tu aplicación en un navegador:

        gcloud app browse
        

    Si el SDK de Cloud no puede encontrar tu navegador, el comando anterior muestra un mensaje de error y un vínculo. Haz clic en el vínculo que se muestra. Se muestra el mensaje Hello, World! en el navegador.

Ingresa un error

En los siguientes pasos, crea un error para que Error Reporting detecte y muestre.

  1. Edita main.py y cambia

        return 'Hello World!
        

    a

        return 'Hello World!' + 1000
        

    Cuando se ejecuta, este cambio genera una excepción TypeError de Python porque es ilegal concatenar una string y un número entero.

  2. Sube la aplicación modificada a App Engine:

        gcloud app deploy
        
  3. Regresa a la pestaña del navegador que contiene la aplicación en ejecución y vuelve a cargar la página. Debido al cambio, en la página se muestra un mensaje de error en lugar de Hello, World!:

        Internal Server Error
        The server encountered an internal error and was unable to complete your
        request. Either the server is overloaded or there is an error in the
        application.
        

    Si no ves este mensaje, espera un minuto y vuelve a cargarla. Es posible que la versión nueva tarde unos minutos en activarse.

Observa el error en Error Reporting

El mensaje de error que se muestra en la página web no es muy útil porque no proporciona suficientes detalles para resolver el problema. Sin embargo, si usas Error Reporting, puedes obtener información detallada sobre el error y la cantidad de veces que ocurrió:

  1. Ve a Error Reporting

    Ir a Error Reporting

    En el panel de Error Reporting, se muestra un resumen de cada error encontrado y la cantidad de casos de cada uno. De forma predeterminada, Error Reporting vuelve a cargar automáticamente la lista de errores cada 5 segundos. Para forzar una carga inmediata, haz clic en Volver a cargar automáticamente.

    Para esta guía de inicio rápido, en el panel se muestra un error con la descripción "TypeError: can only concatenate str (not "int") to str". Es posible que debas esperar un minuto y actualizar la página para ver el error.

    La interfaz de usuario que muestra el error de prueba.

  2. Vuelve a cargar la aplicación en el navegador para generar el mismo error.

    Debido a que el seguimiento de pila del error nuevo es similar al primer error, Error Reporting los agrupa en lotes mediante la actualización de la cantidad de casos y el grafo de tiempo:

    La interfaz de usuario muestra los errores de prueba en lotes.

  3. Para ver la página de detalles de errores, que contiene toda la información disponible sobre un error, incluidos los vínculos al código fuente, haz clic en el nombre del error:

    La interfaz de usuario muestra la página de detalles del error de prueba.

Configura las notificaciones

Puedes configurar Error Reporting para que te envíe notificaciones cuando surge un tipo de error nuevo. Las notificaciones no se envían cuando hay casos nuevos de errores existentes.

  1. Ve a Error Reporting

    Ir a Error Reporting

  2. Para habilitar las notificaciones por correo electrónico, haz clic en Más y selecciona Activar las notificaciones de errores nuevos para el proyecto en la lista desplegable.

  3. En main.py, cambia

        return 'Hello World!` + 1000
        

    a

        return 'Hello World!'.punctuate()
        

    Cuando se ejecuta, este cambio genera una excepción AttributeError de Python porque el atributo punctuate() no existe.

  4. Sube el archivo modificado a App Engine:

        gcloud app deploy
        
  5. Vuelve a cargar la aplicación en el navegador para generar el error nuevo.

    • El navegador muestra el mensaje Internal Server Error.

    • En el panel de Error Reporting, se muestra un error con la descripción "AttributeError: 'str' object has no attribute 'punctuate'.

    • Tu correo electrónico incluye una notificación nueva que contiene detalles sobre el error, incluido lo siguiente:

      • ID del proyecto.
      • Una descripción del error, en este caso, incluye "AttributeError: 'str' object has no attribute 'punctuate'.
      • Servicio.
      • Versión de la aplicación

Realiza una limpieza

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta guía de inicio rápido.

  1. En Cloud Console, ve a la página Administrar recursos.

    Ir a la página Administrar recursos

  2. En la lista de proyectos, selecciona el proyecto que deseas borrar y haz clic en Borrar .
  3. En el cuadro de diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

Próximos pasos