prismaによるDBへの登録処理の構築
Typescriptを利用しているのでprismaを使って DB(mysql)へ個人情報を登録するロジックです。
Lambdaでprismaを使う場合、Lambda関数にPrismaモジュールを一緒にデプロイする方法とLambdaLayerを使ってprismaを別レイヤーにアップロードする方法があります。
Lambda関数にPrismaモジュールを含めてしまうと結構な容量になるので工夫が必要です。
また、何も考えずにLambda関数をデプロイすると、schema.prismaファイルが見つからないとかprisma generate
を実行してくださいなどのエラーが発生します。
これはprismaモジュールを動かすために以下もデプロイファイルに含める必要があるためです。
- Prisma Engine
- Prisma Schema
Lambda関数デプロイ時にPrismaモジュールを含める方法は以下の記事が参考になります。
AWS CDKを使ってLambdaLayerを作成する方法
CDKでprismaのLambdaLayerを作成する場合は詳しい方法は以下のサイト(英語)に書かれています。
Serverless Frameworkを使って作成する方法
Prismaの公式サイトではServerlessFrameworkを利用する方法が紹介されています。
Amplifyを利用する方法
Amplifyを利用してamplify add functionでLambdaLayerを作成し、そこにprismaのインストールを行う方法です。
prisma及びLambdaLayerについての知識が必要になります。
まとめ
現在は、複数のLambda関数から同じDBに接続する用件がないため、Lambdaレイヤーの利用までは至っていませんが、そのうち必要になりそうですのでその際にはこれらの情報を参考にしたいと思います。