💬
SAMでlmabda生成する際にアーティファクトをコンテナイメージにする方法
lmabdaを生成する際に、コンテナイメージと.zip ファイルアーカイブの2種類存在します。
SAM環境で、コンテナイメージを利用してLambdaを生成する例を紹介します。
ディレクトリ構成:
/sample
Dockerfile
template.yaml
samconfig.toml
Dockerfileにビルド環境が記述されています。
本来であればアプリケーションのソースコードのディレクトリなどもあると思います。
Dockerfile内部でアプリケーションのソースコードなどもCOPYなどでビルド時にイメージに取り込む想定です。
SAM template.yaml
MetadataとPropertiesのPackageTypeをコンテナイメージ用に設定してあげます。
SampleFunction:
Type: AWS::Serverless::Function
Metadata:
BuildMethod: docker
DockerContext: ./sample
Dockerfile: Dockerfile
Properties:
PackageType: Image
Discussion