read google from engine app python django google-app-engine google-cloud-storage blobstore

from - upload file to google storage python



¿Cómo servir imágenes de Google Cloud Storage? (1)

Las API de blobstore y de imágenes solo están disponibles en el entorno de tiempo de ejecución de App Engine. Para ejecutarlos dentro del motor de cómputo puedes:

  • Ejecútelos dentro de VM administradas (el entorno de tiempo de ejecución de GAE en GCE)

  • Ejecútelos en su propia infraestructura o GCE usando un emulador GAE API (como AppScale )

  • Utilice API públicas (como Google Cloud Storage) en su lugar

Algunos servicios de App Engine (como Datastore ) ahora también exponen las API públicas que puede usar desde GCE.

Quiero que google.appengine.ext.blobstore y google.appengine.api.images funcionen fuera de App Engine. ¿Estos módulos requieren App Engine para funcionar? Quiero crear URL públicas pero no imaginables de mis imágenes en Google Cloud Storage y servirlas a través de Django.

Leí que esto se hace con google.appengine.ext.blobstore.create_gs_key() y google.appengine.api.images.get_serving_url() . Esto es lo que tengo hasta ahora:

from google.appengine.api import images from google.appengine.ext import blobstore bucketname = ''mybucket'' gcs_object_name = ''/gs/mybucket/vincent-van-gogh/the-starry-night.jpg'' blob_key = blobstore.create_gs_key(gcs_object_name) image_url = images.get_serving_url(blob_key)

Y se supone que image_url es una URL pública pero no adivinable de mi imagen. Si ejecuto este código, el error es

AssertionError: No api proxy found for service "blobstore"

Esto sugiere que blobstore necesita un proxy, también conocido como App Engine, para que funcione su magia. ¿Pueden los módulos de App Engine funcionar fuera de App Engine? Los documentos dicen que lo anterior es una forma poderosa de servir imágenes porque puedo generar una URL para cada imagen y también cambiar el tamaño de la imagen de forma dinámica.

¿Funcionará esta estrategia o existe una mejor manera de servir imágenes de Google Cloud Storage con Django?