Amazon WS S3 : "액세스하려는 버킷은 지정된 엔드 포인트를 사용하여 주소를 지정해야합니다."라는 오류 메시지가 표시됩니다. [복제]

Jan 04 2021

올바른 엔드 포인트를 사용하여 버킷 주소를 지정하려면 어떻게해야합니까? Django를 사용하여 내 앱을 만들고 있습니다.

나는 이것에 대한 해결책을 다른 언어로 보았고 이해할 수 없었습니다. 파이썬에 대한 해결책이 있습니까?

settings.py

STATIC_URL = '/static/'

MEDIA_ROOT =  os.path.join(BASE_DIR, 'static') 
MEDIA_URL = '/media/'

AWS_ACCESS_KEY_ID = '****************'
AWS_SECRET_ACCESS_KEY = '*******************'
AWS_STORAGE_BUCKET_NAME = '*************+'

AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

이미지 URL은 다음과 같이 시작합니다. https://s3.amazonaws.com/nostalg.ia/media/(...)

모든 튜토리얼에서 볼 수있는 이미지 대상으로 시작해야하는 경우.

답변

AsriBadlah Jan 04 2021 at 03:50

요청을하려면 리전 엔드 포인트를 사용해야합니다. 지역 엔드 포인트의 일반 구문은 다음과 같습니다.

protocol://service-code.region-code.amazonaws.com

예를 들면 :

https://mybucket.s3-ap-southeast-2.amazonaws.com/