2012-05-02 10 views
16

Desidero pubblicare file di immagini su Google Cloud Storage con le immagini API get_serving_url. Can get_serving_url accetta file su Google Cloud Storage?Google Cloud Storage con get_serving_url

ho provato:

from google.appengine.api import blobstore 
from google.appengine.api import images 
bkey = blobstore.create_gs_key('/gs/bucket/object') 
url = images.get_serving_url(bkey) 

un errore InvalidBlobKeyError verificato sulla get_serving_url in ambiente di produzione.

+0

questa è una grande domanda: ho bisogno di uscire da blobstore, ma continuare a utilizzare la funzione di mettere = Sxxx a ridimensiona le immagini al volo! –

+0

Dalla versione 1.7.0, saremo in grado di utilizzare get_serving_url() per i bucket di Google Cloud Storage. – najeira

+2

blobstore non è più necessario, si può semplicemente usare 'images.get_serving_url (None, filename = '/ gs//'))' –

risposta

11

Tutti lo amerebbero, e dalla versione 1.7.0 è possibile!

È possibile utilizzare lo get_serving_url() per i bucket di Google Cloud Storage.

+0

Corretto - get_serving_url non è supportato nella versione corrente per gli oggetti di Google Storage. Rimanete sintonizzati. –

+0

@StuartLangley cosa intendi ?! Arriverà presto?! Non vedo l'ora ... o forse invece di aspettare .. Incomincerò a riempire lo spazio di archiviazione con alcune immagini :) – Lipis

+0

Ho letto l'SDK, ci sono dei codici per Google Storage, ma non funzionano anche su dev_appserver. Penso che sarà il supporto. – najeira

4

Proprio come in GAE 1.6.5, il costruttore di immagini.Image può prendere come argomento un nome di file GCS, ad es.

img = images.Image(filename='/gs/bucket/object') 

È quindi possibile eseguire trasformazioni su tale oggetto e servire in su, ecc

+0

So che le immagini API possono trasformare i file GCS. Ma voglio che GCS serva i file direttamente con il ridimensionamento e il ritaglio come blobstore. – najeira

+1

ehi, hai idea di come ottenere l'URL di servizio per un file da gcs SENZA usare un blobkey, da qui l'esempio riportato in questa risposta senza altri dati? – gru