Javascript AWS SDK:s3.upload不是一个函数

Javascript AWS SDK:s3.upload不是一个函数,javascript,node.js,amazon-s3,aws-sdk,Javascript,Node.js,Amazon S3,Aws Sdk,我正在尝试从Node.js应用程序将文件上传到S3存储桶,因此我将遵循一些非常简单的教程,如 代码非常简单: 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_se

我正在尝试从Node.js应用程序将文件上传到S3存储桶,因此我将遵循一些非常简单的教程,如

代码非常简单:

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"
你可以试试这个

s3 = new AWS.S3({apiVersion: '2006-03-01'});

s3.upload(params, function(err, data) {
  console.log(err, data);
});


其他方法呢?它是否只针对
上传
控制台.log(s3.copyObject)
提供
[“长度”、“名称”、“参数”、“调用方”、“原型”]
,因此定义了它。对于
console.log(s3.createBucket)
来说也是一样,它不是未定义的。看起来问题是针对
upload
indeedThanks的,我试过了,但问题仍然存在
s3.upload
仍然未定义(尽管其他方法如
s3.createBucket
未定义),因为您可以成功执行其他与s3相关的操作,如listBucket、CreateBack、listObjects。
s3 = new AWS.S3({apiVersion: '2006-03-01'});

s3.upload(params, function(err, data) {
  console.log(err, data);
});