ServerlessFrameworkでTypeScript(lambda)開発

ServerlessFrameworkでTypeScript(lambda)開発

前提

項目 バージョン
sls 3.30.1
node v18.16.0
npm 9.5.1
aws cli aws-cli/1.22.34 Python/3.10.6 Linux/5.10.16.3-microsoft-standard-WSL2 botocore/1.23.34

プロジェクト作成

slsコマンドでTypeScriptのプロジェクト作成します。

$ sls create -t aws-nodejs-typescript -n hoge -p slstest
$ cd slstest
$ npm i

sls createコマンドのオプションの意味です。

オプション 意味
-t テンプレート名
-n サービス名
-p サービスを作成するためのパス

プロジェクト作成されます。

ServerlessFrameworkでTypeScript(lambda)開発

nodeだとserverless.ymlだったのですが、tsだとserverless.tsになるようです。

デプロイ

sls deployでデプロイします。

$ sls deploy
Running "serverless" from node_modules

Deploying hoge to stage dev (us-east-1)

✔ Service deployed to stack hoge-dev (122s)

endpoint: POST - https://ktzlfmcx0h.execute-api.us-east-1.amazonaws.com/dev/hello
functions:
  hello: hoge-dev-hello (12 kB)

Monitor all your API routes with Serverless Console: run "serverless --console"

Lambda削除

serverless removeコマンドでスタック削除してlambdaを削除します。

ローカル実行

ローカル実行します。

$ sls invoke local -f hello -p src/functions/hello/mock.json
Running "serverless" from node_modules
{
    "statusCode": 200,
    "body": "{\"message\":\"Hello Frederic, welcome to the exciting Serverless world!\",\"event\":{\"headers\":{\"Content-Type\":\"application/json\"},\"body\":{\"name\":\"Frederic\"},\"rawBody\":\"{\\\"name\\\": \\\"Frederic\\\"}\"}}"
}

sls invoke localコマンドのオプションの意味です。

オプション 意味
-f ファンクション名
-p インプットファイルとなるjson or yamlファイルのパス

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました