LoginSignup
1
0

More than 1 year has passed since last update.

言語はtypescript.CDKでLambda Layers の設定をする

Last updated at Posted at 2021-07-27

やりたいこと

 CDK でAPIを作成しており、axiosを使ってAPIを叩けるようにしたい。
ただ axios は lambda の中に用意されていないライブラリなのでインポートする必要がある。

Lambda layers とは

Lambda で利用するライブラリを保存して利用可能にしてくれる AWS のサービスである。
これを活用することで axios が Lambda でも利用可能になる
他にもaxiosをLambdaで使う方法があるけどこれが便利

使い方

まずは Lambda Layer に保存するライブラリの保存箇所を作成する必要があります。
通常利用しているプロジェクトからlayer/nodejsというディレクトリを作成し、そこにパッケージを一通り定義して保存します。


mkdir layer
cd layer
mkdir nodejs
cd nodejs

layer/nodejsに移動したらyarn init をしてプロジェクトを作成。そこでライブラリをインストールして保存します。

yarn init
yarn add --dev axios

その後Lambda関数のインスタンス化をしている箇所でlayersを定義。Lambda関数を作成します。
そうするとLambda関数でインストールしたライブラリが利用可能になります。


const func = new lambda.Function(context ,functionName, {
   functionName: functionName,
   runtime: lambda.Runtime.NODEJS_12_X,

   // 下記追加
   layers: [nodeModulesLayer],
 });

最後に

Youtubeチャンネルはじめてました!
エンジニアの姿は十人十色。
今後も色んなエンジニア像を捉えて、それを目指す人たちの参考になる動画を作っています。

あと、プログラミングもメンタで教えているので興味があったらみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0