【问题标题】:File Upload to s3 bucket via NodeJS Console app via aws-sdk doesnt get completed通过 aws-sdk 通过 NodeJS 控制台应用程序将文件上传到 s3 存储桶未完成
【发布时间】:2022-01-27 23:31:17
【问题描述】:

我确实有一个一次性运行的 JS 文件,它作为命令行工具运行。但不能作为 REST 服务器。

我遇到的问题是我确实有以下函数,它接受参数并将文件上传到指定的 S3 存储桶。

const uploadToAWSS3Bucket = (stream, fileName, bucketName) =>{
    const params = {
        Bucket: bucketName || '',
        Key: fileName,
        Body: stream
    };

    console.log(`Using Bucket ${bucketName} for uploading the file ${fileName}`);
    
    return s3.upload(params, (err, data) => {
        if (err) {
            console.log(err);
        }
        console.log(data.stringify);
        console.log(`File uploaded successfully. ${data.Location}`);
        console.log(`Finished uploading the file ${fileName} to Bucket ${bucketName}.`);
        
    }).promise();
    // await sleep(80000);

};

这是通过以下方法调用/实现的。

(async()=>{
    const result  = await uploadToAWSS3Bucket(stream, 'filename.json', 'mybucketname');
    console.log(result);           
});

但是,node index.js 命令退出并给出命令行输出,因此文件上传似乎永远不会完成。

我遗漏了什么或任何适用于这种情况的技巧?

【问题讨论】:

    标签: node.js asynchronous npm async-await aws-sdk


    【解决方案1】:

    该命令不执行任何操作而退出,因为您的 IIFE 在末尾缺少 ()

    (async () => {
        console.log('do something');           
    })();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-28
      • 2020-12-28
      • 1970-01-01
      • 2020-03-17
      • 2021-07-22
      • 2020-03-30
      • 1970-01-01
      • 2018-04-25
      相关资源
      最近更新 更多