0

我需要从 URL 获取视频,例如:

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 Cloud Storage)是否有一种简单的方法可以做到这一点?我已经设置好了,这样我就可以让用户上传视频,但我不确定这样做。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()
4

1 回答 1

1

是的,您需要使用 urlfetch 然后使用谷歌云存储客户端库(https://developers.google.com/appengine/docs/python/googlecloudstorageclient/functions#open)来编写结果。您需要考虑 urlfetch 响应大小限制为 32mb,因此您需要将下载分成 32mb 块,并且还有 60 秒的用户请求限制或 10 分钟的任务队列限制或没有超时限制的使用后端。

您也可以直接上传到 blobstore 或 cloudStorage ( https://developers.google.com/appengine/docs/python/blobstore/#Uploading_a_Blob ),这些文件由旨在处理这些上传的特殊实例处理。

于 2013-07-22T22:41:51.787 回答