【AWS】SAM-CLIでサーバーレスアプリケーション① - プロジェクトの作成とローカルでテスト実行 -
AWSでサーバーレスアプリケーション(SAMアプリケーション)を開発する際の手順をまとめます。 はじめに サーバーレスアプリケーションとは バックグラウンドで処理をするアプリケーション(いわゆるLambda関数) SAM-CLIとは AWSの提供するクライアント用SAMコマンド(Serverless Application Model - Client) ローカルでサーバーレスアプリケーションの作成やAWSへのデプロイができる また、Dockerと組み合わせればローカルでのテスト実行が可能 公式の詳細は以下 https://aws.amazon.com/jp/serverless/sam/ この記事ではSAM-CLIを使ってLambda関数をローカルで実行する手順を紹介します。 実装 プロジェクト作成 sam init $ sam init 以下のような構成でファイルが作られる。 sam-app/ ├── README.MD ├── event.json ├── hello-world │ └── app.js │ └── package.json │ └── tests │ └── unit │ └── test-handler.js ├── template.yaml ※もちろんオプションによりプロジェクトの細かい設定が可能です。 ※デフォルトで言語はnode.jsが選択されます。(この記事でもnode.jsを使用) 言語の選択 --runtime --runtime [識別子] で言語を選択可能、以下の識別子が利用できます。 名前(言語) → 識別子 Node.js 10(Node.js) → nodejs10.x Node.js 8.10(Node.js) → nodejs8.10 Python 3.6(Python) → python3.6 Python 3.7(Python) → python3.7 Python 2.7(Python) → python2.7 Ruby 2.5(Ruby) → ruby2.5 Java 8(Java) → java8 Go 1.x(Go) → go1.x .NET Core 2.1(C#) → dotnetc