我需要从网址获取视频,例如:
https://zencoder-temp-storage-us-east-1.s3.amazonaws.com/o/20130722/5aacb76fc3fd47715c0329d1235dcccf/4fc612e92131e159abc761f7d54d86b5.mp4?AWSAccessKeyId=AKIAI456JQ76GBU7FECA&Signature=AGgZb1eMr105RXcoQFp8yFFTfFg%3D&Expires=1374614893
然后使用Google App Engine将其保存到blobstore(如果blobstore无法直接从URL下载,则可能是Google云端存储)是否有一种简单的方法可以执行此操作?我已经设置好以便我可以让用户上传视频,但我不确定是这样做的。我正在寻找URLFetch库吗?
会是这样的:
class UploadHandler(blobstore_handlers.BlobstoreUploadHandler):
def post(self):
#I'm just not sure what to do here, how I can get that 'file' from a URL
upload_files = self.get_uploads('file')
blob_info = upload_files[0]
video = Video(
title = "some title",
video_ref = blob_info.key())
video.put()
答案 0 :(得分:1)
是的,您需要使用urlfetch,然后使用google云存储客户端库(https://developers.google.com/appengine/docs/python/googlecloudstorageclient/functions#open)来编写结果。您需要考虑urlfetch响应大小限制为32mb,因此您需要将下载拆分为32mb,并且还有60秒的用户请求限制或10分钟的任务队列限制或使用没有超时限制的后端。 / p>
您还可以直接上传到blobstore或cloudstorage(https://developers.google.com/appengine/docs/python/blobstore/#Uploading_a_Blob),这是由设计用于处理这些上传的特殊实例处理的。