AWS APIゲートウェイとAWSラムダ関数を統合しようとしています。インテグレーション要求で「ラムダプロキシ統合」を使用するまで、統合は完璧に機能します。aws lambdaとAPIゲートウェイを統合できません
私は統合要求で「使用ラムダプロキシの統合」をチェックすると、私は取得を開始:
"Execution failed due to configuration error: Malformed Lambda proxy response"
私は少し周りググと私は特定のフォーマットで応答を返送する必要があることに気づい:
{
"isBase64Encoded": true|false,
"statusCode": httpStatusCode,
"headers": { "headerName": "headerValue", ... },
"body": "..."
}
しかし、それでも、私はまだ同じエラーが表示されます。私は間違って何をしていますか?
@Override
public String handleRequest(Object input, Context context) {
context.getLogger().log("Input: " + input);
return uploadN10KWebsiteRepositoryToS3();
}
private String uploadN10KWebsiteRepositoryToS3() {
/*BitbucketToS3Upload.JsonResponse jsonResponse = new BitbucketToS3Upload.JsonResponse();
jsonResponse.body = "n10k_website repository uploaded to S3...";
String jsonString = null;
try {
ObjectMapper mapper = new ObjectMapper();
jsonString = mapper.writeValueAsString(jsonResponse);
HashMap<String, Object> test = new HashMap<String, Object>();
test.put("statusCode", 200);
test.put("headers", null);
test.put("body", "n10k_website repository uploaded to S3");
test.put("isBase64Encoded", false);
jsonString = mapper.writeValueAsString(test);
}
catch (Exception e) {
int i = 0;
}*/
//return jsonString;
return "{\"isBase64Encoded\":false, \"statusCode\":200, \"headers\":null, \"body\": \"n10k_website repository uploaded to S3\"}";
}
私はAPI GatewayコンソールからAPIをテストする場合、これは私が得る応答である:
これは私のラムダ関数は次のようになります
Received response. Integration latency: 4337 ms Mon Aug 07 00:33:45 UTC 2017 : Endpoint response body before transformations: "{\"isBase64Encoded\":false, \"statusCode\":200, \"headers\":null, \"body\": \"n10k_website repository uploaded to S3\"}"
Mon Aug 07 00:33:45 UTC 2017 : Endpoint response headers: {x-amzn-Remapped-Content-Length=0, x-amzn-RequestId=0ff74e9d-7b08-11e7-9234-a1a04edc223f, Connection=keep-alive, Content-Length=121, Date=Mon, 07 Aug 2017 00:33:45 GMT, X-Amzn-Trace-Id=root=1-5987b565-7a66a2fd5fe7a5ee14c22633;sampled=0, Content-Type=application/json}
Mon Aug 07 00:33:45 UTC 2017 : Execution failed due to configuration error: Malformed Lambda proxy response
Mon Aug 07 00:33:45 UTC 2017 : Method completed with status: 502
Iアンチェックします'Use Lambda Proxy integration'、すべて正常に動作します。しかし、なぜ私の応答が不正なのか、それを修正する方法を知りたい。ありがとう!