媒体文件已正确上传到aws s3存储桶,但未呈现到html页面。有人可以帮我吗?我找不到问题所在。
如果我单击找到的图像链接,则会出现以下错误。
<Error>
<Code>InvalidRequest</Code>
<Message>
The authorization mechanism you have provided is not supported. Please
use AWS4-HMAC-SHA256.
</Message>
<RequestId>C6FE9209F5DE6296</RequestId>
<HostId>
ry5ZRPCWjDxcxsYzII8q+x6BVMzRRiqvU1kZYxA5OQd07ojkyaqGoAd/OI=
</HostId>
</Error>
变量设置如下所示。
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
CRISPY_TEMPLATE_PACK = 'bootstrap4'
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRECT_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = os.environ.get('AWS_STORAGE_BUCKET_NAME')
AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
您可能需要添加
AWS_S3_SIGNATURE_VERSION = "s3v4"
以确保s3未使用v2,并非所有地区都支持。