1

GETメソッドでラムダ関数を実行しようとしているので、AWS LambdaAWS API Gatewayを統合しようと混乱しています。APIゲートウェイをGETメソッドでラムダと統合する方法

{"errorMessage": "エラー - 無効なグループID - 未定義 - alexa id: 未定義"} |

パラメータが関数に到達せず、idgrupo変数が<=0であるために発生します。

私はこのフォームでURLとラムダ関数を実行しようとしています:

domain.execute-api.us-east-1.amazonaws.com/prod/chkneopairtoken?idgrupo=3823&clientId={321356-6666-4745}&keypair=90809276 

そして、私のラムダ関数の中で、私はそれをやっている:

var idgrupo = event.idgrupo; 
var alexaClientId = event.clientId; 
var keypair = event.keypair; 

if (idgrupo > 0){ 

} else{ 
     console.log("Error - Invalid Group ID - " + idgrupo + " - alexa id: " + alexaClientId + " - "); 
     //callback(null, "Error - Invalid Group ID - " + idgrupo + " - alexa id: " + alexaClientId); 
     context.fail("Error - Invalid Group ID - " + idgrupo + " - alexa id: " + alexaClientId); 
    } 

が行うにはそこに可能性があります私は何をしようとしていますか? API GatewayとAWS Lambdaの統合エラーではないと思います。カスタムエラーメッセージが返されるため、転送パラメータエラーと思われます。

+0

このテンプレートを追加します。あなたのラムダ関数。 –

+0

私は理解しましたが、 "Method Request"または "Integration Request"でマップします。あなたは私に例を示していますか?ありがとうございました –

答えて

1

戻ってあなたのリソースGETの「統合・リクエスト」に移動し、「ボディマッピング・テンプレート」の下で

  1. 「リクエストボディのパススルー」のために推奨されるオプションの選択
  2. (アクション「マッピングテンプレートの追加」をクリックする)マッピングテンプレートの追加の書き込み「アプリコンテンツタイプ
  3. ための陽/ jsonの」あなたはあなたのAPI Gatewayのマッピングテンプレートでリクエストパラメータをマッピングされていないので、彼らは使用できませんようですね

{ 
    "idgrupo" : "$input.params('idgrupo')", 
    "clientId" : "$input.params('clientId')", 
    "keypair" : "$input.params('keypair')" 
} 
0

APIゲートウェイコンソールの[統合要求]の[マッピングテンプレート]セクションで、送信するコンテンツタイプのテンプレートを作成し、[メソッドリクエストパススルー]を選択します。これにより、すべてがLambda関数に渡されます。

その後、あなたのラムダ関数のコードで、あなたがevent.params.idgrupoを経由して、それらのURLパラメータ値を参照する必要があります、event.params.clientIdなど

関連する問題