2017-04-09 44 views
1

我有一個用Java編寫的Lambda,我想從中輸出二進制數據(即Excel電子表格)。我注意到由Lambda返回的數據由Api Gateway進行了變異。爲了研究這個問題,我創建了一個簡單的λ,輸出:使用lambda代理集成mangles二進制輸出的Api網關

{ 
    "statusCode": 200, 
    "headers": {}, 
    "body": "AOld", 
    "isBase64Encoded": true 
} 

這對應於三個(十六進制)字節:

00 E9 5D 

我然後設置在API網關的API。 API包含一個簡單的根資源方法,它的集成請求是一個Lambda函數,帶有代理集成,指向上面的Lambda。我正在傳入Content-Type和Accept標頭,並且正在使用的內容類型被標記爲二進制媒體類型。 當此通過API網關,不過,我得到

00 EF BF BD 5D 

任何想法,爲什麼API網關的重整我的二進制輸出?

+0

我試圖複製這個,並且我還沒有成功。你能否確認你在更改api配置後重新調用了你的API? –

回答

0

這個問題最終發生在我用來做我的查詢的郵差。當我在命令行中通過curl執行查詢時,問題就消失了。