我正在尝试从Node.js应用程序将文件上传到S3存储桶,因此我正在遵循一些非常简单的教程,例如this one。
代码非常简单:
const AWS = require("aws-sdk"); // fresh install, version : ^2.697.0
AWS.config.update({ // Credentials are OK
accessKeyId: process.env.s3_accessKeyId,
secretAccessKey: process.env.s3_secretAccessKey,
region: 'eu-central-1'
});
const s3 = new AWS.S3();
let params = {
// (some upload params, file name, bucket name etc)
};
s3.upload(params); // <-- crash with error: "s3.upload is not a function"
我看了the official AWS documentation,发现s3.upload()
似乎是一件事情。我不知道为什么会出错。
如果我console.log(s3.upload)
我得到undefined
。
Node.js v13.11.0。
编辑
我最终使用了s3.putObject()
,它与s3.upload()
几乎一样,并且可以工作,而后者仍然无法解释...
console.log(`typeof s3.upload = `);
console.log(typeof s3.upload); // undefined?? WHY
console.log(`typeof s3.putObject = `);
console.log(typeof s3.putObject); // function, and works
答案 0 :(得分:0)
您可以尝试
s3 = new AWS.S3({apiVersion: '2006-03-01'});
s3.upload(params, function(err, data) {
console.log(err, data);
});