Obter objeto do S3 na função AWS Lambda e enviar para o Api Gateway
Estou tentando obter um arquivo .jpg de um balde e enviá-lo de volta ao gateway da API. Acredito que tenho a configuração correta, pois vejo coisas sendo registradas. Ele pega o arquivo do s3 fine e o gm é a biblioteca graphicsmagick. Não tenho certeza se eu estou usando certo embora.
Na função lambda, faço isso (grande parte do código vem do exemplo aws):
async.waterfall([
function download(next) {
console.log(srcKey);
console.log(srcBucket);
// Download the image from S3 into a buffer.
s3.getObject({
Bucket: srcBucket,
Key: srcKey
},
next);
},
function transform(response, next) {
console.log(response);
next(null, 'image/jpeg', gm(response.Body).quality(85));
},
function sendData(contentType, data, next){
console.log(contentType);
console.log(data);
imageBuffer = data.sourceBuffer;
context.succeed(imageBuffer);
}
]
);
O cabeçalho da resposta tem o comprimento do conteúdo: 85948, o que não parece correto porque o arquivo original tem apenas 36kb. Alguém sabe o que estou fazendo de errado?