2017-06-20 1 views
0

Wenn ich versuche, den Inhalt einer Datei (einfachen Text) aus Google Cloud Storage (App Engine, Python, Standard Env) zu lesen, erhalte ich die folgende Ablaufverfolgung:Dateiinhalt kann nicht aus Google Cloud-Speicher in App Engine gelesen werden

Obwohl "Öffentlich freigeben" eingestellt ist, arbeite ich im Standard-Bucket (die Anwendung sollte volle Berechtigungen haben, um mein Verständnis zu haben) und ich kann Inhalte in die gleiche Datei schreiben/hochladen.

Als zusätzliche Information trigger ich die Anfrage von einer HTTP-Route mit GAE-Entwicklungsserver.

Können Sie mich in die richtige Richtung zeigen? : D

-Code ist unten:

def getDatastoreClient(): 
    projectId = 'xxxxxx' 
    return storage.Client(projectId) 

def readFileFromBucket(filename): 
    # Instantiates a client 
    storage_client = getDatastoreClient() 

    # Creates the new bucket 
    bucket = storage_client.get_bucket(BUCKETNAME) 
    blob = bucket.get_blob(filename) 
    return blob.download_as_string() 
+0

Welche Version von 'Anfragen' verwenden Sie? Gehe zurück zu v2.3 und schau, ob das Problem behoben ist. – GAEfan

+0

wow! Eigentlich hilft es, was bedeutet das? Ich habe 2.17.3 benutzt und auch 2.18 ... – ignzz

Antwort

0

Die neuesten Versionen von requests mit GCS noch nicht kompatibel sind. Reduzieren Sie jetzt Ihr requests Paket auf v2.3.0. Oder wechseln Sie zu GAE urlfetch