如何获得 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 => { ... })
我有一个简单的 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 => { ... })