これは、なにをしたくて書いたもの?
Powertools for AWS LambdaのPythonをちょっと扱ってみようかなと思ったのですが、その前にPowertools for AWS Lambda自体について
1度見ておこうかなと思いまして。
Powertools for AWS Lambda
Powertools for AWSのGitHub organizationはこちらです。
この中にPowertools for AWS Lambdaのリポジトリーが含まれています。
Powertools for AWS LambdaはAWS Lambda向けのライブラリーで、以下のような機能をサポートしています。
Simplifying serverless best practices with Lambda Powertools | AWS Open Source Blog
構造化ログに関しては、ランタイムによってはAWS Lambdaがサポートするようになっています。
AWS Lambda の高度なログ制御機能のご紹介 | Amazon Web Services ブログ
Lambda 関数の高度なログ記録コントロールの設定 - AWS Lambda
現時点でPython、TypeScript、Java、.NET向けのライブラリーがあり、各言語向けのもので実装されている機能が異なるので個別に
確認が必要ですね。
提供形態としては以下のパターンがあるようです。
- 各言語向けのライブラリー(pip、npm、Apache Maven、NuGet)
- Lambdaレイヤー
- Python、TypeScriptのみ
- Serverless Application Repository(SAR)
- Pythonのみ
Homepage - Powertools for AWS Lambda (Python)
TypeScript。
Homepage - Powertools for AWS Lambda (TypeScript)
Java。
Homepage - Powertools for AWS Lambda (Java)
.NET。
Powertools for AWS Lambda (.NET) - Powertools for AWS Lambda (.NET)
ちなみに、AWS CDKを使ってLambdaレイヤーを作成するためのカスタムコンストラクトもあります。
GitHub - aws-powertools/powertools-lambda-layer-cdk
ざっくりとした内容把握ですが、AWS Lambdaを使う時にはこちらに欲しい機能がすでに実装済みでないか確認した方がいいんでしょうね。