AWS LambdaでHello Worldの例を設定し、APIゲートウェイ経由で提供しようとしています。「Lambda関数の作成」をクリックしてAPIゲートウェイを設定し、空の関数オプションを選択しました。AWS ゲートウェイ入門ガイド:
exports.handler = function(event, context, callback) {
callback(null, {"Hello":"World"}); // SUCCESS with message
};
問題は、GET リクエストを送信すると、502 応答が返されることです{ "message": "Internal server error" }
。ログには、「構成エラーのため実行に失敗しました: Lambda プロキシ応答の形式が正しくありません」と表示されます。
ベストアンサー1
通常、 が表示された場合はMalformed Lambda proxy response
、Lambda関数からの応答がAPI Gatewayが期待する形式と一致しないことを意味します。
{
"isBase64Encoded": true|false,
"statusCode": httpStatusCode,
"headers": { "headerName": "headerValue", ... },
"body": "..."
}
Lambda プロキシ統合を使用していない場合は、API Gateway コンソールにログインし、Lambda プロキシ統合チェックボックスをオフにすることができます。
また、断続的に発生する場合はMalformed Lambda proxy response
、Lambda 関数へのリクエストが Lambda によって調整されている可能性があり、Lambda 関数の同時実行制限の増加をリクエストする必要があります。