AWS API GatewayのHTTP APIの最小サンプルを AWS SAMで。
もとはSAMのhello worldテンプレートで(Python 3.9)、 変更したのは
- AWS::Serverless::Function の Events の Type を Api から HttpApi へ変更
- Outputs の HelloWorldApi の
- ServerlessRestApi を ServerlessHttpApi へ変更
- /Prod を削除 (ステージがデフォルト1個しかないみたい)。
- 最後の/を削除
デプロイは普通に
sam build && sam deploy --guided
で。
HelloWorldFunction may not have authorization defined, Is this okay? [y/N]:
だけ y
で(次のバージョンでJWTオーソライザーをつける予定)、
他はデフォルトで。
HTTP APIをサポートしていないリージョンがある(大阪とか)。
AWSコンソールのスタックのリソースの AWS::ApiGatewayV2::Api からのリンクが壊れている。 Lambdaのほうから回れば行ける。
レスポンスのContent-Typeが text/plain 。REST APIのほうはMIMEがJSONだったような気がする。