2015-02-20 7 views
9

Ieri questo codice stava lavorando bene sia in server locali e di produzione:Utilizzando GCS in GAE devserver locale

import cloudstorage 

def filelist(Handler): 
    gs_bucket_name="/bucketname" 
    list=cloudstorage.listbucket(gs_bucket_name) 
    logging.warning(list) 
    self.write(list) 
    for e in list: 
     self.write(e) 
     self.write("<br>") 

Da ieri a oggi ho aggiornato GAE Launcher e cambiato le opzioni di fatturazione (stavo usando un libero prova e ora un account a pagamento) (non so se ha qualcosa a che fare, ma solo per dare informazioni extra)

ma oggi il codice smesso di funzionare in locale (funziona bene in produzione)

Questo è l'inizio del registro degli errori

WARNING 2015-02-20 09:50:21,721 admin.py:106] <cloudstorage.cloudstorage_api._Bucket object at 0x10ac31e90> 

ERROR 2015-02-20 09:50:21,729 api_server.py:221] Exception while handling service_name: "app_identity_service" 
method: "GetAccessToken" 
request: "\n7https://www.googleapis.com/auth/devstorage.full_control" 
request_id: "WoMrXkOyfe" 

L'avviso mostra un oggetto bucket, ma non appena cerco di ripetere nella lista ottengo l'eccezione sul servizio di identità.

Che cosa è successo? Sembra che io debba autorizzare il devserver gcs mockup locale, ma non sono sicuro di come.

Ricordare che ciò accade solo in devserver, non in produzione.

Grazie per il vostro aiuto

risposta

5

Questo è un problema con l'ultima versione (1.9.18). Per ora, fino a quando non viene corretto, è possibile effettuare il downgrade a 1.9.17 scaricando l'installer da qui e eseguendolo semplicemente: https://storage.googleapis.com/appengine-sdks/featured/GoogleAppEngineLauncher-1.9.17.dmg

Come da risposta sotto, il 1.9.18 è stato corretto con una correzione per questo . Se si desidera installare ancora la versione 1.9.17, si prega di seguire questo link: https://storage.googleapis.com/appengine-sdks/deprecated/1917/GoogleAppEngineLauncher-1.9.17.dmg

0

Credo che la causa del problema è un bug nel server locale dev (GoogleAppEngineLauncher), ha recentemente rilasciato. Sto sperimentando qualcosa di simile nel runtime di PHP: GloudStorage fails locally

+1

ho depositato un problema di bug, che punta a queste due domande: https://code.google.com/p/googleappengine/issues/detail?id=11690&thanks=11690&ts=1424427830 –

+0

, avrei imparato da ora non aggiornare fino a quando non ho finito il mio progetto :( – unaiherran

1

Aggiornamento: A partire dal 5 marzo 2105 questo è stato corretto nella versione pubblica di 1.9.18, che potrebbe essere un modo più semplice per ottenere la correzione.

Nota: mentre la correzione era in Python, il problema può emergere in Java, PHP e Go anche perché utilizzano il codice del server dev locale Python.

2

È un bug noto in dev_appserver, in cui l'SDK non gestisce le credenziali già presenti nelle versioni precedenti. Per me (su Ubuntu 15.10 con SDK 1.9.33) ha contribuito a rimuovere semplicemente un file:

rm ~/.config/gcloud/application_default_credentials.json 

come suggerito nella bug issue presentata da Jari Wiklund.