AWS API GateWay で「HTTP API」を作成してLambdaのオーソライザーを設定したものの、上手く動作せず困ったので、その際の解決方法についてメモ書きします。
やりたかったこと
やりたかった事としては、APIGateWayに対してhttps通信でリクエスト(https://xxxx/test)を送信し、そのリクエストの中にヘッダー「Aurthorization」を設定しておきます。
APIGateWayで「Aurthorization」の中身を Lambda関数でチェックさせるオーソライザーを作成し、想定通りの中身だったら200レスポンスを返えすようなECSのAPIを実行すると言ったことをしようとしていました。
しかし、ヘッダーの「Aurthorization」に正しい値を設定してリクエストを送っても、"message": "Internal Server Error"
返ってきてしまう状態となっていました。
下記はオーソライザーの設定内容です。
解決方法
オーソライザーの設定で、ペイロード形式のバージョン
を設定する箇所があるのですが、そこを2.0ではなく、1.0にする必要がありました。
マニュアルにも「REST API との互換性が必要な場合は、 version 1.0を使用してください 。
」という記載がありました。
設定の適用に10~20秒かかります。
設定を適用してしばらく時間を置いてからリクエストを送信したところ、200レスポンスが返ってくるようになりました。