理系学生日記

おまえはいつまで学生気分なのか

lambda

Serverless Frameworkで残り続けるLambdaのバージョン数を制限する

AWS Lambdaにおけるストレージのクォータ AWS Lambdaにはバージョンという概念が存在しており、Lambda上で過去のバージョンを管理できます。 また、管理されるバージョンに対して、エイリアスも定義できます。 Lambda関数のバージョン Lambda関数のエイリア…

Serverless FrameworkでLambda関数を個別にパッケージングする

最近、Lambda関数はServerless Frameworkで管理することが多くなってきました。 Serverless Frameworkでは、一般に「Service」という単位で複数のLambda関数を管理します。 Serverless Framework Services デプロイ自体も、このService単位で行います。 # Se…

Serverless Frameworkのコマンド実行時にフックして他のコマンドを実行するserverless-scriptable-plugin

Serverless Frameworkの各種コマンド実行をフックし、任意の処理を挟み込む方法を紹介します。 背景 大量のLambda関数を管理するためにServerless Frameworkを利用しています。 ここで、問題が発生しました。 Prismaを利用したLambda関数をWindowsからデプロ…

Lambda関数の共通処理のためにTypeScriptでmiddyのミドルウェアを書く

最近ようやく重い腰を上げてTypeScriptでプログラムを書き始めました。 一方で、Lambda関数を多く書く必要も生じてきていて、その結果としてLambda関数で使い回す処理は共通化したくなってきます。 これを目的として、Lambda関数用のミドルウェアエンジンで…

Lambda関数でPrismaを利用するときのTips

Lambda関数からRDSを利用する必要が生じ、次世代のO/Rマッパと称されるPrismaを利用することにしました。 Lambda関数自体は、Serverless Frameworkで管理しています。 本エントリでは、Serverless Framework + Prisma + Lambdaの構成におけるノウハウを記述…

Puppetterを使ったアプリをコンテナ化してLambdaにデプロイする

ChromeやChromiumをNode.jsから操作できるライブラリとしてPuppetterがあります。 これを使うと、Chromeでできるさまざまな事柄が自動化できます。 一方で、PuppetterはChromeを内蔵しており、Lambda関数化したとしてもそのサイズは非常に大きくなります。 L…