我正在将数据上传到blobstore。它应该只是暂时保留,并从我的AppEngine应用程序上传到Amazon S3。
看起来我只能通过Blobstore API中描述的BlobDonwloadHandler获取数据:http://code.google.com/intl/de-DE/appengine/docs/python/blobstore/overview.html#Serving_a_Blob
所以我尝试从我的应用程序中获取该特定于blob的下载URL(请记住我昨天的问题)。从AppEngine(而不是开发服务器)中获取内部URL是有效的,即使是糟糕的风格 - 我知道。
但是获得blob是行不通的。我的代码如下:
result = urllib2.urlopen('http://my-app-url.appspot.com/get_blob/'+str(qr.blob_key))
我正在接受
DownloadError:ApplicationError:2
提出:
文件 “/base/python_runtime/python_lib/versions/1/google/appengine/api/urlfetch.py” 第327行,在_get_fetch_result中 提出DownloadError(str(err))
即使在搜索之后我真的不知道该怎么做。
我见过的所有教程都只关注通过URL提供给用户。但我想从Blobstore中检索blob并将其发送到S3存储桶。任何人都知道我怎么能意识到这一点,或者甚至不可能?
提前致谢。
答案 0 :(得分:2)
您可以使用BlobReader访问该Blob并将其发送给S3。
http://code.google.com/intl/de-DE/appengine/docs/python/blobstore/blobreaderclass.html