Я развертываю приложение Django на Ubuntu EC2 на AWS.boto S3ResponseError: 400 Плохой запрос
Я закончил все необходимые рабочие места, но подключился к boto.
В моей settings.py
AWS_ACCESS_KEY = 'AWS_ACCESS_KEY'
AWS_SECRET_ACCESS_KEY = 'AWS_SECRET_ACCESS_KEY'
AWS_STORAGE_BUCKET_NAME = 'BUCKET-s3'
AWS_QUERYSTRING_AUTH = False
S3_URL = 'https://s3.ap-northeast-2.amazonaws.com/%s' % AWS_STORAGE_BUCKET_NAME
DEFAULT_FILE_STORAGE = 'PROJECT.s3utils.MediaS3BotoStorage'
STATICFILES_STORAGE = 'PROJECT.s3utils.StaticRootS3BotoStorage'
MEDIA_URL = S3_URL + '/media/'
STATIC_URL = S3_URL + '/static/'
MEDIA_ROOT = MEDIA_URL
STATIC_ROOT = STATIC_URL
'PROJECT.s3utils.py' is below:
from storages.backends.s3boto import S3BotoStorage
StaticRootS3BotoStorage = lambda: S3BotoStorage(location='static') # s3 directory name
class MediaS3BotoStorage(S3BotoStorage):
location = 'media'
Наконец, мне нужно создать файл конфигурации для подключения Boto.
Без ничего, когда я приказываю 'питона manage.py collectstatic', ошибка показывает это сообщение:
boto.exception.NoAuthHandlerFound: No handler was ready to authenticate. 1 handlers were checked. ['HmacAuthV1Handler'] Check your credentials
Так что я добавить файл конфигурации в '~/.boto'
, как показано ниже:
[Credentials]
AWS_ACCESS_KEY_ID=AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY=AWS_SECRET_ACCESS_KEY
После создания файла конфигурации ~/.boto я выполнил команду «python manage.py collectstatic»
я получил ошибку:
boto.exception.S3ResponseError: S3ResponseError: 400 Bad Request
Что я делаю, следуя Boto документа: http://boto.cloudhackers.com/en/latest/getting_started.html
есть все, что я сейчас не хватает?
Пожалуйста, используйте ссылку [изменить], чтобы объяснить как этот код работает и не просто дают код, так как объяснение, скорее всего, поможет будущим читателям. См. Также [ответ]. –