API Gateway Lambdaプロキシ統合で渡されるリクエストを確認しました
2021/01/12
API Gatewayの統合リクエストでLambdaを指定するときにプロキシ統合を使用すると、独自でマッピングテンプレートをする必要なく、クエリ文字列パラメータなどをいい具合に渡してくれます。
統合リクエストでLambda関数を選択して、[Lambdaプロキシ統合の使用]にチェックを入れました。
メソッドリクエストで、クエリ文字列パラメータを設定しました。
API Gatewayのテストを実行した結果です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
{ "resource": "/memo", "path": "/memo", "httpMethod": "POST", "headers": None, "multiValueHeaders": None, "queryStringParameters": { "MemoId": "001", "Memo": "Hello" }, "multiValueQueryStringParameters": { "MemoId": [ "001" ], "Memo": [ "Hello" ] }, "pathParameters": None, "stageVariables": None, "requestContext": { "resourceId": "tyitdd", "resourcePath": "/memo", "httpMethod": "POST", "extendedRequestId": "YmjPqFZFIAMFtJQ=", "requestTime": "04/Jan/2021:02:36:32 +0000", "path": "/memo", "accountId": "123456789012", "protocol": "HTTP/1.1", "stage": "test-invoke-stage", "domainPrefix": "testPrefix", "requestTimeEpoch": 1609727792969, "requestId": "baaa7012-1af5-4bbf-84e2-e2855a964d0f", "identity": { "cognitoIdentityPoolId": None, "cognitoIdentityId": None, "apiKey": "test-invoke-api-key", "principalOrgId": None, "cognitoAuthenticationType": None, "userArn": "arn:aws:iam::123456789012:user/yamashita", "apiKeyId": "test-invoke-api-key-id", "userAgent": "aws-internal/3 aws-sdk-java/1.11.864 Linux/4.9.230-0.1.ac.223.84.332.metal1.x86_64 OpenJDK_64-Bit_Server_VM/25.262-b10 java/1.8.0_262 vendor/Oracle_Corporation", "accountId": "123456789012", "caller": "EXAMPLE", "sourceIp": "test-invoke-source-ip", "accessKey": "EXAMPLE", "cognitoAuthenticationProvider": None, "user": "EXAMPLE" }, "domainName": "testPrefix.testDomainName", "apiId": "1ouchacnu1" }, "body": None, "isBase64Encoded": False } |
Lambdaでevent[‘queryStringParameters’]をそのまま使えばいいので楽ちんですね。
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター3年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Microservices × Serverless On AWS」で運営と懇親会LTをしてきました
「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Micr …
-
-
AWS CodeDeployからEC2 Auto Scalingにデプロイするチュートリアル
公式チュートリアルチュートリアル: アプリケーションを CodeDeployグル …
-
-
AWS EC2でAMI(Amazon Machine Image)を作成しておく
前回まででひとまずRedmineを構築するところまで出来たので、念のためスナップ …
-
-
re:Invent 徒歩記(シアトルも)
このブログは、AWS re:invent 2018 Advent Calenda …
-
-
前からできましたっけ??CloudWatch Logsの保持設定を複数まとめて設定
AWSの個人アカウントで要らなさそうなリソースの断捨離をしてます。 CloudW …
-
-
2017年、このブログ(WordPress(Amazon EC2 + RDS))で対応してきたこと
Amazon Web Services Advent Calendar 2017 …
-
-
AWS Cloud9で環境を共有する
(特にリモート環境では)画面共有をしたり、リポジトリを共有したり、コーディング環 …
-
-
slackのbotに天気を教えてもらう(Python on AWS Lambda + API Gateway)
slackのbotにAPIの定番ともいえる天気情報を教えてもらいました。 環境は …
-
-
Amazon EMR 「Hadoop を使用してビッグデータを分析」チュートリアルをやってみました
AWS認定データアナリティクス受験準備の一環で、Amazon EMRのチュートリ …
-
-
DynamoDB IAMポリシーで特定項目だけを許可する
検証記録です。 対象テーブル 書籍のサンプルで作ったこちらです。 所属バンドの楽 …