django boto3: NoCredentialsError - Não foi possível localizar credenciais
Estou tentando usarboto3
no meu projeto django para fazer upload de arquivos para o Amazon S3. As credenciais são definidas emsettings.py
:
AWS_ACCESS_KEY = xxxxxxxx
AWS_SECRET_KEY = xxxxxxxx
S3_BUCKET = xxxxxxx
Noviews.py
:
import boto3
s3 = boto3.client('s3')
path = os.path.dirname(os.path.realpath(__file__))
s3.upload_file(path+'/myphoto.png', S3_BUCKET, 'myphoto.png')
O sistema reclama deUnable to locate credentials
. Eu tenho duas perguntas:
(a) Parece que devo criar um arquivo de credenciais~/.aws/credentials
. Mas em um projeto de django, onde devo colocar?
b) O método s3upload_file
usa o caminho / nome do arquivo como seu primeiro argumento. É possível fornecer um fluxo de arquivos obtido por um elemento de entrada de formulário<input type="file" name="fileToUpload">
?