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 | サービスを作成するためのパス |
プロジェクト作成されます。
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ファイルのパス |
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント