Utiliser le sdk d'aws. Il est rapide et sûr. https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-example-creating-buckets.html
vous n'avez pas besoin d'une url présignée pour télécharger un fichier. je ne sais pas pourquoi cela répond à une question.
Toujours lire à partir du stockage sur disque Diskstroage(par défaut). Si le fichier n'est pas lu complètement, vous pouvez le réessayer. Vérifiez ces échantillons github
// Load the AWS SDK for Node.js
var AWS = require('aws-sdk');
// Set the region
AWS.config.update({region: 'REGION'});
// Create S3 service object
s3 = new AWS.S3({apiVersion: '2006-03-01'});
// call S3 to retrieve upload file to specified bucket
var uploadParams = {Bucket: process.argv[2], Key: '', Body: ''};
var file = process.argv[3];
// Configure the file stream and obtain the upload parameters
var fs = require('fs');
var fileStream = fs.createReadStream(file);
fileStream.on('error', function(err) {
console.log('File Error', err);
});
uploadParams.Body = fileStream;
var path = require('path');
uploadParams.Key = path.basename(file);
// call S3 to retrieve upload file to specified bucket
s3.upload (uploadParams, function (err, data) {
if (err) {
console.log("Error", err);
} if (data) {
console.log("Upload Success", data.Location);
}
});
To run the example, type the following at the command line.
node s3_upload.js BUCKET_NAME FILE_NAME