У меня есть AWS лямбда, которая возвращает ответ размером более 6 МБ. (Я знаю, что он не идеален и ограничивает лямбда-предел AWS, который составляет 6 МБ для типа вызова лямбда-запроса RequestResponse).
В этом случае я получаю следующее сообщение об ошибке:
413 Request entity too large
Я хочу сжать этот ответ перед отправкой его в шлюз API. Моя лямбда находится в javascript, я использую zlib для сжатия ответа в формате gzip, но я получаю asyn c error.
Фрагмент кода:
const invocationResponse = await zlib.gzip(JSON.parse(data.Payload),function (error, result) {
if (error) throw error return result
})
Error:
ProcessingLambdaInvoker: Error (asynchronously) invoking backend lambda: TypeError [ERR_INVALID_ARG_TYPE]: The "chunk" argument must be one of type string or Buffer. Received type object
at validChunk (_stream_writable.js:272:10)
at Gzip.Writable.write (_stream_writable.js:307:21)
at Gzip.Writable.end (_stream_writable.js:617:10)
Может кто-нибудь предложить лучший способ сжать ответ в js и отправить его обратно. Также я должен распаковать это на веб-интерфейсе, или браузер автоматически сделает это. Я знаю, что мне придется сжать его и затем закодировать, используя base64, прежде чем отправить его.