La CLI de Google Cloud incluye un servidor de desarrollo local (dev_appserver.py
). Puedes usar el servidor de desarrollo local para simular la ejecución de tu aplicación de App Engine en producción, así como para acceder a los servicios empaquetados antiguos de App Engine. El entorno simulado aplica algunas restricciones del espacio aislado, como las funciones del sistema restringidas y las importaciones de módulos de lenguaje de tiempo de ejecución, pero no otras, como los tiempos de espera o las cuotas de las solicitudes.
El servidor de desarrollo local también simula los servicios proporcionados por las bibliotecas del SDK de App Engine, como Datastore, Memcache y Task Queues, realizando sus tareas de forma local. Cuando tu aplicación se ejecuta en el servidor de desarrollo, puedes seguir haciendo llamadas a APIs remotas a la infraestructura de producción mediante los endpoints HTTP de las APIs de Google.
Configurar el servidor de desarrollo local
Para ejecutar la herramienta del servidor de desarrollo local, debe configurar lo siguiente:
- Verifica que has instalado un intérprete de Python 3 que sea compatible con la versión de Python que requiere gcloud CLI.
Verifica que has instalado el componente de Google Cloud CLI que incluye la extensión de App Engine para Python 3 (
app-engine-python
):gcloud components list
Si el componente
app-engine-python
no está instalado, ejecuta el siguiente comando:gcloud components install app-engine-python
Busca la ruta de instalación del SDK de Google Cloud ejecutando el siguiente comando:
gcloud info
El comando devuelve el directorio raíz en el que has instalado el SDK de Google Cloud. Por ejemplo:
Installation Root: [/Users/myname/google-cloud-sdk]
Localiza la herramienta
dev_appserver.py
en la carpeta/bin/
donde hayas instalado Google Cloud CLI. Por ejemplo:CLOUD_SDK_ROOT/bin/dev_appserver.py
Anota la ruta de
dev_appserver.py
para más adelante.
Ejecutar el servidor de desarrollo local
Después de configurar el servidor de desarrollo local y crear el archivo de configuración app.yaml
de tu aplicación, puedes usar el comando dev_appserver.py
para ejecutarla de forma local.
Para iniciar el servidor de desarrollo local, sigue estos pasos:
Si has especificado un puerto personalizado con la opción --port
, recuerda abrir tu navegador en ese puerto.
Para detener el servidor local desde la línea de comandos, pulsa lo siguiente:
- macOS o Linux: Control+C
- Windows: Control + Inter
Especificar IDs de aplicación
Detectar el entorno de tiempo de ejecución de la aplicación
Usar el servicio de correo
El servidor de desarrollo local puede enviar correos en las llamadas al servicio de correo de App Engine mediante un servidor SMTP o una instalación local de Sendmail.
Usar SMTP
Para habilitar la compatibilidad con el correo mediante un servidor SMTP, invoca dev_appserver.py
de la siguiente manera::
python3 [CLOUD_SDK_ROOT]/bin/dev_appserver.py --smtp_host=smtp.example.com --smtp_port=25 \
--smtp_user=ajohnson --smtp_password=k1tt3ns [PATH_TO_YOUR_APP]
donde se definen las opciones --smtp_host
, --smtp_port
, --smtp_user
y --smtp_password
con tus propios valores.
Usar Sendmail
Para habilitar la asistencia de correo con Sendmail, invoca dev_appserver.py
de la siguiente manera:
python3 [CLOUD_SDK_ROOT]/bin/dev_appserver.py --enable_sendmail=yes [PATH_TO_YOUR_APP]
El servidor local usa el comando sendmail
para enviar mensajes de correo con la configuración predeterminada de tu instalación.
Usar el servicio de obtención de URLs
Cuando tu aplicación usa la API de obtención de URLs para hacer una solicitud HTTP, el servidor de desarrollo local hace la solicitud directamente desde tu ordenador. El comportamiento de la obtención de URLs en el servidor local puede ser diferente del de App Engine en producción si usas un servidor proxy para acceder a sitios web.
Usar el servicio Users
App Engine proporciona un servicio de usuarios para simplificar la autenticación y la autorización de tu aplicación. El servidor de desarrollo local simula el comportamiento de las cuentas de Google con sus propias páginas de inicio y cierre de sesión.
Argumentos de línea de comandos
Para ver las opciones de comandos del servidor de desarrollo local, consulta Opciones del servidor de desarrollo local.