Мы хотели бы использовать Javascript AWS SDK для загрузки файлов на S3, но без использования учетных данных вообще. Загрузка с использованием учетных данных работает, но мы не можем генерировать пользователя AWS IAM для каждого из наших пользователей приложений (или должны ли мы?)
Поэтому, подобно использованию GET, мы хотели бы, чтобы сервер создавал предварительно подписанный URL-адрес, отправлял его в браузер и загружал браузер на этот URL-адрес.
Однако примеров того, как это сделать, нет. Кроме того, если вы не устанавливаете учетные данные, даже перед отправкой запроса на S3 ошибки SDK с помощью
code: "CredentialsError"
message: "No credentials to load"
В JS SDK упоминается об этом, поэтому, возможно, это будет возможно:
Pre-signing a putObject (asynchronously)
var params = {Bucket: 'bucket', Key: 'key'};
s3.getSignedUrl('putObject', params, function (err, url) {
console.log('The URL is', url);
});