Недавно я изменил мои AWS учетные данные в моем .env
файлеAWS-SDK, используя старый ACCESS_KEY_ID
AWS_ACCESS_KEY_ID=XXXXXXXXXXXXX
AWS_SECRET_ACCESS_KEY=
Однако на каждом s3.getSignedUrl
запрос, SDK использует предыдущие (корень) полномочия.
s3.getSignedUrl('putObject', s3Params, (err, data) => {
if (err) {
return res.end();
}
console.log(data) <---------------
const returnData = {
signedRequest: data,
awsImageUrl: `https://${S3_BUCKET}.s3.amazonaws.com/${imageName}`
};
res.json(returnData);
res.end();
});
Это журналы
https://my-bucket.s3.amazonaws.com/my-pic.png?AWSAccessKeyId=YYYYYYYYYYYYYYYContent-Type=image%2Fpng&Expires=SOMEDATE&Signature=SOMESIGNATURE&x-amz-acl=public-read
YYYYYYYYYYYYYYY
является предыдущие, корневые учетные данные
Возможно ли, что в SDK кэшей эти данные?
Если да, то как это сделать недействительным?
Или я пропустил что-то в коде?
В этом файле .env вы ссылаетесь? – jarmod
Формат ~/.aws/credentials, если это то, что вы используете, - aws_access_key_id и aws_secret_access_key (нижний регистр). – jarmod
@jarmod Я буквально только что увидел это, напечатав 'console.log (s3.getSignedUrl ('putObject', s3Params)). Наивно думал, что SDK использует файл .env. Ответ на мой вопрос в ближайшее время – softcode