1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【メモ】SAMのLambdaの記述

Posted at

前提

Runtimeはpythonを指定。
今回使用したキー情報のみを記述。

記述例

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
    # S3 Buckets
    BucketName:
        Type: AWS::S3::Bucket
        
    # Lambda Functions
    FunctionName:
        Type: AWS::Serverless::Function # Serverless::FunctionがLambdaのこと
        Properties:
            Handler: app.handler #ここはファイル名.メソッド名で記述する。pythonの場合、app.pyのhandler関数を呼び出すということになる
            Runtime: python3.11 
            CodeUri: ./test/ # 実行ファイルがあるパス
    Policies:
        # S3へのアップロードが必要であれば「S3CrudPolicy」のような記述をする。
    Environment:
        Variables:
            # 環境変数をセットする場合、ここに記述する。その際に「!Ref [インんスタンス名]」のように変数を格納できる。

所感

  • 他にもmemory等の設定も記述できるため、コンソールで行うのと同じように様々な設定ができることが便利。
  • pythonの場合、requirements.txtが実行スクリプトファイルと同じ階層にありそ子にライブラリを追加することで簡単にLambdaの実行環境が作れるように感じた。Layer追加やECRを使用したコンテナLambdaのよリも楽に設定できる。
    • ライブラリの容量が少ない場合に適しており、ライブラリの容量が大きい場合やライブラリの使用にあたり様々なモジュールがimportされる場合はLayer・コンテナLambdaを使用した方が良い印象。

参考

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?