我的应用程序在本地运行,并在localhost:8080上顺利运行。当应用程序在Google服务器中执行时,似乎存在问题。
我很确定我丢失了一些软件包,我已经添加了cloudstorage并将软件包请求到我的lib文件夹中。
我只想知道我必须下载哪些内容并添加到lib文件夹,这是我在Python应用程序中使用的内容:
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
修改
我认为我错了,包部分与错误无关。
我在Stack Trace Sample中找到了这几行:
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.
我实际上是在Google云端存储上写一个csv文件,这是我的几行代码可能很重要
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)
我是否在Bucket的文件路径上犯了错误?我对如何检查它是否也正确创建文件感到有点困惑。
编辑2:
我是否需要在某处使用这行代码?
bucket_name = os.environ.get('BUCKET_NAME', app_identity.get_default_gc\
s_bucket_name())
答案 0 :(得分:0)
错误是存储桶目录,使用
获取存储桶名称bucket_name = os.environ.get('BUCKET_NAME', app_identity.get_default_gc\
s_bucket_name())
然后将currentFileName修改为正确的目录
currentFileName = "/" + bucket_name + "/" + self.domain + "_" + self.startDate +"_" \
+ self.endDate +'.csv'
修正了500错误:服务器错误