使用 NodeJS 回调上传到 S3 Bucket 必须是一个函数。收到未定义

Uploading to S3 Bucket with NodeJS Callback must be a function. Received undefined

尝试上传到 NodeJS 中的 S3 存储桶,但我不断收到此错误:

##[error]Callback must be a function. Received undefined
##[error]Node run failed with exit code 1

这是我执行上传的脚本:

var AWS = require('aws-sdk');
const s3 = new AWS.S3({apiVersion: '2006-03-01', accessKeyId: AWS_SECRET_ID, secretAccessKey:AWS_SECRET_KEY, region:AWS_REGION  });
  var body = fs.open(`./${package}`);

  const params = {
   Body: body,
   Bucket: bucketName
   };
   s3.upload(params, function(err, data){
     if(err){
       console.log(`Failed upload to ${bucketName}`);
       throw err;
     } else {
       console.log(`Succesful upload to ${bucketName}`);
     }
   });

我在这里很困惑,因为我在上传时有回调?其中很多只是从 AWS 示例中复制和粘贴的。

fs.open() 接受一个参数,callback。这可能是错误的来源。

该函数为异步函数,返回数据需要回调函数处理。

你会想做:

fs.open(`./${package}`, (err, data) => {
   // Implement callback here
});

NodeJS Documentation