【问题标题】:AWS serverless S3 upload doesn't upload filesAWS 无服务器 S3 上传不上传文件
【发布时间】:2021-04-16 00:03:44
【问题描述】:

我有一个需要将文件上传到 S3 的 AWS 无服务器应用程序。文件没有上传,也没有收到错误。当我使用没有 S3 连接的“sam local”在本地运行它时,结果相同。打印的最后一行是 'logger.debug('Uploading to S3', uploadParams);' 为什么你认为没有收到错误?

async function uploadFileToS3 (fileAttributes) {
    // call S3 to retrieve upload file to specified bucket
    const uploadParams = { Bucket: bucket, Key: '', Body: '' };

    const fileStream = fs.createReadStream(fileAttributes.filepath);
    fileStream.on('error', (err) => {
        logger.error('File Error', err);
    });
    uploadParams.Body = fileStream;
    uploadParams.Key = fileAttributes.filename;

    logger.debug('Uploading to S3', uploadParams);
    // call S3 to retrieve upload file to specified bucket
    try {
        const stored = await s3.upload(uploadParams).promise();
        logger.info('Upload Success', stored);
    } catch (err) {
        logger.error('S3 upload error', err);
    }
}

【问题讨论】:

标签: amazon-web-services amazon-s3 lambda serverless


【解决方案1】:

问题在于uploadFileToS3 在forEach 循环中被调用,这不是promise 感知的。

【讨论】:

    猜你喜欢
    • 2020-08-14
    • 1970-01-01
    • 2019-06-24
    • 1970-01-01
    • 1970-01-01
    • 2019-07-20
    • 2021-10-24
    • 2021-05-11
    • 1970-01-01
    相关资源
    最近更新 更多