初めに
AWSの初心者向けハンズオン「AWS SAM を使ってテンプレートからサーバーレスな環境を構築する 」において、Cloud9を使用したソースのデプロイがあったが、全く成功せずかなりの時間を要してしまった。やっと原因を見つけることができたので備忘録として残しておく。
現象
Cloud9を使用したソースのデプロイで失敗。CloudFormationからイベントログを確認すると、CREATE_FAILEDというステータスが存在していた。
さらにログを読んで(Chatgptに読んでもらって)原因が判明した。
原因
qiita.rbtemplate.yaml
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS Hands-on for Beginners - Serverless 2
Resources:
TranslateLambda:
Type: AWS::Serverless::Function
Properties:
FunctionName: translate-function-2
CodeUri: ./translate-function
Handler: translate-function.lambda_handler
Runtime: python3.7
Timeout: 5
MemorySize: 256
Policies:
- TranslateFullAccess
上記はハンズオンで使用したソースだが、Runtimeのところに着目してほしい。
python3.7とあるが、これは既にサポ―トされていないバージョンだった。正しくはpython3.12であり、そのように直すとエラーが消えデプロイができた。
最後に
このエラーで2時間近く潰してしまった。最終的にchatgptにエラーを読みこませて解決できたが、まずはソースを見返した際に気づくべきだった。そして時間をかけすぎた。反省