我似乎無法通過API網關獲得來自Lambda的gzip響應。 我在Lambda中編寫我的回覆並在API網關中設置「Content-Encoding」標頭。AWS Lambda中的Gzipped響應 - > API網關
我不確定哪一部分是問題。
下面是LAMBDA到API網關的最終回:
zlib.gzip(myJsonString, function (err, buffer) {
if (err) { return handleError(err, context) }
return context.succeed(buffer.toString('binary'));
});
我試着只是路過的緩衝,base64編碼它,等
使從Chrome中的GET請求: 如果我從網關中刪除Content-Encoding標頭我在瀏覽器中以二進制/ base64 /緩衝區數組作爲字符串響應。
如果我設置標頭,GET請求完全失敗,但沒有響應,但在AWS控制檯中進行測試時會返回帶有引號的有效負載。
我不知道這裏發生了什麼,但如果亞馬遜真的希望人們使用這個東西,我們需要能夠壓縮我們的反應。似乎它應該只是API網關中的一個複選框,然後我可以簡單地從Lambda返回一個JSON字符串並將其自動壓縮。
我有同樣的問題,至少可以說這是令人失望的:/爲什麼不是每個人都在爲使用REST API的APIG抱怨呢? :) –