【问题标题】:Serving private images through S3 in django在 django 中通过 S3 提供私有图像
【发布时间】:2015-09-12 20:07:47
【问题描述】:

我正在开发一个 django 应用程序,它允许用户上传照片并查看它们,这些照片在 S3 中作为私有存储。现在每次我必须向他们展示缩略图时,我都会生成一个 url 并将其提供给模板。这个过程真的很慢,需要很长时间。 我希望还有其他我没有探索过的方法,请帮助我。我希望有类似 x-sendfile 的东西,我在其中对用户进行身份验证,然后将其重定向到 S3。如果我遗漏了什么,请告诉我

【问题讨论】:

  • 我是对的,您是通过运行 Django 的 EC2 实例代理私有图像吗?
  • 是的....我不是代理,只是生成 url。但我认为代理会是一个更好的选择。请告诉我
  • 您的意思是,您生成临时经过身份验证的 url 到 S3?在我看来,迄今为止最好的解决方案......
  • 是的...但是很忙,因为每次生成这么多url真的不是很好的原则。
  • 我正在做类似的事情,我在创建 pre-signed URLS with boto 时没有遇到任何性能问题。您确定这是性能开销的来源吗?

标签: python django amazon-s3 boto


【解决方案1】:

我用 S3 分叉了 sorl-thumbnail 以使其快速。我的代码在这里sorl_thumbnail-async

但我开始知道easy_thumbnails 完全符合我的要求,所以我在我当前的项目中使用它。 Sorl 自去年以来未更新,请使用 easy_thumbnails 和 S3 等远程存储。你可能会发现我关于主题here的帖子很有用

[编辑]:sorl-thumbnail 现在有新的维护者,并使用最新的 django 版本进行了更新。

【讨论】:

    【解决方案2】:

    您可以使用sorl-thumbnail 提供具有可插拔 S3 后端支持和用于缓存的 memcached 或 redis 的缩略图。

    您可能会发现这个问题很有帮助:Storing images and thumbnails on s3 in django

    【讨论】:

    • @SaranshMohapatra 与什么相比足够快?到您的定制解决方案?我相信只有你能做比较。
    • 没有自定义解决方案.....我的意思是一般。显示大约 50 个缩略图需要多长时间。
    猜你喜欢
    • 1970-01-01
    • 2021-07-07
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 2014-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多