LoginSignup
1
0

More than 1 year has passed since last update.

SAM init 時の template を調べてたら、AWS Lambda Powertools for TypeScript が見つかった

Posted at

背景

SAM で TypeScript 環境を構築する為の備忘録の一環

TypeScript 環境の構築もしたことがないので、Template を参考にしようとした際に、
そもそも、Template ってどうやって調べるんだって悩んでたので

AWS Lambda Powertools for TypeScript 用の template もあったので、時間があれば試したいところ・・

前提

以下に Template が格納されている

で、runtime 毎に以下のようにフォルダ分けされている
image.png

また、manifest.json として、以下のように、Template 名と、それらのフォルダの関係性を定義されている。
※今回は v2 無しで検索

image.png

各フォルダに降りていくと、以下のように sam init の呼び方も書いてくれてるので、使うときはコピペでOK

image.png

結論

  1. 最初に、manifest.json or v2 を開いて、"typescript" を検索して、directory をメモ
    image.png
     typescript 検索は、以下二点。
    • nodejs14.x/cookiecutter-aws-sam-hello-typescript-nodejs
    • nodejs12.x/cookiecutter-typescript-app-template
  2. runtime 部分は無視した名前で、欲しい runtime フォルダを見に行くと、以下のように見つかる
    • nodejs18.x/cookiecutter-aws-sam-hello-typescript-nodejs
      14/16/18 にも存在
      image.png
    • nodejs12.x/cookiecutter-typescript-app-template のみ
      image.png

最初からフォルダにいって、typescript で検索したほうが早かったんじゃないかというオチが・・

あとがき

結局、typescript の template としては以下3つだったので、これを元に進めていこう
Powertools はちょっと後回しになりそうだけど・・

sam init 例。appTemplate を置き換えて
sam init --app-template hello-world-powertools-typescript --package-type Zip
displayName appTemplate 補足
Hello World Example TypeScript hello-world-typescript 単純に Hello World
Hello World Example TypeScript w/ Lambda Powertools hello-world-powertools-typescript Lambda Powertools for typescript
Quick Start: App Backend using TypeScript quick-start-typescript-app

powertools との差は以下ぐらいで、handler にて Metrics/Logger/tracer の使い方が入ってました。
image.png
app.ts の差分(抜粋)
image.png

AWS Lambda Powertools for TypeScript

Python/Java で好評な Powertools の TypeScript 版らしいですね

AWS Lambda Powertools for TypeScript の一般提供が開始されます。これは、Well-Architected Serverless のベストプラクティスを Lambda 関数に可能な限り簡単かつ高速に組み込むための、オープンソースのデベロッパーライブラリです。

以下辺りで

1
0
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
0