HTTP応答に問題が発生し、ステータスコード502とエラーメッセージInternal Server Errorが表示されます。私のセットアップはNodeJSで書かれたAWS Lambdaで、別のLambdaと統合されたAWS API GatewayへのHTTPS POSTリクエストをバックエンドとして作成します。HTTP要求の発行内部サーバーエラー
奇妙な部分は、APIのバックエンドとして機能するラムダは、すべてのPOST要求をうまく受け取り、その機能を完璧に実行できますが、コールバックは他のラムダにエラーで応答します。
以下は、APIゲートウェイ側のラムダ
const done = (err, res) => callback(err, {
statusCode: err ? JSON.stringify(err.code) : '200',
body: err ? JSON.stringify(err.message) : JSON.stringify(res),
headers: {
'Content-Type': 'application/json',
}
});
そして、ここでは上のコールバックは、他のラムダからのコードがHTTPS POSTリクエスト
const req = https.request(options, (res) => {
console.log('statusCode:', res.statusCode);
console.log('headers:', res.headers);
res.on('data', (d) => {
process.stdout.write(d);
});
res.on('end', function() {
console.log(JSON.stringify(body));
});
});
req.on('error', (e) => {
console.error(e);
console.log("request error");
});
req.write(JSON.stringify(payload));
console.log("req.end");
req.end();
を作るです私はこの問題はであると感じこれらのコードブロックは、ラムダ統合APIゲートウェイのコールバックを変更して200ステータスコードへの応答をハードコードするため、すべて正常に機能するためです。
APIラムダには何らかのエラーがありますそれ。そのログを確認します。下記を参照してください:https://docs.aws.amazon.com/lambda/latest/dg/nodejs-prog-mode-exceptions.html –
まず、Cloudwatchのエラーを確認します。次に、マッピングテンプレートを確認します(Lambda-Proxy統合を使用していない場合)。 – dashmug