【要約】GWのノリで始めたS3×Lambda×DynamoDBサーバーレスアプリ開発(途中) [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
[WARN: Partial Data] 開発途中の記事であるため
// Problem
開発者が給与明細の転記作業を自動化する過程で、開発環境と実行環境の乖離に直面した。具体的には以下の問題が発生した。
- ・Mac環境で作成したパッケージがLambda(Linux)で動作しない。
- ・重いライブラリを含むZIPファイルのデプロイに時間がかかる。
- ・Lambdaの実行時間制限やDynamoDBの型定義によるエラーが発生する。
// Approach
開発者がコストと運用負荷を最小化するため、サーバーレス技術とコンテナを活用した。以下の手法で課題を解決している。
- ・Lambdaを採用し、実行時のみ課金される仕組みを構築。
- ・Dockerを用いてLambdaと同じAmazon Linux環境でビルドを実施。
- ・Lambdaレイヤーを利用し、コードと依存ライブラリを分離。
- ・pdfplumberと正規表現を用いてPDFから特定項目を抽出。
// Result
開発者がPDFアップロードからデータベース保存までの自動化に成功した。以下の成果が得られている。
- ・S3へのアップロードをトリガーとした自動処理を実現。
- ・DynamoDBへの構造化データ保存を完了。
- ・今後はGitHub ActionsによるCI/CD構築を目指す。
Senior Engineer Insight
> 個人開発としては極めて合理的かつ筋の良い構成である。特にDockerによる環境差異の吸収や、Lambdaレイヤーによるデプロイ高速化の知見は実戦的だ。ただし、正規表現によるPDF解析はレイアウト変更に極めて脆弱である。商用環境では、より堅牢な解析エンジンや、スキーマ管理の検討が不可欠となる。