0

내 앱이 로컬에서 작동하며 localhost : 8080에서 원활하게 실행됩니다. 앱이 Google 서버에서 실행될 때 문제가있는 것으로 보입니다.Google App Engine에서 '오류 : 서버 오류'를 반환합니다.

나는 이미 패키지가 누락되어 있다고 확신하는데, 이미 cloudstorage를 추가하고 lib 폴더에 패키지를 요청합니다.

, 여기 내 파이썬 응용 프로그램에서 사용하고 무엇을 난 그냥 다운로드하고 lib 폴더에 추가해야 할 어떤 것들을 알고 싶습니다

있어 :

import os, sys, requests, csv, urllib2, webapp2         
import xml.etree.ElementTree as ET            
from datetime import date, timedelta, datetime         
from google.appengine.api import app_identity         
import cloudstorage as gcs 

편집 :

I 내가 틀렸다고 생각하고 패키지 부분이 오류와 아무 상관이 없습니다.

나는이 몇 줄의 샘플 스택 추적에서 발견 : 여기에 아마 중요한 코드의 내 몇 줄을 내가 실제로 구글 클라우드 스토리지에 csv 파일에 쓰고 있어요

Body: "<?xml version='1.0' encoding='UTF-8'?> 
<Error> 
<Code>AccessDenied</Code> 
<Message>Access denied.</Message> 
<Details> 
Caller does not have storage.objects.create access to bucket bucket. 
</Details> 
</Error>". Extra info: None. 

 currentFileName = "/bucket/" + self.domain + "_" + self.startDate +"_" \ 
+ self.endDate +'.csv' 

with gcs.open(currentFileName, 'w') as csvfile:       
      fieldnames = ['ID', 'URL', 'Comments', 'Em... 

... 
writer = csv.DictWriter(csvfile,fieldnames = fieldnames)    

버킷의 파일 경로에서 실수를 했습니까? 파일을 올바르게 작성하는지 확인하는 방법에 대해서는 약간 혼란 스럽습니다.

편집 2 :

내가 어딘가에 코드 줄을 사용해야합니까? 서버 오류 :

bucket_name = os.environ.get('BUCKET_NAME', app_identity.get_default_gc\ 
s_bucket_name()) 
+0

앱 로그에서 무엇을 볼 수 있습니까? –

+0

@DanCornilescu EDIT를 만들었는데 패키지 문제라고 생각하지 않습니다. 저장소가 있습니다. 목표. 오류가 발생했습니다./Bucket/대신 실제 버킷 이름을 넣어야합니까? – Seraf

+0

나는 마침내 작동하게 만들었습니다. 실수는/bucket/디렉토리였습니다. – Seraf

답변

0

오류는 다음 500 오류를 수정했습니다

currentFileName = "/" + bucket_name + "/" + self.domain + "_" + self.startDate +"_" \ 
+ self.endDate +'.csv' 

입니다 올바른 디렉토리에 currentFileName을 수정

bucket_name = os.environ.get('BUCKET_NAME', app_identity.get_default_gc\ 
s_bucket_name()) 

과 버킷의 이름을 받고, 버킷 디렉토리이었다