【发布时间】: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