Как получить заголовки ответа для вызовов AWS JavaScript SDK? - PullRequest
0 голосов
/ 13 сентября 2018

У меня есть простая лямбда-функция AWS, которая выполняет вызов 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 и расширенный идентификатор запроса.

Встроенный регистратор добавлен через "AWS.config.logger = console;" В строке не отображаются заголовки ответа. Как еще получить заголовки ответа для вызовов AWS JavaScript SDK?

P.S: Бонусные баллы, если вы можете сообщить мне, нужно ли мне два await ключевых слова в коде выше.

1 Ответ

0 голосов
/ 13 сентября 2018

Прослушивание httpHeaders события.

var requestObject = s3.getObject(params);

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

requestObject.promise()
    .then(response => { ... })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...