【问题标题】:Uploading to S3 Bucket with NodeJS Callback must be a function. Received undefined使用 NodeJS 回调上传到 S3 存储桶必须是一个函数。收到未定义
【发布时间】:2019-10-19 02:06:42
【问题描述】:

尝试上传到 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 示例中复制和粘贴的。

【问题讨论】:

    标签: node.js amazon-web-services amazon-s3 aws-sdk aws-sdk-js


    【解决方案1】:

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

    该函数是一个异步函数,因此返回的数据需要由回调函数处理。

    你会想要做的:

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

    NodeJS Documentation

    【讨论】:

      猜你喜欢
      • 2021-03-10
      • 1970-01-01
      • 2022-11-05
      • 2017-04-19
      • 1970-01-01
      • 2019-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多