【问题标题】:Using the Blobstore API with Google Cloud Storage - http 404 error message将 Blobstore API 与 Google Cloud Storage 结合使用 - http 404 错误消息
【发布时间】:2015-06-13 23:55:10
【问题描述】:

今天如果一个 url 不正确,用户会从我的 appengine 实例中得到这个显示:

Error: Server Error

The server encountered an error and could not complete your request.
Please try again in 30 seconds.

我发现这个reference 是关于如何使用 blobstore.get 处理正确的 404 消息,但不幸的是它不起作用。我想通了为什么。 bkey 总是返回一些值,所以它总是认为“它不是一个无效的 bkey”。我想弄清楚的是如何在 bkey 无效的情况下编写代码。以下是我的代码:

gs_filename = '/gs/%s/%s' % (settings.BUCKET, filename)
bkey = blobstore.create_gs_key(gs_filename)

if not blobstore.get(key):
   logging.info("I got a 404 error'")
else:
  return blobstore_dh.send_blob(bkey, content_type=ct)

有人有什么建议吗?

【问题讨论】:

    标签: python django google-app-engine google-cloud-storage blobstore


    【解决方案1】:

    我也遇到了这个问题并想出了一个快速的解决方法:

    from google.appengine.api.blobstore import BlobNotFoundError
    
    ..
    
        try:
            blobstore.BlobReader(blob_key).read(1)
        except BlobNotFoundError:
            logging.info('BlobNotFoundError')
            self.abort(404)
    

    感觉有点hackish,所以如果有人找到更好的方法,我很想听听!

    【讨论】:

      猜你喜欢
      • 2014-08-26
      • 2015-06-15
      • 1970-01-01
      • 2013-11-29
      • 2012-03-29
      • 2014-11-05
      • 2021-02-21
      • 2018-04-06
      • 2016-03-30
      相关资源
      最近更新 更多