Mis favoritos | Español | Acceder

Descripción general de Python en App Engine

Te damos la bienvenida a Google App Engine para Python En App Engine, puedes crear aplicaciones web mediante el uso del lenguaje de programación Python y aprovechar la gran cantidad de bibliotecas, de herramientas y de frameworks para Python que utilizan los desarrolladores profesionales para crear aplicaciones web internacionales. Tu aplicación Python se ejecuta en una infraestructura escalable de Google y utiliza un almacenamiento y unos servicios persistentes a gran escala.

Si aún no lo has hecho y deseas obtener una introducción interactiva acerca del desarrollo de aplicaciones web con Python y con Google App Engine, consulta la guía de introducción de Python.

El entorno de tiempo de ejecución Python

Las aplicaciones web Python interactúan con el servidor web App Engine mediante el uso del protocolo CGI. Las aplicaciones pueden utilizar un framework de aplicaciones web compatible con WSGI mediante un adaptador de CGI. Para facilitar el comienzo, App Engine incluye un framework de aplicaciones web sencillas denominado webapp. Para aplicaciones de mayor tamaño, los frameworks avanzados de terceros como Django, por ejemplo, también funcionan con App Engine.

App Engine es compatible con Python 2.5. Para aislar tu aplicación por servicio y seguridad, el intérprete de Python se ejecuta en un entorno seguro de "zona de pruebas". El intérprete puede ejecutar cualquier código Python, incluidos los módulos Python que contenga tu aplicación, así como la biblioteca Python estándar. El intérprete no puede cargar los módulos Python con el código C, puesto que se trata de un entorno Python "puro".

La zona de pruebas asegura que la aplicación sólo pueda realizar acciones que no interfieran con el rendimiento ni con la escalabilidad de otras aplicaciones. Por ejemplo, una aplicación no puede generar cadenas, escribir datos en el sistema de archivos o hacer conexiones de red arbitrarias. En su lugar, las aplicaciones utilizan servicios escalables proporcionados por App Engine para almacenar los datos y establecer la comunicación en Internet. El intérprete de Python genera una excepción cuando una aplicación intenta importar un módulo de la biblioteca estándar conocida para trabajar fuera de las restricciones de la zona de pruebas.

Si deseas obtener más información, consulta el entorno CGI.

El almacén de datos y los servicios

Las aplicaciones pueden utilizar el almacén de datos de App Engine para un almacenamiento de datos permanente, escalable y fiable. El API Python para el almacén de datos de App Engine incluye herramientas de modelado de datos muy completas para gestionar los esquemas de datos. El API admite dos interfaces para realizar consultas al almacén de datos, incluido GQL, un lenguaje de consultas similar a SQL que también se utiliza en la consola de administración.

Memcache de App Engine proporciona un almacenamiento en caché distribuido, transitorio y rápido de los resultados de cálculos y consultas del almacén de datos. La interfaz Python para Memcache de App Engine es compatible con el API Memcache Python.

Las aplicaciones utilizan el servicio de extracción de URL para acceder a recursos en la web y para comunicarse con otros hosts que utilizan los protocolos HTTP y HTTPS. Para acceder a este servicio, las aplicaciones pueden utilizar los módulos urllib, urllib2 o httplib de la biblioteca estándar Python o bien el API de servicio de extracción de URL de App Engine.

Una aplicación puede utilizar el servicio de correo para enviar mensajes de correo electrónico en nombre de los administradores de la aplicación o del usuario actual.

El servicio de imágenes permite a las aplicaciones transformar y manipular datos de imágenes en varios formatos, entre los que se incluyen las funciones de recorte, rotación, cambio de tamaño y mejora del color de la fotografía.

Una aplicación puede utilizar las cuentas de Google para la autenticación del usuario. Las cuentas de Google gestionan el acceso y la creación de una cuenta de usuario y un usuario que ya disponga de una cuenta de Google (como, por ejemplo, una cuenta de Gmail) puede utilizarla con tu aplicación. Una aplicación puede detectar cuándo el usuario actual ha iniciado sesión y puede acceder a su dirección de correo electrónico. El API Python puede devolver los datos del usuario en un objeto que se puede almacenar directamente en el almacén de datos.

Tareas programadas

Una aplicación puede configurar tareas programadas que ejecutan URL de la aplicación a intervalos especificados. Para obtener más información, consulta tareas cron.

Herramientas Python

El SDK Python de App Engine incluye herramientas para probar tu aplicación, subir los archivos de tu aplicación, gestionar los índices del almacén de datos, descargar los datos del registro y subir grandes cantidades de datos al almacén de datos.

Para probar tu aplicación, el servidor de desarrollo la ejecuta en tu equipo local. El servidor simula el almacén de datos, los servicios y las restricciones de la zona de pruebas de App Engine. El servidor de desarrollo también puede generar configuración para índices de almacenes de datos basados en las consultas que realiza la aplicación durante la prueba.

Una herramienta multiuso llamada appcfg.py se encarga de gestionar toda la interacción entre las líneas de comandos mientras tu aplicación se esté ejecutando en App Engine. appcfg.py puede subir tu aplicación a App Engine o simplemente actualizar la configuración de los índices del almacén de datos para que puedas crear nuevos índices antes de actualizar el código. También puede descargar los datos de registro de la aplicación para que puedas analizar el rendimiento de tu aplicación mediante tus propias herramientas.

El SDK Python incluye una herramienta de subida de datos que puede añadir datos al almacén de datos de tu aplicación desde tus archivos de datos locales. Esta herramienta puede extraer los datos de los archivos CSV, un formato de hoja de cálculo compatible con la mayoría de software de hojas de cálculo como, por ejemplo, Google Docs o Microsoft Excel. Mediante el código Python, puedes personalizar la conversión de los archivos CSV en entidades del centro de datos.