node.js - S3 GetObject 不返回响应

标签 node.js amazon-s3

我正在尝试从 s3 存储桶中获取对象。但是我没有得到响应,而且控制台中也没有错误记录。

function test(filename) {
        return new Promise((resolve => {

            var params = {
                 Bucket: bucket, 
                 Key: "pptSource/"+filename
            };

            s3.getObject(params, function(err, data) {
                // Handle any error and exit
                if (err) {
                    console.log(err);
                }

              resolve(data.Body);
            });
        }));
    }

我在下面的函数中调用函数:

exports.handler = async (event) => {

        function test(filename) { .. }

        async function run() {
                var sourceFile = "XX_company_presentation_2019_v1~1-2.pptx";
                var filename = sourceFile;

                var pptSource = await test(filename);
                console.log(pptSource);
        }

        run();
}

并获取后续日志

END RequestId: 078fcfaf-949d-4231-9bcb-a35d40ffd3a3
REPORT RequestId: 078fcfaf-949d-4231-9bcb-a35d40ffd3a3  Duration: 34.78 ms  Billed Duration: 100 ms     Memory Size: 3008 MB    Max Memory Used: 106 MB

最佳答案

所以,基本上您不需要等待运行函数完成。

改成

await run();

这将等待 Promise 解决

关于node.js - S3 GetObject 不返回响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57134621/

相关文章:

node.js - 通过动态 url 参数负载平衡 websocket 连接

typescript - AWS CDK - 构造函数参数不匹配

amazon-web-services - AWS 权限 - 我们是否需要在 Lambda 和 S3 上设置权限

amazon-web-services - 并发实例下载时S3下载太慢?

ruby-on-rails - CarrierWave 不适用于 Fog 和 S3 : ArgumentError. 。 ."is not a recognized storage provider"

php - 使用恢复支持将大文件上传到 S3

mysql - 在node js forEach中插入多个文本单个textarea

javascript - 处理 google photo reference 获取图片 url

javascript - 特定端点 Angular 设置 header Angular 1

html - 使用 AngularJS 和 NodeJS 创建注册流程