AWSのLambda Layersは、ライブラリ、カスタムランタイム、またはその他の依存関係を含むZIPアーカイブです。Lambda Layersを使用すると、Lambdaのソースコードの量を減らすことができ、各Lambdaごとにモジュールをアップロードする手間が省けます。
Lambda Layersにアップロードされたモジュールは、/opt
の領域に展開されます。したがって、指定されたディレクトリにPythonモジュールを格納してアップロードすることで、Lambdaを実行した際にモジュールとして自動的に読み込むことができます。
# Pythonモジュールの例
from datetime import datetime, timedelta
import boto3
# Method
def today():
dateJST = datetime.today() + timedelta(hours=9)
return dateJST.strftime("%F")
def days_after(days_after_number):
dateJST = datetime.today() + timedelta(hours=9)
days_after_JST = dateJST + timedelta(days=days_after_number)
return days_after_JST.strftime("%F")
# Table
dynamodb = boto3.resource('dynamodb')
dynamodb_table = dynamodb.Table("users")
# Constant
TYPE = 'all'
このように、Lambda Layersを活用することで、コードの共有と責任の分離を促進し、ビジネスロジックの記述をより迅速に繰り返すことができます。上手く活用していきましょう。.