前提
ApiGatewayからlambdaを起動して、プログラムを動かそうとしています。 今は仮のプログラムなのですが、今後CORS対応なども必要になります。
ApiGatewayの設定でLambdaプロキシ統合を選択した場合、lambdaのレスポンスでCORSのAccess-Control-Allowを返却しなければいけないことはわかっています。
質問したい内容としては、「Lambdaプロキシ統合を選択した場合、lambdaでCORS対応を行えば、API GatewayでのOPTIONSメソッド設定などは何も必要ないのか」ということです。
AWSの公式の回答は下記です。
>Lambda プロキシ統合、または HTTP プロキシ統合の場合、APIGateway で必要な OPTIONS レスポンスヘッダーを引き続き設定できます。
https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/how-to-cors.html
「APIGatewayで必要な OPTIONS レスポンスヘッダーを引き続き設定できます。」という意味がよくわかりません。
プロキシ統合した場合、統合レスポンスがグレーアウトされ、OPTIONSに設定したとしても、何も返却できないような気がしていて、設定が必要ないという認識ですがどうなのでしょうか。
繰り返しになりますが、「lambdaプロキシ統合ではOPTIONS メソッドを実装する必要があるのかないのか」、が聞きたいこととなります。
よろしくお願いいたします。
実現したいこと
- Lambdaプロキシ統合を使用してのlambdaのCORS対応
発生している問題・エラーメッセージ
Lambdaプロキシ統合でもOPTIONS のメソッドが必要なのかどうなのかが不明
該当のソースコード
公式から持ってきたものでサンプルですが、ヘッダーなどは下記と同じものを返却しております。
Python3
1import json 2 3def lambda_handler(event, context): 4 return { 5 'statusCode': 200, 6 'headers': { 7 'Access-Control-Allow-Headers': 'Content-Type', 8 'Access-Control-Allow-Origin': 'https://www.example.com', 9 'Access-Control-Allow-Methods': 'OPTIONS,POST,GET' 10 }, 11 'body': json.dumps('Hello from Lambda!') 12 }
試したこと
シンプルリクエストはCORSに引っかからず問題ないことは確認しました。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/17 00:01