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を活用することで、コードの共有と責任の分離を促進し、ビジネスロジックの記述をより迅速に繰り返すことができます。上手く活用していきましょう。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です