2016-08-06 31 views
-1

ich eine Datei von CloudStorage in einer bereitgestellten Anwendung zu lesen versuche, ist der Code sehr einfach:Probleme Datei von CloudStorage in Google App Engine Lesen

# -*- coding: utf-8 -*- 
from google.appengine.ext import deferred 
from google.appengine.ext import ndb 
import logging 
import os 
import cloudstorage as gcs 
import webapp2 

from google.appengine.api import app_identity 


class Handler(webapp2.RequestHandler): 
    def get(self): 
     bucket_name = os.environ.get('BUCKET_NAME', 
            app_identity.get_default_gcs_bucket_name()) 

     self.response.headers['Content-Type'] = 'text/plain' 
     self.response.write('Demo GCS Application running from Version: ' 
          + os.environ['CURRENT_VERSION_ID'] + '\n') 
     self.response.write('Using bucket name: ' + bucket_name + '\n\n') 
     gcs_file = gcs.open("/" + bucket_name + "/mylist.csv", mode="r") 
     line = gcs_file.readline() 
     self.response.write(line) 

app = webapp2.WSGIApplication([('/view', Handler)]) 

Aber wenn ich die Seite acccess Ich erhalte eine „500 Internal Server Error“und auf den Protokollen ich folgendes sehen:

10:24:32.791 
suspended generator _make_token_async(rest_api.py:55) raised InternalError(5:) 
10:24:32.792 
suspended generator get_token_async(rest_api.py:224) raised InternalError(5:) 
10:24:32.792 
suspended generator urlfetch_async(rest_api.py:259) raised InternalError(5:) 
10:24:32.792 
Tasklet is <bound method _StorageApi.urlfetch_async of <cloudstorage.storage_api._StorageApi object at 0x10c98f90>> 
10:24:32.792 
Got exception "InternalError('5: ',)" from tasklet. 
10:24:32.792 
Retry in 0.1 seconds. 
10:24:32.922 
suspended generator _make_token_async(rest_api.py:55) raised InternalError(5:) 
10:24:32.922 
suspended generator get_token_async(rest_api.py:224) raised InternalError(5:) 
10:24:32.923 
suspended generator urlfetch_async(rest_api.py:259) raised InternalError(5:) 
10:24:32.923 
Got exception "InternalError('5: ',)" from tasklet. 

die Seite lädt in Ordnung, wenn ich die Zeile entfernen, wenn die Datei geöffnet wird.

Update: Ich glaube, das Problem hängt damit zusammen, dass der Benutzer {project-id}@appspot.gserviceaccount.com in meiner App nicht existiert, und ich kann ihn meinem Projekt nicht hinzufügen, da Auf der Admin-Seite kann ich nur Benutzer mit dem Format {username}@{project-id}.iam.gserviceaccount.com hinzufügen.

Also weiß jemand, wie man diesen Benutzer zurück zum Projekt hinzufügt?

Vielen Dank im Voraus

Antwort