2016-01-07 2 views
5

サンプルAWSラムダ関数:http://docs.aws.amazon.com/lambda/latest/dg/get-started-step4-optional.htmlを設定するには、ここからの例に従ってください。HTTPエンドポイントを使用しているときに、AWTラムダ関数にGETパラメータを渡すにはどうすればよいですか?

次に、AWS API Gateway経由でHTTP GETエンドポイントを作成しました。私はエンドポイントにアクセスすることができますが、私はパラメータとしてint myCountを渡す方法がわかりません。

私は?myCount=3をGETパラメータとして試しましたが、うまくいかなかった。

助けが必要ですか?

+0

を、あなたのコードの一部を投稿することができますか? 「curl -dなど」と同じデータを送信してAPIをテストしましたか? – JohnAllen

+0

データを正しく渡しているならば、ラムダハンドラに渡されるラムダ 'event'オブジェクトのデータにアクセスできるはずです。イベントオブジェクトの内容をハンドラに記録することができます。 – JohnAllen

答えて

3

APIゲートウェイにmapping templateを設定する必要があります。あなたは事前にごパラメータの名前を知っている場合は、あなたのテンプレートは次のようになります。各$input.params('...')が評価されますとイベントが渡されたとき、あなたのクエリ文字列の値がその場所に置かれます

{ 
    "myCount": "$input.params('myCount')", 
    "myUserId": "$input.params('myUserId')" 
} 

をラムダ。

これはかなりラムダ関数にHTTPパラメータを送信するためにpassing query params for aws lambda function

0

の複製である、彼らは、マッピングテンプレートを経由してリクエストボディに送信する必要があります。

これを行う方法の簡単な例は、blog postを参照してください。

0

これはそれを行うための別の方法です:

  1. オープンAPIゲートウェイ、エンドポイントを選択し、リソース

  2. をクリックして設定でメソッド要求を選択

    enter image description here

  3. URLクエリ文字列パラメータでは、クエリ文字列を追加できます。一例として、

    enter image description here

、私のPythonのラムダ関数では、私は次のようにクエリパラメータを取得することができます。

def endpoint(event, context): 
    my_parameter = event["queryStringParameters"] 
関連する問題