如何获得 AWS JavaScript SDK 调用的响应 headers?

How do I get response headers for AWS JavaScript SDK calls?

我有一个简单的 AWS Lambda 函数,它按如下方式进行 S3.getObject() 调用:

const AWS = require('aws-sdk');

AWS.config.logger = console;

const s3 = new AWS.S3();

exports.handler = async (event) => {
  return await getObject({
    Bucket: "<MY-BUCKET>", 
    Key: "<MY-KEY>"
  }).then( (res) => {
    console.log('Retrieved object from S3');
    console.log(res);
    return res.Body.toString('ascii');
  })
};

async function getObject(params){
  return await s3.getObject(params).promise();
}

我已经按照 this document 启用了记录 SDK 调用。

如何获得对 s3.getObject() SDK 调用的响应 headers?我基本上是在尝试检索 S3 请求 ID 和扩展请求 ID。

通过 "AWS.config.logger = console;" 行添加的 in-built 记录器似乎没有记录响应 headers。我如何才能获得对 AWS JavaScript SDK 调用的响应 headers?

P.S:如果你能告诉我上面代码中是否需要 two await 关键字,加分。

收听 httpHeaders 事件。

var requestObject = s3.getObject(params);

requestObject.on('httpHeaders', (statusCode, headers, response, statusMessage) => {
    // your code here.
});

requestObject.promise()
    .then(response => { ... })