【问题标题】:Amazon S3 Bucket Configuration Problem with Django settings. <Code>AccessDenied</Code>Django 设置的 Amazon S3 存储桶配置问题。 <代码>拒绝访问</代码>
【发布时间】:2021-10-28 02:27:30
【问题描述】:

我无法正确设置 Amazon S3 存储桶。我按照以下步骤进行配置。

已安装boto3django-storages

使用 IAM 用户创建 S3 存储桶,并且 Block all public access 已关闭

Settings.py 有如下相关代码。

INSTALLED_APPS = [
    #...
    'storages',
]

AWS_ACCESS_KEY_ID = env('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = env('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = env('AWS_STORAGE_BUCKET_NAME')
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
AWS_S3_OBJECT_PARAMETERS = {
    'CacheControl': 'max-age=86400',
}
AWS_LOCATION = 'static'

STATICFILES_DIRS = [
    os.path.join(BASE_DIR / 'static'),
    os.path.join(BASE_DIR / 'build/static')
]
STATIC_URL = 'https://%s/%s/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
MEDIA_URL = 'https://%s/%s/images/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION)
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

现在的问题是当我转到上传文件的 URL 时 MEDIA_URL = 'https://%s/%s/images/' % (AWS_S3_CUSTOM_DOMAIN, AWS_LOCATION) 我在访问图像文件时收到此错误 https://remote-hospital-v4.s3.us-east-2.amazonaws.com/static/images/IMG_18.jpg

而且文件仍在本地存储,没有上传到 S3 存储桶

需要帮助来解决这个问题,或者问题可能出在哪里。谢谢!

【问题讨论】:

    标签: django amazon-web-services amazon-s3


    【解决方案1】:

    您需要在设置中添加您的 Amazon Web Services 访问密钥(您只需插入密钥):

    AWS_ACCESS_KEY_ID = env('AWS_ACCESS_KEY_ID')
    

    【讨论】:

    猜你喜欢
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 2019-04-20
    • 2016-06-14
    • 2023-02-21
    • 2019-08-07
    • 2017-07-04
    相关资源
    最近更新 更多