Amazon WS S3: Estou recebendo esta mensagem de erro: “O bucket que você está tentando acessar deve ser endereçado usando o endpoint especificado.” [duplicado]

Jan 04 2021

como posso endereçar o bucket usando o endpoint correto? Estou usando Django para criar meu aplicativo.

Eu vi uma solução para isso em uma linguagem diferente e não consegui entender nada, existe uma solução para Python?

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'

O url das imagens começa assim: https://s3.amazonaws.com/nostalg.ia/media/(...)

Quando deve começar com o destino da imagem como vejo em todos os tutoriais.

Respostas

AsriBadlah Jan 04 2021 at 03:50

Você precisa usar o endpoint regional para fazer suas solicitações. A sintaxe geral de um endpoint regional é a seguinte:

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

Por exemplo:

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