はじめに
レイヤーを使うLambdaを、cdk(python)で作成したいことってありますよね。
そのとき、ちょっとはまったので共有します。
内容
cdkでの文法などは
https://medium.com/geekculture/deploying-aws-lambda-layers-with-python-8b15e24bdad2
ここなど参考にどうぞ。
問題は、cdkで作成したディレクトリ直下に配置するlayerを格納するディレクトリ(ここではlambda-layersとします)についてです。
一般的にLambdaのレイヤーには、zipで固めたファイルをインポートしますが、zip化はcdkがやってくれるのでやる必要はありません!というよりむしろ、やってはいけません!!
(これをやってしまい、エラーが発生していました・・・)
lambda-layersにいる状態で
$ mkdir python
$ pip install -t python requests
これでOKです。安心して、cdk deployしましょう(裏でcdk君がzip化してくれます)。
ちなみに、lambdaのレイヤーを作るときのお作法として、pythonというディレクトリは固定だそうです。