AWS SDK: s3.upload не является функцией - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь загрузить файлы в свою корзину S3 из моего приложения Node.js, поэтому я следую очень простым руководствам, например этому .

Код довольно прост:

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"

Я взглянул на официальную AWS документацию и s3.upload() кажется, это вещь. Понятия не имею, почему я получаю ошибку.

Если я console.log(s3.upload) получаю undefined.

Node.js v13.11.0.

EDIT

В итоге я использовал 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

1 Ответ

0 голосов
/ 16 июня 2020

Вы можете попробовать это

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

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

...