1. ホーム
  2. amazon-web-services

[解決済み] Amazon API GatewayからAWS Lambdaにクエリストリングやルートパラメータを渡す方法

2022-03-22 07:26:36

質問

を使いたい場合、例えば

GET /user?name=bob

または

GET /user/bob

この2つの例をLambda関数にパラメータとして渡すとしたら、どうなるでしょうか?

ドキュメントに"mapped from"を設定するようなことが書いてありましたが、API Gatewayのコンソールでその設定を見つけることができません。

  • method.request.path.parameter-name という名前のパスパラメータに対して parameter-name メソッドリクエストのページで定義されているように
  • method.request.querystring.parameter-name という名前のクエリ文字列パラメータに対して parameter-name メソッドリクエストのページで定義されているように

クエリ文字列を定義したのに、どちらのオプションも表示されません。

どうすればいいですか?

2017年9月現在、リクエストボディにアクセスするためのマッピングを設定する必要がなくなりました。

リソースの下のIntegration Requestにある、"Use Lambda Proxy integration"にチェックを入れるだけでよい。

すると、クエリーパラメーター、パスパラメーター、ヘッダーに以下のようにアクセスできるようになります。

event['pathParameters']['param1']
event["queryStringParameters"]['queryparam1']
event['requestContext']['identity']['userAgent']
event['requestContext']['identity']['sourceIP']