gpt4 book ai didi

python - Django + AWS : files not syncing to S3

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:30 25 4
gpt4 key购买 nike

我继承了一个使用 Django Suit 实现的 CMS 系统。其中一种表单应该将文件上传到 S3,但它没有发生(文件上传到网络服务器 - EC2,但没有上传到 S3)。

到目前为止我确定的是:

  1. EC2 实例拥有对 S3 的完全访问权限(通过角色)
  2. Django 配置文件中设置的用户拥有 S3 的完全访问权限
  3. 有一个 CloudFront 配置为指向存储桶,并且当通过 URL 访问文件时它可以工作。配置在那里工作
  4. 以前的开发人员使用以下方法来处理文件上传:

    DEFAULT_FILE_STORAGE = 'fallback_storage.storage.FallbackStorage'FALLBACK_STORAGES = ( 'django.core.files.storage.FileSystemStorage', 'main.custom_storages.MediaStorage')

我查看了这 3 个类,看看是否缺少配置,但一切看起来都不错。

  • 我不熟悉这种在 Web 服务器和 S3 之间同步文件的方式,因此我可能会遗漏一些非常明显的东西。是否有类似 cron jon 需要在后台运行?

  • 我发现一篇博客文章解释了如何使用 Django 使用 FallbackStorage 将文件上传到 S3。该教程使用 docker。在这种情况下,根本不使用docker。

  • 此时我迷失了方向。有数千个类分布在数十个 Python 库中。对代码进行详尽的分析将花费很长时间。

    最佳答案

    您可能应该查看 FallbackStorage 类,通常对于将文件上传到 S3,这将是 S3BotoStorage 的存储类,具有正确的 AWS_STORAGE_BUCKETAWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY 设置。

    stored = models.FileField(storage=S3BotoStorage(bucket=AWS_BUCKET), upload_to='blog-uploads')

    关于python - Django + AWS : files not syncing to S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59742658/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com