web-dev-qa-db-ja.com

AWSLambdaのGETパラメーターにアクセスします

AWSは初めてで、RDS接続を使用してLambda関数を正常にセットアップしました。ここで、APIゲートウェイを介して外部から新しい関数にアクセスし、「color」:「red」のようないくつかの引数を渡したいと思います。

https://my-api-id.execute-api.region-id.amazonaws.com/flowerscolor = red

開発者ガイド に従ってすべてをセットアップしましたが、残念ながら、Python Lambda関数のGETパラメーターにアクセスできません。

AWS APIGatewayでこれまでに行ったこと:

  • リソース「/ flowers」とGETメソッドの作成
  • GET->メソッドリクエスト-> URLクエリ文字列パラメータ->「色」を追加
  • GET->統合リクエスト->タイプ:Lambda関数
  • GET->統合リクエスト-> URLクエリ文字列パラメータ->追加name: colormapped: method.request.querystring.color

ラムダハンドラーでcolorパラメーターにアクセスしようとしましたが、イベントは常に空であり、パラメーターがどこにあるべきかわかりません。

def handler(event, context):

    return event     // {}

GETを使用したリクエストボディがない限り、ボディマッピングタンプレートを使用できないと思います。

colorパラメーターにアクセスするために、Python Lambda関数で何をする必要があるか誰か知っていますか?

5
user3191334

統合リクエストタイプとしてLambda Proxyを使用します。

そしてあなたのハンドラーでは、

def handler(event, context):

    return {
        'statusCode': 200,
        'body': json.dumps(event),
    }

クエリパラメータには、event['queryStringParameters']としてアクセスできる必要があります。

参照: Lambdaプロキシ統合を使用してプロキシリソースを設定する

11
dashmug