ダメ元エンジニアのお勉強おメモ

ほとんど自分用のメモです。AWS をよく触ります。Web アプリとか作ります。Raspberry Pi も好きです。

AWS Lambda

AWS Lambda の呼び出しタイプを軽く整理する

概要 AWS Lambda を CLI 等で直接呼び出す機会ってそこまで無いため、呼び出しタイプをあまり意識してこなかった。ちょっと軽く整理しておこうと思う。 docs.aws.amazon.com dev.classmethod.jp qiita.com 種類 RequestResponse デフォルトの呼び出しタイプ…

AWS CLI v2 で Lambda を Invoke する場合は、ペイロードを base64 エンコードをしてから送信する必要がある

概要 dev.classmethod.jp 例としては下記のような感じ。 $ aws lambda invoke \ --function-name <FUNCTION_NAME> \ --payload $(echo '{ "foo": "bar" }' | base64) \ response.json</function_name>

AWS Lambda のテストイベントでテンプレートを保存しても他の IAM ユーザーと共有されない

結論 タイトルのまま。Lambda のテストイベントでテンプレートを作成 & 保存しても、それはアカウント全体で共有できるわけではないみたい。 だから、CDK とかでテストイベントのテンプレートを作成できないのか。なるほど。 業務上、Lambda でツールっぽい…

【AWS CDK】Lambda 作成と同時にロググループも作成する方法

環境 $ cdk version 1.102.0 (build a75d52f) 結論 logRetention の設定を付けてあげるとロググループも作成してくれる。 new lambda.Function( this, 'HelloFunction', { code: lambda.AssetCode.fromAsset('dist/hello'), functionName: 'hello', handler:…

Lambda が実行されているリージョンを知りたい時は勝手に作られる環境変数「AWS_REGION」を使えば良い

結論 東京リージョンでデプロイした Lambda で下記を実行するとap-northeast-1が出力される。恥ずかしながら知らんかった。 console.log("region:", process.env.AWS_REGION); // region: ap-northeast-1 他に予約されている環境変数は下記を参照。 docs.aws…

API Gateway + Lambda で構築した REST API がタイムアウトを起こした場合のステータスコードは 502 と 504 のケースがある

概要 API Gateway と Lambda のタイムアウト秒数の関係により、502 or 504 が決まるみたい。 502 になるケース API Gateway のタイムアウト秒数 > Lambda のタイムアウト秒数の場合に 502 エラーとなる。 例えば、API Gateway のタイムアウトが29秒、Lambda …