Pregunta

Me han asignado un proyecto para crear un servicio de almacenamiento de archivos en Google App Engine. Pero estoy realmente dudoso de si es posible o no dado el límite de 30 segundos para procesar la respuesta y, además, su BigTable es solo un sistema de base de datos, no un almacenamiento. servidor .am ¿Correcto?

¿Fue útil?

Solución

Querrás mirar la API blobstore

http://code.google.com/appengine/docs/java/blobstore/

Le permite cargar archivos de hasta 50 MB de tamaño y servirlos directamente, sin pasar por BigTable. Lo que estoy haciendo es que tengo un script que toma un archivo, crea la URL de carga BlobStore, luego publique el archivo que recibió en esa URL y almacena una entrada en BigTable. El límite de 30 segundos solo se aplica al tiempo de procesamiento, por lo que el acto de cargar un archivo no cuenta para eso.

Otros consejos

Si todo lo que necesita es almacenamiento, una mejor opción que el motor de la aplicación es el recién beta-D Almacenamiento de Google:

Google Storage para desarrolladores es un servicio relajante para almacenar y acceder a sus datos sobre la infraestructura de Google. El servicio combina el rendimiento y la escalabilidad de la nube de Google con capacidades avanzadas de seguridad y intercambio. Los aspectos más destacados incluyen:

Tienda de objetos rápido, escalable y altamente disponible

Todos los datos replicados a múltiples centros de datos de EE. UU.

Leer su consistencia de datos de las escrituras

Objetos de cientos de gigabytes en tamaño por solicitud con soporte de rango

Espacio de nombres de cubos de dominio

Autenticación y intercambio fácil y flexible

Autenticación basada en claves

Descargas autenticadas de un navegador web

Controles de acceso a nivel individual y de grupo

Use y mira si te gusta Blobstore en acción Yo mantengo

Esto definitivamente es posible.

También hay algunas preguntas similares que han sido contestada. Consulte Google para obtener más implementaciones.

Pero en general, sí, el límite de 30 segundos complica su tarea, pero puede dividir su archivo en trozos y almacenarlos cada uno por separado como texto/blobs. API remota del motor de aplicaciones Podría hacer esto por usted automáticamente.

Tenga en cuenta que tiene 10 MB por restricción de solicitud.

Eche un vistazo a este proyecto para obtener algo de inspiración:

http://django-filetransfers.appspot.com/

El SourCecode está disponible si sigue un enlace en la página.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top