amazon-web-services - 如何获取 AWS JavaScript SDK 调用的响应标头?
问题描述
我有一个简单的 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();
}
我已根据此文档启用了记录 SDK 调用。
如何获取已进行的s3.getObject()
SDK 调用的响应标头?我基本上是在尝试检索 S3 请求 ID 和扩展请求 ID。
通过“AWS.config.logger = console;”添加的内置记录器 行似乎没有记录响应标头。我还能如何获取 AWS JavaScript SDK 调用的响应标头?
PS:如果您可以让我知道我是否需要在上面的代码中使用两个 await
关键字,则可以加分。
解决方案
听httpHeaders
事件。
var requestObject = s3.getObject(params);
requestObject.on('httpHeaders', (statusCode, headers, response, statusMessage) => {
// your code here.
});
requestObject.promise()
.then(response => { ... })
推荐阅读
- process - 在 Raku 中防止文件描述符泄漏所需的建议
- python - 如何在 selenium Safari() 中找到此元素
- javascript - 如何在网页的 DOM 中保存 html 元素的位置
- ios - 控制不带字符的 UITextView 换行符
- powershell - 使用 powershell 添加 Windows 10 媒体功能包
- python - 子类化熊猫数据框并在构造函数中设置字段
- python - 附加用户输入的列表
- node.js - Node JS - 加密/解密
- ruby-on-rails - 图片未显示,ckeditor 和 rails 6
- r - X 轴在热图中不可见