web-dev-qa-db-ja.com

メッセージ:AWSゲートウェイAPIにアクセスしようとすると「内部サーバーエラー」

Node.jsを使用してLambda Hello world関数を作成し、Get呼び出しのAPI GateWayトリガーを作成し、URLを試してLambda関数にアクセスし、エラーを取得しました。

メッセージ:「内部サーバーエラー」。

(AWSに非常に新しい)

18
user1671308

Lambda関数を実行した後、statusCodeを渡す必要があります。渡さない場合、API Gatewayはエラーをトリガーします502 Bad Gatewayデフォルトでは。

message = {
   'message': 'Execution started successfully!'
}
return {
    'statusCode': 200,
    'headers': {'Content-Type': 'application/json'},
    'body': json.dumps(message)
}

編集:このサンプルはPython用です。 node.jsの場合、コールバックを処理するだけでよく、メッセージは基本的に同じです。

callback(null, {
    statusCode: 200,
    body: JSON.stringify(message),
    headers: {'Content-Type': 'application/json'}
});
27
ljmocic

私はこの問題を抱えていましたが、私の場合はAPI GatewayとJava lambda関数を使用していました。Cloudwatchを見るとエラーはありませんでした。私の場合、応答オブジェクトには、intではないstatusCodeがありましたが、APIゲートウェイではintである必要があります。

この

    private final ResponseCode statusCode;
    private final String body;
    private final Map<String, String> headers;
    private final boolean isBase64Encoded;

StatusCodeをintに変更した後

    private final int statusCode;

これは動作します

1
onlyme

応答の本文として必ず本文を渡してください。オブジェクトの場合は失敗し、表示されるエラーが表示されます。詳細はこちらをご覧ください- http://www.awslessons.com/2017/lambda-api-gateway-internal-server-error/

0
Joel M.

API Gateway + Lambdaを使用してこの問題が発生しました。私の場合、問題は単に許可の問題でした。 APIでステージを使用していました。

実行しなければならなかった

aws lambda add-permission --function-name X --source-arn "X" --principal apigateway.amazonaws.com --statement-id X --action lambda:InvokeFunction

お役に立てれば。

0
miqrc

既に上記で説明しましたが、私の問題はラムダを呼び出すだけでうまくいきました:

exports.handler = async (event) => {
    return "gugus"
};

したがって、ラムダでのすべてのテストはうまくいきました。ログも正常に見えました。 APIレスポンスだけでは問題ありませんでした。

APIゲートウェイで呼び出すには、次のようなものが必要です。

exports.handler = async (event) => {
...
    var res ={
        "statusCode": 200,
        "headers": {
            "Content-Type": "*/*"
        }
    };
    res.body = "gugus";
    return res;
};
0
Tobi

このエラーは、APIの構成に問題があったことを示しています。 CloudWatch Logsを有効にすると、詳細情報を確認できます。 https://aws.Amazon.com/premiumsupport/knowledge-center/api-gateway-cloudwatch-logs/

0
Jack Kohn - AWS