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’]をそのまま使えばいいので楽ちんですね。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-  
            
              - 
      
AWS CodeCommit 認証情報ヘルパーをmacOSに設定しました
AWS CLI 認証情報ヘルパーを使用して Linux, macOS, or U …
 
-  
            
              - 
      
Mountpoint for Amazon S3を試しました
このブログでは、画像などの配信にS3を使用しています。 WordPressのプラ …
 
-  
            
              - 
      
AWS CLIからIAM Identity CenterへサインインしてCodeCommitのリポジトリを使用する
Macで操作しました。 AWS CLIバージョンアップ [crayon-6908 …
 
-  
            
              - 
      
Amazon Location Service入門ワークショップ-マップの操作
関連記事 Amazon Location Service入門ワークショップの前提 …
 
-  
            
              - 
      
AWS Database Migration Service(DMS)チュートリアル
公式ユーザーガイドのAWS Database Migration Service …
 
-  
            
              - 
      
AWS DeepLensセットアップの儀
AWS DeepLensのセットアップを開始します。 AWS DeepLensを …
 
-  
            
              - 
      
AWS ControlTowerで既存アカウントをまとめて追加
AWS Organizationsに新たに招待したアカウントをAWS Contr …
 
-  
            
              - 
      
Aurora Serverless Data APIを有効にしてLambdaからクエリを実行
Aurora Serverless作成 MySQLを作成しました。 作成時にDa …
 
-  
            
              - 
      
Windows EC2インスタンスでEBSとインスタンスストアを使用する
Amazon EBS基本のデモ(「AWS認定試験テキスト AWS認定 クラウドプ …
 
-  
            
              - 
      
AWS CloudShellでboto3(SDK for Python)使うならpython3
本の執筆をしていて、ちょっとAWS CLIやSDKのふるまいを確認したいことがあ …
 


