LoginSignup
1
1

More than 3 years have passed since last update.

aws-sam-cliを使いローカル環境でLambda Functionの動作確認

Last updated at Posted at 2020-04-02

SAMについては以下のドキュメント等読んでください

AWS サーバーレスアプリケーションモデル - アマゾン ウェブ サービス

インストール

$ brew tap aws/tap
$ brew install aws-sam-cli

なお、すでに環境ができているものとします。
parcelを使ったTypeScript+AWS Lambdaについては以下の記事を見てください。

parcel v2を使ってTypeScriptで書いたAWS Lambdaをビルドする - Qiita

SAMのtemplateを用意します。
基本的には、AWS CloudFormation 構文なので詰まったらこのキーワードで調べるといいでしょう。

template.yml

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Run AWS Lambda
Resources:
  Main:
    Type: AWS::Serverless::Function
    Properties:
      Handler: dest/bundle.handler
      Runtime: nodejs12.x
      Environment:
        Variables:
          GITHUB_TOKEN:
            Type: String

環境変数は、template.ymlに直接書かずに別に定義するといいでしょう。その場合も、テンプレートにどのキーを使うかについては記述が必要になります。

env.json

{
  "Main": {
    "GITHUB_TOKEN": "1234567890...."
  }
}

イベントをjsonで用意します。

events.json

{
  "body": "hello"
}

-nで環境変数、-eでイベントを与えてやればローカル環境でLambda関数がテストできます。

sam local invoke Main -n env.json -e events.json
1
1
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
1