gpt4 book ai didi

python - 在 Django 应用程序中上传到非美国标准 AWS S3 存储桶时出错;美标桶工作完美

转载 作者:行者123 更新时间:2023-11-28 21:49:57 28 4
gpt4 key购买 nike

我在非美国地区(新加坡)设置了一个 S3 存储桶。当我尝试将图像上传到它时,我收到来自 S3 的 301(永久移动)错误。通过研究,我了解到对于非标准存储桶,必须指定特定的端点和区域。

我已经在我的 settings.py 中尝试了多种配置变量,但都没有用。请注意,已安装 boto 和 django-storages,我之前已经将其用于美国标准存储桶。

以下是当前的设置方式(加上我尝试过的所有不同变体):

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_S3_FORCE_HTTP_URL = True
AWS_S3_SECURE_URLS = False
AWS_S3_URL_PROTOCOL = 'http'
AWS_QUERYSTRING_AUTH = False
AWS_SECRET_ACCESS_KEY = os.environ.get('awssecretkey')
AWS_ACCESS_KEY_ID = os.environ.get('awsaccesskeyid')
AWS_S3_CALLING_FORMAT='boto.s3.connection.OrdinaryCallingFormat'
AWS_STORAGE_BUCKET_NAME = 'bucket.my'
#HOST ='s3-ap-southeast-1.amazonaws.com'
#AWS_ENDPOINT = 's3-ap-southeast-1.amazonaws.com'
#AWS_S3_REGION = 's3-ap-southeast-1'
#REGION = 's3-ap-southeast-1'
#AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
#BOTO_S3_HOST = 'bucket.my.s3-ap-southeast-1.amazonaws.com'
#S3_HOST = 'http://bucket.my.ap-southeast-1.amazonaws.com'
#'bucket.my.s3-website-ap-southeast-1.amazonaws.com'
#'s3-ap-southeast-1.amazonaws.com'
#BOTO_BUCKET_LOCATION = 'Singapore'

#S3Connection.DefaultHost = 's3-ap-northeast-1.amazonaws.com'
#HOST = 'http://bucket.my.ap-southeast-1.amazonaws.com'

谁能帮我正确配置?如果您需要,我会提供更多详细信息。

最佳答案

我正在使用当前版本的 django-storages-redux 并且必须在 settings.py 中使用以下内容才能使用悉尼 S3 区域。

import boto
from boto.s3.connection import OrdinaryCallingFormat, Location

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_ACCESS_KEY_ID = 'XXX'
AWS_SECRET_ACCESS_KEY = 'XXX'
AWS_STORAGE_BUCKET_NAME = 'my.bucket.name'
AWS_AUTO_CREATE_BUCKET = False
AWS_S3_HOST = 's3-ap-southeast-2.amazonaws.com'
AWS_S3_CALLING_FORMAT = 'boto.s3.connection.OrdinaryCallingFormat'

记下 AWS_S3_HOST 值;这是我解决“301(永久移动)”错误所需的参数。

关于python - 在 Django 应用程序中上传到非美国标准 AWS S3 存储桶时出错;美标桶工作完美,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32699287/

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