Я загружаю файлы в цифровые океанские пространства с помощью multer s3, который использует amazon s3 sdk. У меня есть 2 профиля в моем файле учетных данных, который хранится на моем компьютере. Как я могу указать, какой профиль учетных данных я хочу использовать в моем коде? Я обнаружил, как это можно сделать с помощью чистого sdk amason s3, но не как сделать это с помощью multer s3. Вот как выглядит мой код загрузки и файл учетных данных.
код
const aws = require("aws-sdk");
const multer = require("multer");
const multerS3 = require("multer-s3");
const spaceEndPoint = new aws.Endpoint("ams3.digitaloceanspaces.com");
const s3 = new aws.S3({
endpoint:spaceEndPoint
})
const upload = multer({
storage:multerS3({
s3:s3,
bucket: "fileRepo",
contentType: multerS3.AUTO_CONTENT_TYPE,
acl:"public-read",
key:function(request, file, cb){
console.info(file);
cb(null, file.originalname);
}
})
}).array("upload",1);
router.post("uploadFile", function(req,res){
upload(req, res, function(error){
if (error){
console.info(error);
return res.redirect("/");
}
});
})файл учетных данных
[default] ; default profile
aws_access_key_id = <DEFAULT_ACCESS_KEY_ID>
aws_secret_access_key = <DEFAULT_SECRET_ACCESS_KEY>
[personal-account] ; personal account profile
aws_access_key_id = <PERSONAL_ACCESS_KEY_ID>
aws_secret_access_key = <PERSONAL_SECRET_ACCESS_KEY>Как я могу отредактировать код, чтобы он использовал профиль личной учетной записи вместо профиля по умолчанию?





Вы также можете явно выбрать профиль, используемый AWS Javascript SDK, установив process.env.AWS_PROFILE перед загрузкой SDK или выбрав поставщика учетных данных, как показано в следующем примере:
var AWS = require('aws-sdk');
var credentials = new AWS.SharedIniFileCredentials({profile: 'personal-account'});
AWS.config.credentials = credentials;